Giter VIP home page Giter VIP logo

novatec-service-dependency-graph-panel's People

Contributors

alexanderwert avatar arthursens avatar dependabot[bot] avatar fylip97 avatar it-sugar avatar mariomann avatar mariusbrill avatar mariusoe avatar tobiangerstein avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

novatec-service-dependency-graph-panel's Issues

there is no Statistics data for all the nodes

image
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?

[BUG] - Service icon is hidden by baseline symbol

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":
image

Without "Show Baselines":
image

Your Setup:

  • OS Grafana is running on:
  • OS & Browser from which Grafana is accessed: Windows/Chrome
  • Plugin-Version: 3.0
  • Grafana-Version: 7.2.0
  • Datasource & Version:
  • Other:

Additional context
Add any other context about the problem here.

[Feature] - Change unit type for data

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.

Can you publish to Grafana.com please?

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.

[BUG] - Wrong documentation, cannot set example

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.":

image

image

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:

  • OS Grafana is running on: Ubuntu
  • OS & Browser from which Grafana is accessed: Chrome
  • Plugin-Version: 2.3.0
  • Grafana-Version: Grafana CLI version 7.0.0
  • Datasource & Version: Google sheet
  • Other:

Additional context
Add any other context about the problem here.

[BUG] - *Icon-Mapping list is not filled for custom icon mapping *

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

  1. go to custom icon mappings and create icon-mapping.
  2. exit and restart.
  3. go to custom icon mappings. The mapping-list is empty. After clicking to both fields, the mapping list is filled with the config, created in step 1..

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:

  • OS Grafana is running on: SLES 12 + SLES 15
  • OS & Browser from which Grafana is accessed: Windows + Chrome
  • Plugin-Version: 3.0.2
  • Grafana-Version:
  • Datasource & Version: InfluxDB
  • Other:

Additional context
Add any other context about the problem here.

Edge Labels are drawn behind other edges

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()

[BUG] - *Release ZIP has old path .../assets/service_icons included*

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:

  • OS Grafana is running on: SLES 15
  • OS & Browser from which Grafana is accessed: Chrome (latest)
  • Plugin-Version: 4.0.2
  • Grafana-Version: 7.x
  • Datasource & Version:
  • Other:

Additional context
Add any other context about the problem here.

[BUG] - All Node Names (Labels) of Nodes Not Seen Simultaneously In the Service Dependency Graph.

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.
GraphWithNoNodeName

The Query Inspector Data (my table)
TableData
DepedencyGraphTable.xlsx

Expected behavioural Dependency graph with node names.
ExpectedGraph

Your Setup:
OS: Mac OS
Browser : Chrome
Grafana-Version : 7.2.1
Plugin : Service Dependency Graph Visualisation

Please help me with this issue.

[Feature] - Add SBGN Stylesheet

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

Plugin uses legacy platform

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.

[Question] - Graph is blank

Hi all,

I just started using this plugin.
I'm trying to setup a vis but it's not rendering.
Can anyone help me?

my aggregationType is set to app.

my datatable is shown as this:

image

when switching to service map nothing is shown

image

TypeError: Cannot read property 'emit' of undefined

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

[Feature] - CI process with CircleCI or something else

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.

Additional context

Sum statistics are not correct visualized on edges.

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.

Can't create 2 graphs

I created 2 graphs using novatec-service-dependency-graph-panel.
After saving and opening the dashboard, second graph stoped working.

Both graphs are identical, but second displays empty tile. When using +/- on the second graph, the first is zooming too.

graph

[BUG] - Zoom button cuts off labels on right hand side of panel

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:

  • OS & Browser from which Grafana is accessed: Chrome latest

[BUG] - Icon Path for fetching icons is wrong.

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/.....

[BUG] - Sum Timings not working as expected

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.

[Feature] - Remove requirement for "aggregationType" template variable

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.

Current behavior:

  • User has to specify a template variable "aggregationType"
  • User has to specify a prefix for a column

The service graph internally creates the column name for connection mapping by doing the following: <prefix> + <tempalte variable>

Proposed behavior

  • User has to specify the column name directly

Users could specify directly <column_name> or <prefix> + $customVariable

[BUG] - Color scheme does not adopt to white UI theme

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.

Screenshots
Capture

Capture

[Feature] - Visual defaults

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.

Difference between the requests count of a service and its dependencies

My setup:

I am running an app in a Kubernetes cluster. I am using the default service graph panel from here.

The problem:

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:
discovery
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):
database

I can't tell where the additional requests are coming from.

[Question] - How to initial template variable

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?

**Screenshots
image
**

Where and how could we improve the readme?

[Feature] - Dummy data should not rely on the correct column namings

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.

[Question] - "No data to show" when trying out the sample

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)

  1. Set data source as Azure Data Explorer Datasource using there plugin, since I have to get actual data from ADX.
  2. Used KQL to create the Example table in Grafana. Its creating proper table when using 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
    image
  3. Set visualization to Service Dependency Graph and set the following values
    • Target Component Column Prefix as target_
    • Request Rate Column as req_rate
    • Create a new variable for dashboard and name it as aggregationType with type as constant and value as app
      image
  4. After I give Run Query, it shows No data to show - the query returned no data error
    image

Your Setup:

  • OS Grafana is running on: Windows
  • OS & Browser from which Grafana is accessed: Chrome
  • Plugin-Version: 2.3.0 (Small question, why the latest release in Github shows 4.0.2 but in Grafana Plugin website it shows 2.3.0)
  • Grafana-Version: Grafana v7.5.2
  • Datasource & Version: Azure Data Explorer Datasource

[Question] - Zoom out while keeping text labels

Write your question here
Hello. I have around 15-50 nodes in the graph. I want to fit graph in the panel/zoom out to have an overview picture, but text labels are hidden then. Is there a possibility not to hide text labels when zoom out / fit panel?

Screenshots
zoom_in

zoom_out

[Feature] - Save panels layout..

**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.

Zooming with Shift+MouseWheel in Service Graph is not working

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.

[Feature] - Custom Data Mapping names

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.

Data is not displayed

I have a data display problem. I'm created a separate table as in the example, but I don't see the data in the dashboard.

Please help solve the problem.

image
image
image

Preferred way to produce metrics?

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?

[Feature] - *Database connections: Add little icon for DB type*

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

[BUG] - Wrong path used for external 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
Icons for external paths are currently not working since the request to fetch them uses /assets instead of /assets/icons as path.

[Question] - How to send URL variables in backend URL ?

I am trying to use the backend URL in service dependency panel and would like to pass the node name context in the URL as a variable, in screenshot below would like to pass the context of the node IP address in the URL as a variable

image

[Feature] - Rework Rendering engine

Hi all.
I am facing the problem of drawing a large number of nodes on the map. Is it possible to change the rendering mechanism of the elements?

image

Can we call an API in the backend every time we load/refresh the dashboard ?

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.