Prometheus metrics

Hi there,

I see that there is quite good integration with Graphite for monitoring Gatling load tests in real time.

Don’t suppose there is an equivalent integration for Prometheus as well?

Many Thanks,
Ben

Hi,

Typical time series databases, like Graphite, InfluxDB and Prometheus are fundamentally broken when it comes to response time distributions.
The core issue is that they can only store numbers, so if you store, let’s say 95th percentile values every second, at some point, you’ll need to reduce those values:

  • accommodate to your charts resolutions that can’t display as many pixels/plots as you have records for your time window
  • compute overall SLA results on a time window (typically your run duration or minus some warm-up period)
  • aggregate results over a cluster of gatling instances
    With this kind of tools, you end of computing averages on your percentiles, which is just broken maths (think the 100th percentile is the maximum, getting the overall maximum as the average of the 1s maximums, really???).

You then get smooth results, without any hiccup, yet sadly broken. And you only realize that once you zoom in.

We fixed this with FrontLine.

Back to your question, no, there isn’t a Prometheus integration.
And such integration falls into the scope of our Entreprise suite, and won’t happen in the OSS version.

Regards,

Hi Stéphane,

No worries, makes sense to me!

Thanks for your prompt reply.
Ben

With regard to the OSS edition, if someone implemented it anyway, would you be open to a pull request for Prometheus support, or would it need to remain outside the codebase as an external plugin?

No, as much as we love contributions, we wouldn’t such one. Integration with third party tools, typically for reporting, fall in the scope of FrontLine and we don’t want to introduce in the OSS edition new features that would overlap. Note that FrontLine provides a Grafana datasource that would let you build a dashboard with data coming from both FrontLine and Promotheus.

Regards,

Haven’t tried this myself but Prometheus has a Graphite Exporter that you can use to scrape that kind of data:

https://www.robustperception.io/replacing-graphite-with-prometheus/