Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for realtime data / authentication #9

Open
nmaas87 opened this issue Apr 12, 2021 · 8 comments
Open

Support for realtime data / authentication #9

nmaas87 opened this issue Apr 12, 2021 · 8 comments

Comments

@nmaas87
Copy link

nmaas87 commented Apr 12, 2021

Dear all,

thanks for providing this plugin. I never really had the chance to implement the 1.0.0 version, however, I played around with 2.0.0 last week and it was a very pleasent experience :)!

However, I really wanted to ask wheter realtime data and authentication are planed to be implemented - first thing would be really useful as Grafana can expand the functionality of Yamcs quite much in regard of longterm / trend analysis over longer periods of time (e.g. watching a data quality graph for whole shift periods to see potential bad periods on downlinks) - second thing is just somewhat of a necessity.

Thank you very much :)

Nico

@fqqb
Copy link
Member

fqqb commented Apr 12, 2021

Hi, thanks for feedback.

We would like both, but currently a few things are more urgent (for example: you can't view aggregate members).

In grafana the realtime option is called 'streaming'. Implementing this for the current-value query type would probably be quite straightforward. I anticipate the difficulty will be more regarding the query types that show past + present.

For authentication, I think you can already do it by configuring basic auth in the datasource settings. That's not the best solution (credentials are attached to every request). I would like token-based auth instead (like our other clients).

@fqqb
Copy link
Member

fqqb commented Apr 12, 2021

And actually Yamcs could use some API token implementation, since the authentication is server-to-server (Grafana -> Yamcs).

@xpromache
Copy link
Member

About the realtime/stream option: if you put it on a 5 seconds refresh rate, there won't be so much difference vs a realtime option.

@nmaas87
Copy link
Author

nmaas87 commented May 25, 2021

@xpromache For (realtime) longterm trend analysis that is right, with the drawback of Grafana pulling the Yamcs database and creating higher than necessary system load. For (realtime) analysis during OPS / visualization of certain parameters, these 5+ seconds refresh rate can be a challenge, regarding the type of OPS :)

@nmaas87
Copy link
Author

nmaas87 commented Jun 22, 2021

Just FYI, Grafana 8.x does allow Real-time streaming via to dashboards via websocket connection
( https://grafana.com/docs/grafana/latest/whatsnew/whats-new-in-v8-0/ / https://grafana.com/docs/grafana/latest/live/ )

@bangpradyumna
Copy link

In grafana the realtime option is called 'streaming'. Implementing this for the current-value query type would probably be quite straightforward. I anticipate the difficulty will be more regarding the query types that show past + present.

@fqqb - Could you provide some pointers on how to add realtime support to current-value query type using streaming ? Also, would love to know if you have any ideas around showing past+present(realtime) data.

Thanks

@fqqb
Copy link
Member

fqqb commented Feb 8, 2023

This has not been worked on. Well, I did look at it a while back but came to the conclusion a significant rewrite of this plugin would be necessary: both a frontend and a backend grafana plugin is required, whereas currently we only use a frontend plugin). Hence, this has been pending.

For clarity: the current implementation does have capability to show both past+present data, except it uses a polling interval to refresh all data (e.g. each 5 sec.). This works, but doesn't scale well.

@xpromache
Copy link
Member

@bangpradyumna if you feel inspired, please have a look at the requirements for the Grafana backend (it has to be developed in Go as far as I understand):

https://grafana.com/docs/grafana/latest/developers/plugins/backend/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants