Realistically, what is the lowest refresh rate?

What is the lowest refresh value for panels? Is it realistic to have a panel refreshed, say, 10 times a second?

I’m very new to Grafana (which was recommended on another forum), and still finding my way through it. There is a lot of documentation (which is great), but I’m not sure if I can achieve with Grafana what I need.

A data source produces a small number (50) of values, each value could be from a set of 3 - say, 50 traffic lights. The source will be producing values at rate of 50Hz, but 10Hz could do at this stage.

I need to display these values (traffic lights) in a browser in real-time, with at least 10 updates per second, of course, without pressing “refresh” on the browser. Is this the right tool for that?

Background - I know some C/C++ (from a while ago) and did some Python (2 years ago), my web-related skills are limited or non-existent, but I’m keen to learn, especially as I’m currently self-isolating. So, if Grafana is not the right tool for my project, I’d appreciate any pointers (which language, framework, technology, …).

1 Like

why you need 10 updates per second??

This is actually a great question.

1 Like

Grafana is the right tool, but you need to use realtime streaming and not “page refresh”. It needs some googling and source code digging. For example Snap app was/is able to do that.

Some hints:

There are no really good open source examples yet (hopefully soon). The Loki data source uses streaming (but is not a great first example - it’s complex): https://github.com/grafana/grafana/blob/87796c2b23df4c8eac163c24894bf9c224789994/public/app/plugins/datasource/loki/datasource.ts#L347

The main datasource query API returns an Observable so it’s just a matter of returning data via the observable.

2 Likes

A better example is the test data source: https://github.com/grafana/grafana/blob/master/public/app/plugins/datasource/testdata/runStreams.ts