GoogleCloudPlatform / prometheus-test-infra

Apache License 2.0
11 stars 3 forks source link

Using a different load generator #20

Open saketjajoo opened 1 year ago

saketjajoo commented 1 year ago

The existing load generator is a fake web-server that emits the go* and process* metrics. While these metrics may be useful to understand the underlying go runtime metrics and standard process metrics, it may be useful if the emitted metrics are varied (perhaps even non-standard metrics) so as to get an idea of how the Prometheus behaves when there are different kinds of metrics scraped.

Different kinds of load generator(s) can be used (or even custom built ones, if absolutely needed) and (maybe) flags can be used to specify what kind of load generator must be used for a particular benchmark run to make the system more flexible.

For example, one such load generator is avalanche. It provides several flags to alter the metric emission configurations. Maybe this can be used (added as a pluggable load generator).

There are pros and cons of this approach which can be discussed in comments on this issue or on PRs. Just wanted to put it out there that having a pluggable load generator might be worth reviewing.

maxamins commented 1 year ago

Hey @saketjajoo, do you have a code example you can attach here?

saketjajoo commented 1 year ago

Code example for Avalanche: https://github.com/GoogleCloudPlatform/prometheus-test-infra/commit/451a2c4a4ace5c67e0817cac1a5599c32319b070