fabiog1901 / dbworkload

Simulator utility for DBMS workloads.
GNU General Public License v3.0
1 stars 0 forks source link

Expose metrics via prom port option #3

Closed csgourav closed 1 month ago

csgourav commented 1 month ago

Compared to the pgworkload repo, I see that this repo is not exposing latency to the prom port provided. The code seems to be commented out.

Would be good, to have latency exposed via prom port, and also if we could have the ops/sec metrics exposed.

fabiog1901 commented 1 month ago

You are correct, with the move from numpy arrays to TDigests - which coincides with the move from pg- to db- workload -, I had temporarily removed the metric export functionality. Good call, thank you, I was actually waiting for someone to raise an issue as not sure how many users actually leveraged this feature!

I'll be working on this next, the goal is to expose all the metrics that are also printed to stdout.

fabiog1901 commented 1 month ago

@csgourav - I just published v0.2.0 which has support for Prometheus metrics. They are all of type gauge, example assuming a function called write_kv:

# HELP write_kv__tot_ops total count of ops
# TYPE write_kv__tot_ops gauge
write_kv__tot_ops 1613.0
# HELP write_kv__tot_ops_s derived value from tot_ops / elapsed
# TYPE write_kv__tot_ops_s gauge
write_kv__tot_ops_s 28.0
# HELP write_kv__period_ops ops count for the recent window
# TYPE write_kv__period_ops gauge
write_kv__period_ops 295.0
# HELP write_kv__period_ops_s derived value from period_ops / window duration
# TYPE write_kv__period_ops_s gauge
write_kv__period_ops_s 29.0
# HELP write_kv__mean_ms mean_ms
# TYPE write_kv__mean_ms gauge
write_kv__mean_ms 22.7
# HELP write_kv__p50_ms p50_ms
# TYPE write_kv__p50_ms gauge
write_kv__p50_ms 21.52
# HELP write_kv__p90_ms p90_ms
# TYPE write_kv__p90_ms gauge
write_kv__p90_ms 26.61
# HELP write_kv__p95_ms p95_ms
# TYPE write_kv__p95_ms gauge
write_kv__p95_ms 29.2
# HELP write_kv__p99_ms p99_ms
# TYPE write_kv__p99_ms gauge
write_kv__p99_ms 45.44
# HELP write_kv__max_ms max_ms
# TYPE write_kv__max_ms gauge
write_kv__max_ms 52.82

Let me know if you can please test and validate, I will otherwise close this ticket in a week.