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, …).

why you need 10 updates per second??

This is actually a great question.

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.

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