-
Notifications
You must be signed in to change notification settings - Fork 10
[main] Merge upstream prometheus/main to 4aa8941eb186 #1037
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[main] Merge upstream prometheus/main to 4aa8941eb186 #1037
Conversation
`collectResultAppender` on its own will now use the labels hash instead of a random number. This avoids the situation where a series could be added twice under different references. When there is an underlying appender, use the reference it generates. Signed-off-by: Bryan Boreham <[email protected]>
Instead of the labels hash, which could collide between two different series, use the SeriesRef which is unique. Signed-off-by: Bryan Boreham <[email protected]>
This was added in Go 1.21, and is neater than a loop deleting all elements. Also move the comment noting why we do this, because it could be read as saying this is the only reason we have two maps. Signed-off-by: Bryan Boreham <[email protected]>
Signed-off-by: Charles Korn <[email protected]>
Adds a `config` label (similar to `prometheus_sd_discovered_targets`) to refresh metrics to help identify the source of refresh issues or performance stats. In particular for HTTP SD, it can be common to have multiple disparate HTTP SD sources that should be identified and not lumped together. For example if one HTTP SD service has failures, that should be evident in its own time series seperate from other HTTP SD sources. `config` seemed more appropriate than `endpoint` as a general standard for `prometheus_sd` metrics. Docs were also updated for HTTP SD to point at the new refresh metrics rather than the older metrics. Signed-off-by: Will Bollock <[email protected]>
Signed-off-by: pipiland2612 <[email protected]>
Signed-off-by: pipiland2612 <[email protected]>
Signed-off-by: pipiland2612 <[email protected]>
100,000 matchers is not something that could happen while using Prometheus. Signed-off-by: Bryan Boreham <[email protected]>
Extract functions which pre-create all the memory for the benchmark itself. Signed-off-by: Bryan Boreham <[email protected]>
It is fairly common that the next item is the one we want, and cheap to check. We could also start the binary search one position on, but strangely that slows it down. Signed-off-by: Bryan Boreham <[email protected]>
Check if the next position is already a match, in which case we don't have to call `Seek`. Signed-off-by: Bryan Boreham <[email protected]>
…(#17131) In this PR, we are eliminating expensive string-keyed (by signature) maps that are accessed for every sample processed. During preprocessing in rangeEval, we assign a unique number from 0 to n-1 to each of the n string signature values, and later only use this number as a label set signature. Signed-off-by: Linas Medžiūnas <[email protected]> Co-authored-by: George Krajcsovits <[email protected]>
Signed-off-by: Charles Korn <[email protected]> Co-authored-by: Charles Korn <[email protected]>
Signed-off-by: Bryan Boreham <[email protected]>
[PERF] PromQL: Only look up operation name if we need it
…feature is enabled (#17472) OTLP Receiver: Only update metadata to WAL when metadata-wal-records feature is enabled. --------- Signed-off-by: pipiland2612 <[email protected]>
Signed-off-by: Linas Medziunas <[email protected]>
Signed-off-by: Linas Medziunas <[email protected]>
…g_label feat(metrics): add config label to refresh metrics
Refactor part of queue_manger.go by creating struct to reuse some common function
Partially fixes prometheus/prometheus#17416 by renaming all CT* names to ST* in the whole codebase except RW2 (this is done in separate [PR](prometheus/prometheus#17411)) and PrometheusProto exposition proto. ``` CreatedTimestamp -> StartTimestamp CreatedTimeStamp -> StartTimestamp created_timestamp -> start_timestamp CT -> ST ct -> st ``` Signed-off-by: bwplotka <[email protected]>
Signed-off-by: Julius Hinze <[email protected]>
…laky (#17534) Signed-off-by: machine424 <[email protected]>
Scraping: detect staleness via unique reference
tsdb: couple of postings optimizations
…nd readability. (On-Disk Layout Paragraph) Signed-off-by: Raul Leite <[email protected]>
extra space removed Signed-off-by: Raul Leite <[email protected]>
Corrected the structure of the explanation regarding how samples are organized in the chunks directory and the handling of deletion records. Signed-off-by: Raul Leite <[email protected]>
[Doc] Storage.md - Paragraph Rewrite
…ion and EnableDelayedNameRemoval (#17161) Signed-off-by: Jeanette Tan <[email protected]> Signed-off-by: zenador <[email protected]> Co-authored-by: Björn Rabenstein <[email protected]>
Signed-off-by: 0xkato <[email protected]>
* fix: aws discovery test fix Fixes a problem introduced after the merge of this prometheus/prometheus#17138 PR didn't take into account another merged PR! ``` discovery/aws/aws.go:218:54: too many arguments in call to NewEC2Discovery have (*EC2SDConfig, *slog.Logger, *ec2Metrics) want (*EC2SDConfig, discovery.DiscovererOptions) discovery/aws/aws.go:222:66: too many arguments in call to NewLightsailDiscovery have (*LightsailSDConfig, *slog.Logger, *lightsailMetrics) want (*LightsailSDConfig, discovery.DiscovererOptions) ``` Signed-off-by: Will Bollock <[email protected]> * fix: align ecs style ECS was a new service discovery tool added after this PR was merged: prometheus/prometheus#17138 Aligns the style of passing a single "opts" to it like almost all the other service discovery engines now use Signed-off-by: Will Bollock <[email protected]> --------- Signed-off-by: Will Bollock <[email protected]>
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm approving this upstream merge PR.
This PR merges changes from prometheus/prometheus upstream repository.
Related GitHub action is defined here.
| d.Discovery = refresh.NewDiscovery( | ||
| refresh.Options{ | ||
| Logger: logger, | ||
| Logger: opts.Logger, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: ECS Discovery: Correct Labeling Inconsistency
The SetName field is missing from the refresh.Options struct in NewECSDiscovery. All other AWS discovery services (EC2 at line 200, Lightsail at line 164 in the diff) were updated to include SetName: opts.SetName in their refresh.NewDiscovery calls, but ECS was not. This inconsistency means ECS discovery metrics won't be properly labeled with the config name, breaking metric cardinality and making it impossible to distinguish between multiple ECS discovery configurations.
Merge from prometheus/prometheus
This PR was automatically created by the merge-upstream-prometheus workflow
Details:
mainmain4aa8941eb186264e570ee76eda8b23ff8989abc5Changes:
This PR merges the latest changes from the upstream prometheus/prometheus
mainbranch.Note
Renames “created timestamp zero ingestion” to “start timestamp” across ingestion/remote/OTLP, unifies SD constructors via DiscovererOptions with config-aware metrics, optimizes PromQL vector matching, refines remote-write batching/metrics, adjusts docs, and adds safety/bug fixes.
NewDiscovererto acceptDiscovererOptions(logger, metrics, HTTP options,SetName); propagateSetName.configlabel; tests updated accordingly.refresh.OptionsgainsSetName;RefreshMetrics.Instantiate(mech, setName).Written by Cursor Bugbot for commit 284459d. This will update automatically on new commits. Configure here.