algenty / grafana-flowcharting

Flowcharting, plugin for Grafana to create complexe visio's draws style like technical architectures, floorplan, diagrams, hierarchical schema based on draw.io
Apache License 2.0
977 stars 149 forks source link

Flowcharting 0.8.0 in progress #145

Closed algenty closed 4 years ago

algenty commented 4 years ago

Here, you can found adding and fix for the next version : Try it and reply issues and suggestions,

[0.8.0 SNAPSHOT] - 2020-04-13

Add

CrashLaker commented 4 years ago

Not enough permissions i guess image

algenty commented 4 years ago

Events Documentation available https://algenty.github.io/flowcharting-repository/EVENTS

algenty commented 4 years ago

New snapshot available

xkilian commented 4 years ago

What changed? i am running the one from 3 days ago. You have a list of items at the top of this issue, maybe you could detail the changes between snapshots there.

algenty commented 4 years ago

only technical changes like link to doc and some optimization. Not visible I forget, new engine and new version for draw.io

xkilian commented 4 years ago

From your example:

You need a percent for you query.
For my test, i use Grafana DB with Min : 0 max : 100

For the first, 2 rectangles, one solide in back, the width never changes (note the size, here 120px) The second on front , with event width, field When : All, field value : ${_value} 1.2 why 1.2? because, size must be 120px (1001,2) when value is 100%

Ok, if I take the same example you prepared with the horizontal status bar. Rotate the shape 90 degrees (to vertical). Try to modify the width, it causes an X axis offset in addition to growing the shape in an unexpected way. Rotating shapes seems to break the height/width changing logic. Can this be a supported use case, or should the documentation reflecting that rotating shapes is a no no.

algenty commented 4 years ago

Hi @xkilian Can u open a new issue for it, i close this chain because 0.8.0 is published

bijwaard commented 4 years ago

Cool animation stuff Arnaud!

I'll try it when I have some time on my hands. Is it hard to add additional shapes such as a clock/dial with multiple arms? Then it would be possible to show the power phasor (i.e. (re)active power) that I now do with the SVG plugin. image

Update: ah, I see there is already a rotating shape, I'll give it a try;-)

Kind regards, Dennis

bijwaard commented 4 years ago

Hi Arnaud, I see you can set a fixed number of degrees for the rotation, would it be possible to use a formula with the actual value of metrics P and Q ? E.g. phi = Math.acos(P /Math.sqrt(P^2+Q^2))/Math.PI*180 ? Kind regards, Dennis

CrashLaker commented 4 years ago

@bijwaard I think for that to work you'd need to create an invisible rectangle with only the arrow visible.

something like image

CrashLaker commented 4 years ago

U'd have something like this: gauge-flowcharting

would need to properly scale the degrees to match the arrow's initial position

bijwaard commented 4 years ago

Hi CrashLaker, Nice work this looks doable, my arrow indeed grows and schrinks and goes 360 degrees. Main problem is the formula with two measurements, since the phasor is a complex number. I may be able to do the calculation of the angle in influxdb as some kind of pseudomeasurement. On the other hand if I could give both X and Y of the arrow instead of the angle, I could directly use the complex number. Kind regards, Dennis

algenty commented 4 years ago

Hi @bijwaard The field value in event mapping section accepts some javascript code See https://algenty.github.io/flowcharting-repository/VARIABLES.html you can enter an expression like (${_value}/MAX) *360 where MAX is the max of counter like 12 for hours, 60 for minuts and seconds, add 90 if 0 like a clock is on the top. 0 = left, 90 = top, 180 = right, 270 = botton

bijwaard commented 4 years ago

Hi Arnaud,

The formulas work great with a single metric value.

Would it be possible to add an Arrow shape (and possibly other shapes) that accept 2 metric values X and Y? These X and Y could then be used to update the end-point of the arrow, the origin can stay fixed, actual arrow end-point would become origin+(X,Y).

Supporting two values could also be used to change height and width of a bar/ellipse/etc. in one rule. Also the position of shapes could be changed this way to move them around the drawing.

Kind regards, Dennis