Possible to configure num_events/hour or num_events/day visualizations?

I’m using Netdata’s Prometheus collector to scrape a Prometheus metrics endpoint, and display the data in Netdata. Most of the metrics have the “counter” type. Netdata calculates the rate of events/second and displays it in the charts.

So far all is well and good, but I’m also interested in the number of events over hour (for example, “show me the total number of events for every hour, over the last 48 hours”) or over day (“show me the total number of events for every day, over the last 30 days”). Is something like this possible in Netdata Agent or Netdata Cloud?

Things I’ve tried or considered:

  • in Netdata Cloud I played around with the different time windows, and aggregation functions (switched to SUM from AVG), but the Y axis legend remained “events/s” with a matching scale.

  • I tried to configure a custom chart, as there you can define custom data-points, data-before, data-after, data-gtime parameters. I did get the chart to show a specific number of data points over a specific interval, but the values didn’t make sense. I guess it was showing the average rate of events over time periods, but that is not what I want. I want the total number of events over time periods.

  • I know the Prometheus collector can be configured to use the absolute algorithm for specific metrics (i.e., treat counter data types as gauge data types). And in Netdata Cloud one of the aggregation functions is “Incremental Sum or Delta” (DELTA()). This still would not give me precise control of the time bucket size in the charts – I want precisely “per hour” or “per day” not “per 3126 seconds” or whatever Netdata calculates automatically. I have not experimented with this yet.

For context, the data I’m scraping is the counts of emails sent by a SMTP server. I’m interested in per-day totals (ideally, in a bar graph form):

  • today, since midnight, it has sent [some-number] emails
  • yesterday, it sent [some-other-number] emails
  • the day before, it sent [another-number] emails

Is there an idiomatic way to do this with Netdata? Or is Netdata not really built for such use case?
Thanks!

Hi,

Currently the data the Agent stores for counters is always the delta to the previous data point. Even though it does store the last collected absolute value (to calculate the deltas), we have no way to surface this in the way you would want it. However, as we are working on new aggregations and better support for histograms and custom dashboards, this is on our list to add in the near feature.

Thanks,

Ralph