Łukasz Mierzwa
19345549f0
Merge cdf4b3ec3a
into 61aa82865d
2025-03-05 21:34:23 +01:00
Patryk Prus
61aa82865d
TSDB: keep duplicate series records in checkpoints while their samples may still be present ( #16060 )
...
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
Renames the head's deleted map to walExpiries, and creates entries for any
duplicate series records encountered during WAL replay, with the expiry set
to the highest current WAL segment number. Any subsequent WAL
checkpoints will see the duplicate series entry in the walExpiries map, and
keep the series record until the last WAL segment that could contain its
samples is deleted.
Other considerations:
WBL: series records aren't written to the WBL, so there are no duplicates to deal with
agent mode: has its own WAL replay logic that handles duplicate series records differently, and is outside the scope of this PR
2025-03-05 13:45:08 -05:00
Arve Knudsen
7cbf749096
Upgrade to github.com/oklog/ulid/v2 ( #16168 )
...
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2025-03-05 16:03:25 +01:00
Julius Volz
677efa4678
Merge pull request #16170 from prometheus/fix-test-logging-race
...
Fix test race by not calling t.Log() after test completion
2025-03-05 14:10:46 +01:00
Julius Volz
6054e843fe
Fix test race by not calling t.Log() after test completion
...
Fixes https://github.com/prometheus/prometheus/issues/16169
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 12:20:12 +01:00
Julius Volz
6da8b1050e
Merge pull request #16167 from prometheus/invert-legend-selection-behavior
...
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (0) (push) Waiting to run
CI / Build Prometheus for common architectures (1) (push) Waiting to run
CI / Build Prometheus for common architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (0) (push) Waiting to run
CI / Build Prometheus for all architectures (1) (push) Waiting to run
CI / Build Prometheus for all architectures (10) (push) Waiting to run
CI / Build Prometheus for all architectures (11) (push) Waiting to run
CI / Build Prometheus for all architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (3) (push) Waiting to run
CI / Build Prometheus for all architectures (4) (push) Waiting to run
CI / Build Prometheus for all architectures (5) (push) Waiting to run
CI / Build Prometheus for all architectures (6) (push) Waiting to run
CI / Build Prometheus for all architectures (7) (push) Waiting to run
CI / Build Prometheus for all architectures (8) (push) Waiting to run
CI / Build Prometheus for all architectures (9) (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Invert graph legend series show/hide behavior
2025-03-05 12:16:42 +01:00
Julius Volz
7a2be11436
Change "Cmd" to "⌘"
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 11:24:35 +01:00
Julius Volz
8e79631f86
Invert graph legend series show/hide behavior
...
Also conditionally display instructions for "Cmd" vs. "Ctrl" depending on the user agent.
See https://github.com/prometheus/prometheus/issues/16162#issuecomment-2699315258
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 10:33:03 +01:00
Julius Volz
9e5d59b777
Merge pull request #16163 from prometheus/readd-vertical-grid
...
Bring back vertical grid lines
2025-03-05 10:22:54 +01:00
Julius Volz
70aea5dd8d
Only copy matchers on double click and add error handling ( #16165 )
...
The useClipboard hook also just uses navigator.clipboard.writeText() under
the hood, but the timeout and state handling that the hook provides were
just not a good fit for showing a one-shot notification with error
detectionm, so doing the copying manually.
Addresses part of https://github.com/prometheus/prometheus/issues/16162
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 10:18:09 +01:00
Julius Volz
631890b38e
Add graph legend series toggling instructions again ( #16164 )
...
Addresses part of https://github.com/prometheus/prometheus/issues/16162
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-05 10:17:15 +01:00
Julius Volz
4ae1effb62
Bring back vertical grid lines
...
Addressing part of https://github.com/prometheus/prometheus/issues/16162
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-03-04 23:38:25 +01:00
Jan Fajerski
350d591e3b
Merge pull request #16159 from jan--f/sync-release-3.2
...
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Build Prometheus for common architectures (0) (push) Waiting to run
CI / Build Prometheus for common architectures (1) (push) Waiting to run
CI / Build Prometheus for common architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (0) (push) Waiting to run
CI / Build Prometheus for all architectures (1) (push) Waiting to run
CI / Build Prometheus for all architectures (10) (push) Waiting to run
CI / Build Prometheus for all architectures (11) (push) Waiting to run
CI / Build Prometheus for all architectures (2) (push) Waiting to run
CI / Build Prometheus for all architectures (3) (push) Waiting to run
CI / Build Prometheus for all architectures (4) (push) Waiting to run
CI / Build Prometheus for all architectures (5) (push) Waiting to run
CI / Build Prometheus for all architectures (6) (push) Waiting to run
CI / Build Prometheus for all architectures (7) (push) Waiting to run
CI / Build Prometheus for all architectures (8) (push) Waiting to run
CI / Build Prometheus for all architectures (9) (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Push README to Docker Hub / Push README to Docker Hub (push) Has been cancelled
Push README to Docker Hub / Push README to quay.io (push) Has been cancelled
Merge release-3.2 to main
2025-03-03 20:52:46 +01:00
Jan Fajerski
1ab9fa701e
Merge branch 'release-3.2' into sync-release-3.2
...
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2025-03-03 20:16:09 +01:00
Giuliano Panzironi
2ef8706c27
fix: format float to avoid overflow ( #16083 )
...
Signed-off-by: giulianopz <panzironi.giuliano@gmail.com>
2025-03-03 09:03:45 +00:00
Ayoub Mrini
3f0de72da7
Merge pull request #15979 from jrcichra/sendall-remap
...
notifier: Consider alert relabeling when deciding if alerts are dropped
2025-02-28 09:54:54 +01:00
co63oc
0e4e5a71bd
Fix typos ( #16076 )
...
Signed-off-by: co63oc <co63oc@users.noreply.github.com>
2025-02-28 11:24:25 +11:00
Julius Volz
77a505a0dc
Merge pull request #16085 from prometheus/dropped-target-scrapepool
...
Include scrape pool name for dropped targets in /api/v1/targets
2025-02-27 21:52:41 +01:00
Julius Volz
4be2243f06
Include scrape pool name for dropped targets in /api/v1/targets
...
This is needed so we can display dropped targets in the right scrape pool
in the web interface even if they have a non-default job name.
See also https://github.com/prometheus/prometheus/pull/16078
Fixes https://github.com/prometheus/prometheus/issues/16065
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-27 15:17:22 +01:00
Julius Volz
29d8372a04
Merge pull request #16084 from prometheus/targets-api-cleanup
...
Targets API: Remove superfluous if() and make variable names more intuitive
2025-02-27 15:08:30 +01:00
Julius Volz
911e305bc9
Address review comments
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-27 13:06:22 +01:00
Danial Eskandari
5efaa84be1
config: set gogc default value when config body is empty ( #16052 )
...
* fix: set gogc default value when config body is empty
Signed-off-by: Danial Eskandari <doneskandari@gmail.com>
* refactor: explicitly check value 75 in `TestGoGCDefaultValueOnEmptyConfigBody`
add GoGC assertion in `TestEmptyConfig`, also removed the no longer needed runtime config assignment in `TestEmptyGlobalBlock`
Signed-off-by: Danial Eskandari <doneskandari@gmail.com>
* refactor: remove `TestGoGCDefaultValueOnEmptyConfigBody` to reduce duplicate assertions
Signed-off-by: Danial Eskandari <doneskandari@gmail.com>
---------
Signed-off-by: Danial Eskandari <doneskandari@gmail.com>
2025-02-27 11:25:52 +01:00
Bryan Boreham
d72c1ec2c2
Merge pull request #16081 from prometheus/bastischubert/1740588650
...
doc: clarified behaviour of source_labels in relabel_config
2025-02-27 10:13:35 +00:00
Julius Volz
2fb6697eea
Targets API: Remove superfluous if() and make variable names more intuitive
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-27 10:02:23 +01:00
Björn Rabenstein
4b01140207
doc: Update nodejs and npm requirements for build ( #16082 )
...
Signed-off-by: beorn7 <beorn@grafana.com>
2025-02-26 17:20:42 +00:00
Sebastian Schubert
efa4f4a60b
doc: clarified behaviour of source_labels in relabel_config
...
Signed-off-by: Sebastian Schubert <basti@schubert.digital>
2025-02-26 17:57:44 +01:00
Jan Fajerski
a7ce2c37b6
Merge pull request #16035 from Antiz96/reproducible_builds
...
build: Ignore timestamps recording in gzip metadata
2025-02-26 16:05:06 +01:00
Justin Cichra
78599d0ec6
notifier: Consider alert relabeling when deciding if alerts are dropped
...
When intentionally dropping all alerts in a batch, `SendAll` returns
false, increasing the dropped_total metric.
This makes it difficult to tell if there is a connection issue between
Prometheus and AlertManager or a result of intentionally dropping alerts.
Have `SendAll` return `true` when no batches were sent by keeping track
of the number of AlertManager request attempts.
If no attempts were made, then the send is successful.
Fixes : #15978
Signed-off-by: Justin Cichra <jcichra@cloudflare.com>
2025-02-26 09:05:40 -05:00
Jan Fajerski
57cb0c81e6
Merge pull request #16075 from jan--f/prep-rel-3.2.1
...
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
Prepare release 3.2.1
2025-02-26 10:10:58 +01:00
Jan Fajerski
804c49d58f
Prepare release 3.2.1
...
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2025-02-25 20:11:52 +01:00
Lukasz Mierzwa
cdf4b3ec3a
Add a TSDB PreInitFunc hook and move mapCommonLabelSymbols() call there
...
We need to call mapCommonLabelSymbols() once TSDB opens all blocks, but before we start to reply the WAL and populate the HEAD.
There doesn't seem to be a way to do this right now, so add a hook we can use for it.
Signed-off-by: Lukasz Mierzwa <l.mierzwa@gmail.com>
2025-02-25 12:43:24 +00:00
Bryan Boreham
42d55505f9
Merge pull request #12659 from prymitive/memChunk
...
Short-cut common memChunk operations
2025-02-25 11:33:56 +00:00
boforetech
6ec89f14c7
refactor: use a more straightforward return value ( #16070 )
...
Signed-off-by: beforetech <mail@before.tech>
2025-02-24 12:25:57 +00:00
Matt Hughes
528b3fc60f
scraper: fix UTF-8 scraping header always sent with PrometheusText1.0.0
...
The `Accept` header should not include `escape=allow-utf-8` unless
explicitly requested.
Conveniently, there was already a test covering this header's value, it
just required updating so it also asserts that this value in the header
is not set in the cases we don't expect it to be set. I also converted
those tests into table tests to help make failures clearer.
Issue: https://github.com/prometheus/prometheus/issues/15857
Signed-off-by: Matt Hughes <mhughes@uw.co.uk>
2025-02-24 11:15:27 +01:00
Julius Volz
e837ac9fe2
Merge pull request #16068 from prometheus/fix/target-health-highlighting
...
Fix health color for target pools with single target that is down
2025-02-22 22:47:41 +01:00
Julius Volz
b636046672
Fix health color for target pools with single target that is down
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-02-22 21:32:56 +01:00
Björn Rabenstein
7bbbb5cb97
Merge pull request #16006 from mmorel-35/revive/unused-parameter
...
chore: enable unused-parameter from revive
2025-02-21 13:56:04 +01:00
Lukasz Mierzwa
cf9d3a0db5
Add labels.MapLabels() for setting mapped labels
...
This makes building labels faster by having a fast lookup for string->index path via a map.
Since we now need to populate both the slice that maps index->string and a map that gives us string->index.
For that we add labels.MapLabels() function which handles updating the static mapping.
Signed-off-by: Lukasz Mierzwa <l.mierzwa@gmail.com>
2025-02-21 10:22:26 +00:00
Charles Korn
8356990709
promql: fix double quoting in invalid label name error from count_values
( #16054 )
...
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Build Prometheus for common architectures (0) (push) Has been cancelled
CI / Build Prometheus for common architectures (1) (push) Has been cancelled
CI / Build Prometheus for common architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (0) (push) Has been cancelled
CI / Build Prometheus for all architectures (1) (push) Has been cancelled
CI / Build Prometheus for all architectures (10) (push) Has been cancelled
CI / Build Prometheus for all architectures (11) (push) Has been cancelled
CI / Build Prometheus for all architectures (2) (push) Has been cancelled
CI / Build Prometheus for all architectures (3) (push) Has been cancelled
CI / Build Prometheus for all architectures (4) (push) Has been cancelled
CI / Build Prometheus for all architectures (5) (push) Has been cancelled
CI / Build Prometheus for all architectures (6) (push) Has been cancelled
CI / Build Prometheus for all architectures (7) (push) Has been cancelled
CI / Build Prometheus for all architectures (8) (push) Has been cancelled
CI / Build Prometheus for all architectures (9) (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
promql: fix double quoting in invalid label name error from `count_values`
---------
Signed-off-by: Charles Korn <charles.korn@grafana.com>
Signed-off-by: Charles Korn <charleskorn@users.noreply.github.com>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
2025-02-21 00:37:04 +01:00
Ian Kerins
8c8b83ed4e
doc: fix broken kuma.io link ( #16028 )
...
doc: fix broken kuma.io link
I'm not actually familiar with kuma, but I noticed this link was broken, and I believe the one I've found here is equivalent.
Signed-off-by: Ian Kerins <git@isk.haus>
Signed-off-by: Björn Rabenstein <github@rabenste.in>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
2025-02-20 23:14:33 +01:00
Björn Rabenstein
fcc8e49d65
Merge pull request #16018 from charleskorn/charleskorn/quantile_over_time-annotation
...
promql: emit correct annotation in `quantile_over_time` when run over a range with histograms and floats
2025-02-20 22:49:30 +01:00
Owen Williams
23af3463e5
Merge pull request #16061 from matthewhughes-uw/fix-escaping-unconditionally-set
...
scraper: fix UTF-8 scraping header always sent with PrometheusText1.0.0
2025-02-20 10:52:12 -05:00
Lukasz Mierzwa
24dd39bc57
Automatically select common strings to map from last tsdb block
...
This will populate the static mapping of strings to store as a single byte on startup.
We use the last TSDB block as the source of data, iterate the index for each label and count how many time series given label pair is referencing.
Signed-off-by: Lukasz Mierzwa <l.mierzwa@gmail.com>
2025-02-20 12:06:33 +00:00
Lukasz Mierzwa
b07a131829
Use a slice instead of an array
...
Signed-off-by: Lukasz Mierzwa <l.mierzwa@gmail.com>
2025-02-20 12:06:33 +00:00
Lukasz Mierzwa
d80fe56371
Update list of hardcoded labels
...
Signed-off-by: Lukasz Mierzwa <l.mierzwa@gmail.com>
2025-02-20 12:06:33 +00:00
Lukasz Mierzwa
fb32c770c7
Update collision hashes for stringlabels
...
Signed-off-by: Lukasz Mierzwa <l.mierzwa@gmail.com>
2025-02-20 12:06:33 +00:00
Lukasz Mierzwa
565c6fa704
Reduce stringlabels memory usage for common labels
...
stringlabels stores all time series labels as a single string using this format:
<length><name><length><value>[<length><name><length><value> ...]
So a label set for my_metric{job=foo, instance="bar", env="prod", blank=""} would be encoded as:
[8]__name__[9]my_metric[3]job[3]foo[8]instance[3]bar[3]env[4]prod[5]blank[0]
This is a huge improvement over 'classic' labels implementation that stores all label names & values as seperate strings.
There is some room for improvement though since some string are present more often than others.
For example __name__ will be present for all label sets of every time series we store in HEAD, eating 1+8=9 bytes.
Since __name__ is well known string we can try to use a single byte to store it in our encoded string, rather than repeat it in full each time.
To be able to store strings that are short cut into a single byte we need to somehow signal that to the reader of the encoded string, for that
we use the fact that zero length strings are rare and generaly not stored on time series. If we have an encoded string with zero length
then this will now signal that it represents a mapped value - to learn the true value of this string we need to read the next byte
which gives us index in a static mapping. That mapping must include empty string, so that we can still encode empty strings using this scheme.
Example of our mapping (minimal version):
0: ""
1: "__name__"
2: "instance"
3: "job"
With that mapping our example label set would be encoded as:
[0]1[9]mymetric[0]3[3]foo[0]2[3]bar[3]env[4]prod[5]blank[0]0
The tricky bit is how to populate this mapping with useful strings that will result in measurable memory savings.
This is further complicated by the fact that the mapping must remain static and cannot be modified during Prometheus lifetime.
We can use all the 255 slots we have inside our mapping byte with well known generic strings and that will
provide some measurable savings for all Prometheus users, and is essentially a slightly more compact stringlabels variant.
We could also allow users to pass in a list of well know strings via flags, which will allow Prometheus operators
to reduce memory usage for any labels if they know those are popular.
Third option is to discover most popular strings from TSDB or WAL on startup, but that's more complicated and
we might pick a list that would be the best set of mapped strings on startup, but after some time is no longer
the best set.
Benchmark results:
goos: linux
goarch: amd64
pkg: github.com/prometheus/prometheus/model/labels
cpu: 13th Gen Intel(R) Core(TM) i7-13800H
│ main.txt │ new1.txt │
│ sec/op │ sec/op vs base │
String-20 863.8n ± 4% 873.0n ± 4% ~ (p=0.353 n=10)
Labels_Get/with_5_labels/first_label/get-20 4.763n ± 1% 5.035n ± 0% +5.72% (p=0.000 n=10)
Labels_Get/with_5_labels/first_label/has-20 3.439n ± 0% 3.967n ± 0% +15.37% (p=0.000 n=10)
Labels_Get/with_5_labels/middle_label/get-20 7.077n ± 1% 9.588n ± 1% +35.47% (p=0.000 n=10)
Labels_Get/with_5_labels/middle_label/has-20 5.166n ± 0% 6.990n ± 1% +35.30% (p=0.000 n=10)
Labels_Get/with_5_labels/last_label/get-20 9.181n ± 1% 12.970n ± 1% +41.26% (p=0.000 n=10)
Labels_Get/with_5_labels/last_label/has-20 8.101n ± 1% 11.640n ± 1% +43.69% (p=0.000 n=10)
Labels_Get/with_5_labels/not-found_label/get-20 3.974n ± 0% 4.768n ± 0% +19.98% (p=0.000 n=10)
Labels_Get/with_5_labels/not-found_label/has-20 3.974n ± 0% 5.033n ± 0% +26.65% (p=0.000 n=10)
Labels_Get/with_10_labels/first_label/get-20 4.761n ± 0% 5.042n ± 0% +5.90% (p=0.000 n=10)
Labels_Get/with_10_labels/first_label/has-20 3.442n ± 0% 3.972n ± 0% +15.40% (p=0.000 n=10)
Labels_Get/with_10_labels/middle_label/get-20 10.62n ± 1% 14.85n ± 1% +39.83% (p=0.000 n=10)
Labels_Get/with_10_labels/middle_label/has-20 9.360n ± 1% 13.375n ± 0% +42.90% (p=0.000 n=10)
Labels_Get/with_10_labels/last_label/get-20 18.19n ± 1% 22.00n ± 0% +20.97% (p=0.000 n=10)
Labels_Get/with_10_labels/last_label/has-20 16.51n ± 0% 20.50n ± 1% +24.14% (p=0.000 n=10)
Labels_Get/with_10_labels/not-found_label/get-20 3.985n ± 0% 4.768n ± 0% +19.62% (p=0.000 n=10)
Labels_Get/with_10_labels/not-found_label/has-20 3.973n ± 0% 5.045n ± 0% +26.97% (p=0.000 n=10)
Labels_Get/with_30_labels/first_label/get-20 4.773n ± 0% 5.050n ± 1% +5.80% (p=0.000 n=10)
Labels_Get/with_30_labels/first_label/has-20 3.443n ± 1% 3.976n ± 2% +15.50% (p=0.000 n=10)
Labels_Get/with_30_labels/middle_label/get-20 31.93n ± 0% 43.50n ± 1% +36.21% (p=0.000 n=10)
Labels_Get/with_30_labels/middle_label/has-20 30.53n ± 0% 41.75n ± 1% +36.75% (p=0.000 n=10)
Labels_Get/with_30_labels/last_label/get-20 106.55n ± 0% 71.17n ± 0% -33.21% (p=0.000 n=10)
Labels_Get/with_30_labels/last_label/has-20 104.70n ± 0% 69.21n ± 1% -33.90% (p=0.000 n=10)
Labels_Get/with_30_labels/not-found_label/get-20 3.976n ± 1% 4.772n ± 0% +20.03% (p=0.000 n=10)
Labels_Get/with_30_labels/not-found_label/has-20 3.974n ± 0% 5.032n ± 0% +26.64% (p=0.000 n=10)
Labels_Equals/equal-20 2.382n ± 0% 2.446n ± 0% +2.67% (p=0.000 n=10)
Labels_Equals/not_equal-20 0.2741n ± 2% 0.2662n ± 2% -2.88% (p=0.001 n=10)
Labels_Equals/different_sizes-20 0.2762n ± 3% 0.2652n ± 0% -3.95% (p=0.000 n=10)
Labels_Equals/lots-20 2.381n ± 0% 2.386n ± 1% +0.23% (p=0.011 n=10)
Labels_Equals/real_long_equal-20 6.087n ± 1% 5.558n ± 1% -8.70% (p=0.000 n=10)
Labels_Equals/real_long_different_end-20 5.030n ± 0% 4.699n ± 0% -6.57% (p=0.000 n=10)
Labels_Compare/equal-20 4.814n ± 1% 4.777n ± 0% -0.77% (p=0.000 n=10)
Labels_Compare/not_equal-20 17.55n ± 8% 20.92n ± 1% +19.24% (p=0.000 n=10)
Labels_Compare/different_sizes-20 3.711n ± 1% 3.707n ± 0% ~ (p=0.224 n=10)
Labels_Compare/lots-20 27.09n ± 3% 28.73n ± 2% +6.05% (p=0.000 n=10)
Labels_Compare/real_long_equal-20 27.91n ± 3% 15.67n ± 1% -43.86% (p=0.000 n=10)
Labels_Compare/real_long_different_end-20 33.92n ± 1% 35.35n ± 1% +4.22% (p=0.000 n=10)
Labels_Hash/typical_labels_under_1KB-20 59.63n ± 0% 59.67n ± 0% ~ (p=0.897 n=10)
Labels_Hash/bigger_labels_over_1KB-20 73.42n ± 1% 73.81n ± 1% ~ (p=0.342 n=10)
Labels_Hash/extremely_large_label_value_10MB-20 720.3µ ± 2% 715.2µ ± 3% ~ (p=0.971 n=10)
Builder-20 371.6n ± 4% 1191.0n ± 3% +220.46% (p=0.000 n=10)
Labels_Copy-20 85.52n ± 4% 53.90n ± 48% -36.97% (p=0.000 n=10)
geomean 13.26n 14.68n +10.71%
│ main.txt │ new1.txt │
│ B/op │ B/op vs base │
String-20 240.0 ± 0% 240.0 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/first_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/first_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/middle_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/middle_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/last_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/last_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/not-found_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/not-found_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/first_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/first_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/middle_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/middle_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/last_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/last_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/not-found_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/not-found_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/first_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/first_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/middle_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/middle_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/last_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/last_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/not-found_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/not-found_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/not_equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/different_sizes-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/lots-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/real_long_equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/real_long_different_end-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/not_equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/different_sizes-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/lots-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/real_long_equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/real_long_different_end-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Hash/typical_labels_under_1KB-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Hash/bigger_labels_over_1KB-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Hash/extremely_large_label_value_10MB-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Builder-20 224.0 ± 0% 192.0 ± 0% -14.29% (p=0.000 n=10)
Labels_Copy-20 224.0 ± 0% 192.0 ± 0% -14.29% (p=0.000 n=10)
geomean ² -0.73% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
│ main.txt │ new1.txt │
│ allocs/op │ allocs/op vs base │
String-20 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/first_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/first_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/middle_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/middle_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/last_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/last_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/not-found_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_5_labels/not-found_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/first_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/first_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/middle_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/middle_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/last_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/last_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/not-found_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_10_labels/not-found_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/first_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/first_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/middle_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/middle_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/last_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/last_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/not-found_label/get-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Get/with_30_labels/not-found_label/has-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/not_equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/different_sizes-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/lots-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/real_long_equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Equals/real_long_different_end-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/not_equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/different_sizes-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/lots-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/real_long_equal-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Compare/real_long_different_end-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Hash/typical_labels_under_1KB-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Hash/bigger_labels_over_1KB-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Hash/extremely_large_label_value_10MB-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹
Builder-20 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹
Labels_Copy-20 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹
geomean ² +0.00% ²
¹ all samples are equal
² summaries must be >0 to compute geomean
Signed-off-by: Lukasz Mierzwa <l.mierzwa@gmail.com>
2025-02-20 12:06:33 +00:00
Jan Fajerski
cd892ea2f8
Merge pull request #16057 from jan--f/build-all-status-trigger
...
ci: fix build-all status trigger to contain always
2025-02-20 12:48:25 +01:00
Matt Hughes
5868e36d91
scraper: fix UTF-8 scraping header always sent with PrometheusText1.0.0
...
The `Accept` header should not include `escape=allow-utf-8` unless
explicitly requested.
Conveniently, there was already a test covering this header's value, it
just required updating so it also asserts that this value in the header
is not set in the cases we don't expect it to be set. I also converted
those tests into table tests to help make failures clearer.
Issue: https://github.com/prometheus/prometheus/issues/15857
Signed-off-by: Matt Hughes <mhughes@uw.co.uk>
2025-02-20 11:33:16 +00:00
Jan Fajerski
d5b18be9e2
ci: fix build-all status trigger to contain always
...
Otherwise a failure in the dependent job skips the status job, which is
treated as success.
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2025-02-20 11:41:24 +01:00