bwplotka
e2ad4a2f52
refactor(remote)[PART4c]: switch Remote Write 1.0 to AppendableV2
...
Signed-off-by: bwplotka <bwplotka@gmail.com>
2026-01-12 10:06:34 +00:00
bwplotka
49ea7b05ab
feat(storage)[PART4b]: add AppenderV2 to the rest of storage.Storage impl
...
Signed-off-by: bwplotka <bwplotka@gmail.com>
2026-01-12 09:19:19 +00:00
bwplotka
0e2569ad33
feat(teststorage)[PART4a]: Add AppendableV2 support for mock Appendable
...
Signed-off-by: bwplotka <bwplotka@gmail.com>
2026-01-12 08:42:34 +00:00
Ganesh Vernekar
9cb3641ccd
Volunteer to shepherd the release v3.10 ( #17822 )
...
Signed-off-by: Ganesh Vernekar <ganesh.vernekar@reddit.com>
2026-01-09 15:00:53 +00:00
Julien
f0eaf596fe
Merge pull request #17743 from RushabhMehta2005/optimization/extend-floats-prealloc
...
promql: preallocate slice in extendFloats optimization
2026-01-09 12:40:00 +01:00
Arve Knudsen
16703766f4
promql: fix info() returning empty when filtering by overlapping labels ( #17817 )
...
When filtering by a label that exists on both the input metric and
target_info (e.g., info(metric, {host_name="orbstack"}) where host_name
exists on both), the function incorrectly returned empty results.
The bug was in combineWithInfoVector: when no new labels were added
(because they all overlapped with base metric labels), the code entered
the "no match" filtering block even though an info series WAS matched.
The fix checks len(seenInfoMetrics) == 0 to correctly identify when no
info series matched. If an info series matched (seenInfoMetrics is
non-empty), the series is kept even if no new labels were added.
Fixes #17813
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-01-09 10:04:37 +01:00
Arthur Silva Sens
14de1eb043
Make service discoveries removable through build tags ( #17736 )
...
* Make service discoveries removable through build tags
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
* Fix cross-platform build issues
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
* Change build tags used
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
* Remove year from License header
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
* Remove plugins automation
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
* Update README
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
* Update README.md
Co-authored-by: Julien <291750+roidelapluie@users.noreply.github.com>
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
---------
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
Co-authored-by: Julien <291750+roidelapluie@users.noreply.github.com>
2026-01-08 10:06:33 -03:00
Vilius Pranckaitis
6a81e4441e
promql: avoid unnecessary Metric.Get() calls in functions.go ( #17676 )
...
Moved some Metric.Get() calls in PromQL functions to avoid unnecessary label extraction.
In many cases, this work was done to extract metric name, and was only used if annotations were emitted.
In the same go I also replaced labels.MetricName with model.MetricNameLabel, since the former was deprecated.
Signed-off-by: Vilius Pranckaitis <vpranckaitis@gmail.com>
2026-01-08 11:58:05 +00:00
Bryan Boreham
da254fd680
Merge pull request #17798 from prometheus/merge-3.9-into-main
...
Merge release-3.9 into main
2026-01-08 10:43:54 +00:00
Bryan Boreham
63b86fa851
Merge branch 'release-3.9' into merge-3.9-into-main
2026-01-08 10:22:01 +00:00
Charles Korn
a919e6d5ef
model/labels: improve performance of regex matchers like .*-.*-.* ( #17707 )
...
#14173 introduced an optimisation to better handle regex patterns like .*-.*-.*. It identifies strings the pattern cannot possibly match (because they do not contain all of the literal values) and returns false from MatchString early.
However, if the string does contain all literal values, then the Go regex engine is used to confirm that the string does match the pattern. But this is not necessary in the case where the start and end of the pattern is .* and everything in between is either a literal or .*: if the string contains all of the literals in order, then it matches the pattern, and invoking Go's regex engine to confirm this is unnecessary and quite slow.
* Add some more test cases
* Add benchmark, since existing benchmark doesn't show much impact given most of the random test strings will not match the patterns.
Signed-off-by: Charles Korn <charles.korn@grafana.com>
2026-01-08 10:20:23 +00:00
Bryan Boreham
9ec59baffb
Cut v3.9.1 ( #17804 )
...
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
v3.9.1
v0.309.1
2026-01-07 16:05:27 +00:00
Bryan Boreham
da754cd240
Merge remote-tracking branch 'origin/release-3.9' into merge-3.9-into-main
2026-01-07 15:51:44 +00:00
Bryan Boreham
4caa4c0914
Merge pull request #17807 from bboreham/fix-scrape-relabel-drop
...
Release 3.9: Fix scrape relabel not dropping series
2026-01-07 15:43:28 +00:00
Bryan Boreham
4f337c2a41
Merge pull request #17806 from marvin-roesch/fix/scrape-relabeling-keep
...
[BUGFIX] Scraping: return empty label set if sample is not to be kept
2026-01-07 15:38:40 +00:00
Marvin Rösch
66c8e31956
[BUGFIX] Scraping: drop sample if relabeling config says so
...
Signed-off-by: Marvin Rösch <marvinroesch99@gmail.com>
2026-01-07 15:20:24 +00:00
Bryan Boreham
ae71185255
Scraping: add a test for relabel with keep and drop
...
Co-authored-by: Marvin Rösch <marvinroesch99@gmail.com>
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2026-01-07 15:18:53 +00:00
Marvin Rösch
fff29d330d
[BUGFIX] Scraping: drop sample if relabeling config says so
...
Signed-off-by: Marvin Rösch <marvinroesch99@gmail.com>
2026-01-07 16:11:22 +01:00
Bryan Boreham
f1719fa1d4
[BUGFIX] Agent: fix crash from invalid type in pool ( #17802 )
...
We have separate pools for Appender and AppenderV2 objects, and must not
put another kind of object into them.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2026-01-07 14:01:02 +00:00
Julius Hinze
22463b1e9f
tsdb: add support for OOO exemplars in CircularExemplarStorage ( #17469 )
...
* tsdb: add support for OOO exemplars in CircularExemplarStorage
Doubly linked exemplar storage resize.
Split exemplar buffer resize into shrink and grow functions.
Skip duplicate OOO exemplars, re-initialize emptied index after deleting its last exemplar.
Signed-off-by: Julius Hinze <julius.hinze@grafana.com>
2026-01-07 13:25:50 +01:00
dependabot[bot]
99c8351d0e
chore(deps): bump github.com/hetznercloud/hcloud-go/v2 from 2.32.0 to 2.33.0 ( #17762 )
...
* chore(deps): bump github.com/hetznercloud/hcloud-go/v2
Bumps [github.com/hetznercloud/hcloud-go/v2](https://github.com/hetznercloud/hcloud-go ) from 2.32.0 to 2.33.0.
- [Release notes](https://github.com/hetznercloud/hcloud-go/releases )
- [Changelog](https://github.com/hetznercloud/hcloud-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/hetznercloud/hcloud-go/compare/v2.32.0...v2.33.0 )
---
updated-dependencies:
- dependency-name: github.com/hetznercloud/hcloud-go/v2
dependency-version: 2.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
* Use `server.Datacenter` until next minor release - disable linting of it in the meantime
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-01-07 13:21:56 +01:00
George Krajcsovits
66bdc88013
fix(remote_read): NHCB not returned over remote read samples ( #17794 )
...
NHCB is native histograms with custom buckets.
prompb is used for both remote write 1.0 and remote read. We do not
support NHCB over remote write 1.0 , however we should absolutely
support it for remote read.
Prometheus remote write 1.0 client already refuses to send NHCB.
Prometheus remote write 1.0 server accepts NHCB, but doesn't store
custom values, corrupting the result. I'm now handling NHCB correctly,
instead of refusing or corrupting.
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2026-01-07 08:44:57 +01:00
Rushabh Mehta
fc330642e4
promql: Preallocate slice in extendFloats
...
Signed-off-by: Rushabh Mehta <mehtarushabh2005@gmail.com>
2026-01-06 22:06:30 +05:30
Bryan Boreham
cd875bd8c9
Cut release 3.9.0 ( #17796 )
...
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
v0.309.0
v3.9.0
2026-01-06 16:30:06 +00:00
renovate[bot]
6286e3fb55
fix(deps): update github.com/hashicorp/nomad/api digest to e8f2200 ( #17780 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 15:53:09 +01:00
renovate[bot]
ce8bb9ee9b
chore(deps): update quay.io/prometheus/golang-builder docker tag to v1.25 ( #17783 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 13:52:10 +00:00
renovate[bot]
a588145bc1
fix(deps): update github.com/prometheus/client_golang/exp digest to 2cd067e ( #17781 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 14:46:47 +01:00
renovate[bot]
5b257abc52
chore(deps): update dependency prettier to v3.7.4 ( #17782 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-06 14:44:23 +01:00
Jan-Otto Kröpke
167418a5ad
fix: renovate configuration ( #17793 )
...
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-01-06 13:34:29 +00:00
Patryk Prus
dcda4840a7
tsdb/index: export sentinel errors for size limit failures ( #17773 )
...
* tsdb/index: export sentinel errors for size limit failures
---------
Signed-off-by: Patryk Prus <p@trykpr.us>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-01-06 14:07:23 +01:00
Arthur Silva Sens
1e317d0098
Add configuration option to control extra-scrape-metrics ( #17606 )
2026-01-06 09:00:49 -03:00
Julius Volz
ffcdb2bc1f
Merge pull request #17788 from prometheus/fix-identifier-completion-end
...
Replace entire identifier when autocompleting inside of it
2026-01-06 11:24:52 +01:00
Julius Volz
fe76e6c297
Remove unneeded state parameter
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2026-01-06 11:00:01 +01:00
Julius Volz
3fc800410a
Handle autocomplete replacement better for more node types
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2026-01-06 10:58:44 +01:00
VictorFilatov
0a2be81616
Fix link in discovery README.md ( #17753 )
...
Signed-off-by: VictorFilatov <phylactus@gmail.com>
2026-01-06 09:55:03 +01:00
Julius Volz
b532eacae8
Review fixups - also make it work for label names
...
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2026-01-05 20:09:12 +01:00
Arve Knudsen
57961fbedd
chore: remove dependabot configuration ( #17776 )
...
Remove Dependabot configuration, as we are now using Renovate.
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-01-05 18:00:08 +01:00
Arve Knudsen
3980134b43
chore: align Renovate configuration with Dependabot ( #17777 )
...
* chore: align Renovate configuration with Dependabot
---------
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Ben Kochie <superq@gmail.com>
2026-01-05 17:59:37 +01:00
Julius Volz
dbb3fc65b6
Replace entire identifier when autocompleting inside of it
...
When accepting an autocompletion result within an Identifier node (could be a
metric name, function name, keyword, etc.), the inserted completion should
replace the entire Identifier node all the way to its last character, not only
to the current cursor position.
A limitation is that the correct replacement-until-end-of-identifier only works
when e.g. a function name is currently incomplete (which is likely anyway when
trying to replace it with a different one). This is because otherwise the
Identifier node gets replaced with a more specific function node type (like
`Rate`, `SumOverTime`, etc.), and handling all those adds more complexity.
https://github.com/prometheus/prometheus/issues/15839
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2026-01-05 16:10:31 +01:00
Ben Kochie
e14795bbf4
Remove copyright date from headers ( #17785 )
...
Remove copyright dates from various files as part of [PROM-50].
[PROM-50]: https://github.com/prometheus/proposals/blob/main/proposals/0050-remove-copyright-dates.md
Signed-off-by: SuperQ <superq@gmail.com>
2026-01-05 13:46:21 +01:00
Julien
5fa37b3e25
Merge pull request #17771 from roidelapluie/roidelapluie/fixdoc
...
docs: Update API documentation for missing features
2026-01-05 12:13:25 +01:00
Julien
8d5655f972
Merge pull request #17784 from roidelapluie/roidelapluie/license2026
...
Makefile.common: Add check for future copyright years
2026-01-05 12:11:28 +01:00
Julien Pivotto
a35e19e6cf
Makefile.common: Add check for future copyright years
...
Add validation in common-check_license to detect and reject copyright
headers with years 2026 or later. This enforces the removal of copyright
dates as per https://github.com/prometheus/proposals/blob/main/proposals/0050-remove-copyright-dates.md
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-01-05 11:00:44 +01:00
Julien
8b9a7891b4
Merge pull request #17772 from roidelapluie/roidelapluie/rmsrv
...
Remove obsolete /classic/static route
2026-01-05 10:40:07 +01:00
dependabot[bot]
87401302f6
chore(deps): bump google.golang.org/api from 0.257.0 to 0.258.0 ( #17761 )
...
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client ) from 0.257.0 to 0.258.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases )
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md )
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.257.0...v0.258.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/api
dependency-version: 0.258.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-04 15:47:58 +00:00
dependabot[bot]
a946d2c8ef
chore(deps): bump golangci/golangci-lint-action from 9.0.0 to 9.2.0 ( #17757 )
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 9.0.0 to 9.2.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](0a35821d5c...1e7e51e771 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-version: 9.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-04 15:46:03 +00:00
dependabot[bot]
79b0b86560
chore(deps): bump golangci/golangci-lint-action in /scripts ( #17759 )
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 9.0.0 to 9.2.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](0a35821d5c...1e7e51e771 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-version: 9.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-04 14:53:47 +00:00
dependabot[bot]
ff22779966
chore(deps): bump github.com/bufbuild/buf in /internal/tools ( #17764 )
...
Bumps [github.com/bufbuild/buf](https://github.com/bufbuild/buf ) from 1.61.0 to 1.62.1.
- [Release notes](https://github.com/bufbuild/buf/releases )
- [Changelog](https://github.com/bufbuild/buf/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bufbuild/buf/compare/v1.61.0...v1.62.1 )
---
updated-dependencies:
- dependency-name: github.com/bufbuild/buf
dependency-version: 1.62.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-04 15:50:55 +01:00
dependabot[bot]
7521fdda73
chore(deps): bump the aws group across 1 directory with 2 updates ( #17760 )
...
Bumps the aws group with 2 updates in the / directory: [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2 ) and [github.com/aws/aws-sdk-go-v2/service/ecs](https://github.com/aws/aws-sdk-go-v2 ).
Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.277.0 to 1.279.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.277.0...service/ec2/v1.279.0 )
Updates `github.com/aws/aws-sdk-go-v2/service/ecs` from 1.69.5 to 1.70.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ecs/v1.69.5...service/s3/v1.70.0 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2
dependency-version: 1.279.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: aws
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ecs
dependency-version: 1.70.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: aws
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-04 15:45:28 +01:00
dependabot[bot]
1b88f2a98e
chore(deps): bump google.golang.org/grpc from 1.77.0 to 1.78.0 ( #17763 )
...
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go ) from 1.77.0 to 1.78.0.
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.77.0...v1.78.0 )
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-version: 1.78.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-04 15:44:42 +01:00