novatecconsulting / novatec-service-dependency-graph-panel Goto Github PK
View Code? Open in Web Editor NEWA Grafana panel for visualizing a Service Dependency Graph.
License: Apache License 2.0
A Grafana panel for visualizing a Service Dependency Graph.
License: Apache License 2.0
Hi
I use influxdb as data source, the test sql
insert app_relation,app=service1,target_app=service2,protocol=http request-rate-out=100,error-rate-out=10,response-time-out=4303.1,threshold=200
insert app_relation,app=service1,target_app=service3,protocol=http request-rate-out=100,error-rate-out=0,response-time-out=1421.34,threshold=200
insert app_relation,app=service2,target_app=service4,protocol=http request-rate-out=100,error-rate-out=100,response-time-out=421,threshold=200
insert app_relation,app=service3,target_app=service4,protocol=http request-rate-out=100,error-rate-out=50,response-time-out=3222.9,threshold=200
insert app_relation,app=service4,target_app=service5,protocol=http request-rate-out=200,error-rate-out=5,response-time-out=6001.323,threshold=200
But I can not see the static data ,anything wrong?
Describe the bug
The Service Icon is hidden by the baseline symbol (green/red icon)
To Reproduce
Activate the "Show Baselines" setting under "General Settings" and use the default java Icon under "Service Icon Mapping" for an existing service name.
Expected behavior
The Service Icon (f.e the java icon) should be displayed on top of the baseline icon
Screenshots
With "Show Baselines":
Your Setup:
Additional context
Add any other context about the problem here.
Is your feature request related to a problem? Please describe.
It seems that response time is hardcoded to be ms. I'm making a graph where seconds would be more appropriate.
Describe the solution you'd like
Option to choose unit type. Even if multiplying the seconds value by 1000, it defaults to minutes. In our case, I think it's more preferable to show something like 90 sec rather than 1.5 min.
The datav.dev Projekt (grafana fork) shows the SDG on its example screenshots
https://github.com/opendatav/datav
Any chance to make this plugin compatible with the Prometheus data source?
Is it possible to get this pubished to Grafana.com please? Would make it a lot easier to install and update and will increase the audience for the plugin as it looks really good.
Please provide as much and as detailed information as possible as it will make it easier for us to reproduce and fix the bug!
Describe the bug
The documentation at https://grafana.com/grafana/plugins/novatec-sdg-panel/ instructs that "aggregationType template variable is provided and set to app" and as such it is displayed at config image. However, when setting the example in grafana there is no aggregationType field and grafana gives error "Please provide a 'aggregationType' template variable.":
Please update the page so it can be used to create working example. It is the only source how to learn to use your plugin. Thank you.
To Reproduce
A clear and concise description of how to reproduce the bug.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Your Setup:
Additional context
Add any other context about the problem here.
Please provide as much and as detailed information as possible as it will make it easier for us to reproduce and fix the bug!
Describe the bug
If one is set custom icon mappings, th icon-mapping list is not filled until you click on both fields. After that the list is filled, as configured.
To Reproduce
Looks like, DataV has solved this Problem. But i'am not a JS developer to approve this .
opendatav/datav: fix bug when set icon mapping for dependecy graph
Expected behavior
Icon mapping list should be filled, if configured.
Screenshots
no screenshot for now. will fellow, after be back in office
Your Setup:
Additional context
Add any other context about the problem here.
At the moment, it can happen that edges overlap with the edge-labels of other edges.
The drawing algorithm seems to do the following:
for each edge:
drawEdge()
drawLabel()
In my opinion, the labels should always be in the foreground and not accidentally overlapped by other edges.
This means we should isntead use the following algorithm:
for each edge:
drawEdge()
for each edge:
drawLabel()
Describe the bug
In the release Zip-File there are the OLD icon-path ".../assets/service_incons/..." with the file "icon_index.json" included.
There are duplicate Files for the external icons in the "..../assets/" Folder.
Both could be excluded. Only the files under "..../assets/icons/..." are needed any more.
To Reproduce
Unzip the release File and look at the folder
Expected behavior
Only the needed files under ".../assets/icons/.." are included.
Screenshots
If applicable, add screenshots to help explain your problem.
Your Setup:
Additional context
Add any other context about the problem here.
Describe the bug -
The names of the nodes and it's details are not getting displayed in the graph without clicking on the nodes.
I chose visualisation as "Service Dependency Graph". Screenshot of the graph with only dots (nodes) and no description is attached here. I can see the tabular data in my query inspector data. I want node names to be seen simultaneously for all the nodes. Right now I have to click on individual nodes one by one to see the node name and description of the node (only that node is seen, on at a time.)
To Reproduce - The Query Inspector Data (my table) is attached here to reproduce this scenario.
Please provide as much and as detailed information as possible as it will make it easier for us to reproduce and fix the bug!
Expected behavior -
All node names should appear when the graph is generated. Instead we have to click on each node to see the name and description of node which is not the expected behaviour. Screenshot of expected behaviour is attached here.
Screenshots -
The graph with only dots (nodes) and no description.
The Query Inspector Data (my table)
DepedencyGraphTable.xlsx
Expected behavioural Dependency graph with node names.
Your Setup:
OS: Mac OS
Browser : Chrome
Grafana-Version : 7.2.1
Plugin : Service Dependency Graph Visualisation
Please help me with this issue.
Write your question here
Is there a possibility to manage text label styles? For example, font color and background color?
Is your feature request related to a problem? Please describe.
Currently node groups can only be determined by naming or by grouping them. By using the SBGN Stylesheet we could provide a way of grouping nodes by tages provided in the data source.
Describe the solution you'd like
Introducing a new mapping-field in the configuration, i.e. group tag could provide a way to define which nodes should be grouped together.
Additional context
Github page Live Demo
Grafana 7.0 introduced a new plugin platform based on ReactJS. We want to migrate this plugin to the new platform.
All related stuff will be related in this issue.
TypeError: Cannot read property 'emit' of undefined
i got error when build these plugin via yarn build
on grafana 7.2.0
An unexpected error happened
Details
TypeError: Cannot read property 'emit' of undefined
in t
in x
in to
in div
in div
in t
in t
in div
in Mo
in div
in div
in vo
in div
in t
in div
in t
in div
in div
in t
in x
in div
in t
in x
in r
in Unknown
in t
in Unknown
in h
in Unknown
in Unknown
in t
in t
in l
Is your feature request related to a problem? Please describe.
Yes. We need an automatic build pipeline.
*Describe the solution you'd like
We need an automatic build pipeline.
Describe alternatives you've considered
Manually build.
When using the "Handle Timings as Sum" option, only the statistics shown at the nodes are correclty calculated. The statistics shown on the edges are not considered as sum statistics which causes huge numbers of wrong statistics.
Describe the bug
Zoom in doesn't appear to account for labels. It makes the nodes fit nicely, but the nodes on the right hand size end up with their text labels being cut off.
To Reproduce
Zoom in while having nodes near right hand side of the panel.
Expected behavior
Zoom out a little further, or change the placement of the labels to be on the left hand side of the node when they do not fully fit on the panel.
Your Setup:
Please provide as much and as detailed information as possible as it will make it easier for us to reproduce and fix the bug!
Describe the bug
Currently the path to fetch internal icons is plugins/novatec-sdg-panel/assets/icons/icons/.....
. However, the correct path would be plugins/novatec-sdg-panel/assets/icons/.....
Please provide as much and as detailed information as possible as it will make it easier for us to reproduce and fix the bug!
Describe the bug
The sumTimings option is working the opposite way of intended. Currently when deactivated, the timings are handled as sums and vice versa.
Currently, the SDG panel require a template variable "aggregationType" which is used for determining the source
and target
columns. This requirement can be quite confusing for users when setting up the panel. Especially, if the user's data does not provide multiple aggregation levels, this option doesn't provide added value.
It would be easier and less complex when removing the need for the template variable and change the "prefix" option so that a user does not have to specify the prefix for e.g. the target column, but directly the full name of it. In addition, this option should be able to resolve template variable. Doing this, the same functionallity could be achieved as before.
The service graph internally creates the column name for connection mapping by doing the following: <prefix> + <tempalte variable>
Users could specify directly <column_name>
or <prefix> + $customVariable
Please provide as much and as detailed information as possible as it will make it easier for us to reproduce and fix the bug!
Describe the bug
The current styling of the dashboard does not match the light UI theme of grafana.
To Reproduce
Add the panel and turn the theme in the preferences section to white.
Expected behavior
At least the fillings of the nodes should too be white so they look too like donuts. Maybe also the font color should be changed from light blue to something else to increase readability. The same applies to the node statistics window.
Hey,
Is there any option to add elastic as a data source in the future??
Also what are the data sources currently supported?
Describe the solution you'd like
The default view appears awkward with my setup, but pressing the org chart looking button fixes it. I'd like the ability to set this view as default. Also being able to have the play button turned on by default would be nice too.
Please provide as much and as detailed information as possible as it will make it easier for us to reproduce and fix the bug!
Describe the bug
The Field Response Time Health (Upper Baseline)
is currently missing in the node statistics.
I am running an app in a Kubernetes cluster. I am using the default service graph panel from here.
The requests count of the discovery server service is higher than the sum of the requests on the dependencies leading to the service. The picture below shows a difference of 92-86=6 requests:
The difference stays the same no matter how the count values are changing.
The same happens with the requests count of the database (43-39=4):
I can't tell where the additional requests are coming from.
i've initialized the variable with template type = "constant", and also define value as "app" follows the sample but the graph panel still shows as "Please provide a 'aggregationType' template variable."
can you please suggest if additional configure is required?
Where and how could we improve the readme?
Is your feature request related to a problem? Please describe.
Currently it is mandatory for the dummy data to work that Request Rate column aswell as the Response Rate column are named "in_count" and "out_count".
Describe the solution you'd like
The internal variables should default to "in_count" and "out_count" when dummy data is activated.
Write your question here
I am trying out the Example 1 provided in the docs. I am getting No data to show - the query returned no data
error. I think this is a mistake from my part rather than a bug, so I raised this issue as question.
Steps I followed
Below steps are done in latest version in Grafana Plugin website (2.3.0)
Azure Data Explorer Datasource
using there plugin, since I have to get actual data from ADX.Table
visualization.
let T = datatable(app:string, target_app:string, req_rate:int)
[
"service a", "service b", 50,
"service a", "service c", 75,
"service c", "service d", 25,
];
T
Run Query
, it shows No data to show - the query returned no data
errorYour Setup:
**Is your feature request related to a problem?
I want to have a general overview of all our services with rather 100 of nodes than 10. Since the auto-layouter creates rather random pictures every time, it is hard to keep track.
Describe the solution you'd like
Would like to have a "save current layout" function, to keep a layout if it has been manual re-odered.
Describe alternatives you've considered
Maybe there is a chance to have a more meaningful auto layout? Taking additional props into account like "namespace", keeping similar things together, reducing connection crossing more properly.
This feature is described in the Readme: "You can zoom in and out of the SDG by using the mouse wheel while the SHIFT key is pressed.". However this seems not to be implemented or working correctly. The buttons for zooming in and out are working as intended.
Is your feature request related to a problem? Please describe.
It would be nice to have custom data mapping labels
Describe the solution you'd like
Ability to define custom label names. As a generic example, one label might be something like "API hit rate", whereas another on the same panel might be "Packets per second". It would make the data easier to understand rather than just having a generic "Request Rate" label for everything.
Describe alternatives you've considered
Just using the generic label.
What is your preferred way to produce the appropriate metrics for the panel (e.g. source... target...)? Do you have some kind of library or the like to plug into services?
The service graph should support that metrics can specify both external and internal dependencies, e.g. the "origin_service" and "origin_external".
In case both elements are existing, the external one should be prioritized.
Is your feature request related to a problem? Please describe.
Add a little extra icon to DBs icon, that indecates the DB type/creator (is it MySQL; MS SQL; DB2 PGSQL; aso).
Describe the solution you'd like
Mapping-Table like the custom-icon mapping for DB type
Additional context
Please provide as much and as detailed information as possible as it will make it easier for us to reproduce and fix the bug!
Describe the bug
Icons for external paths are currently not working since the request to fetch them uses /assets instead of /assets/icons as path.
When an inbound conenction is registered with "origin_external" set but without "origin_service", it seems like the "type" is ignored and it always shows the default "external service" icon.
Is that is there any way to call an API in the backend while loading/reloading the Service Dependancy Graph (SDG) Plugin ?
So we are working on a small solution project that involves developing a configuration of data flow within our system. We wished to use the plugin for dynamically putting up the SDG based on data from influx database.
But what we want is for us to be able to call an API in the backend at every reload/refresh of the dashboard page, so that if there's any change in the data flow configuration, the API will push the data to influx and we could fetch the latest configuration from there.
**So our main question **
I don't have any screenshots as of now. But if you think there's no such feature as of now, I'd be willing to raise a feature request if you guys are having the time to do the same.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.