Bryan Boreham

Results 224 issues of Bryan Boreham

PromBench is the automated system for benchmarking Prometheus, intended to be a realistic comparison for users. The code for PromBench is under https://github.com/prometheus/test-infra/tree/master/prombench. We would like to extend PromBench to...

Service Discovery does not show up much in profiles from PromBench, whereas it can be a large fraction for some users of Kubernetes. Perhaps we could have a fake HTTP...

PromBench could be extended to generate exemplars in the data, and to query those as if used from a dashboard.

PromBench runs synthetic load defined in [6_loadgen.yaml](https://github.com/prometheus/test-infra/blob/34a189da3778d9035d430e3213f5c9dd18d520a7/prombench/manifests/prombench/benchmark/6_loadgen.yaml). These cover selectors, `rate`, `histogram_quantile` and `sum`, but leave out most of PromQL. For instance we could add: * binary arithmetic operators (joins)...

We could create some recording rules and alerting rules to exercise that part of Prometheus from PromBench.

PromBench runs a set of queries to generate fake load, both instant and range queries. The longest range is 1 hour, so it runs entirely in the head block. It...

### Proposal The OTLP field `StartTime` / `StartTimeUnixNano` is described [here](https://opentelemetry.io/docs/specs/otel/metrics/data-model/#temporality). If I understand correctly, under Cumulative Temporality it could be used exactly like the Created timestamp in #6541, to...

priority/P3
kind/feature
component/otlp

Avoid scanning out-of-order chunks twice during queries. `getOOOSeriesChunks` was already finding sets of overlapping chunks; we store those in a `multiMeta` struct so that `ChunkOrIterable` can reconstruct an `Iterable` easily...

We only `Put` chunks in one place, that isn't called very often.

Go's built-in append() grows larger slices with factor 1.3, which means we do a lot more allocating and copying for larger postings. I will try to get round to benchmarks...