Minh Nguyen
30992dd032
[RW2] Fix: Only update metadata to WAL when metadata-wal-records feature is enabled ( #17470 )
...
* add feature check when UpdateMetadata
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* add appendMetadata boolean to write_hander
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
---------
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
2025-11-04 08:16:57 +00:00
Ben Kochie
48956f60d7
Update modernize ( #17471 )
...
buf.build / lint and publish (push) Has been cancelled
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 / Report status of build Prometheus for all architectures (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 / 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
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
Apply additional Go modernize tool improvements.
Signed-off-by: SuperQ <superq@gmail.com >
2025-11-04 05:13:49 +00:00
Minh Nguyen
9f93c2d2e1
promtool: Add Remote Write 2.0 support to push metrics command ( #17417 )
...
buf.build / lint and publish (push) Has been cancelled
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
Sync repo files / repo_sync (push) Has been cancelled
Stale Check / stale (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
* add feature flag for remote write v2
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* change from number to protobuf_message
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix test
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix name
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* run make cli-documentation
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix help
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* run make cli-documentation
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
---------
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
2025-10-31 11:38:40 +00:00
György Krajcsovits
b8192127ee
Merge remote-tracking branch 'origin/release-3.7' into krajo/merge-3.7.3-to-main
...
# Conflicts:
# CHANGELOG.md
# storage/remote/queue_manager_test.go
2025-10-30 09:21:25 +01:00
Ayoub Mrini
6806b68f93
[release-3.7] fix: Remote-write: revert changes in the queue resharding logic ( #17412 )
...
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 / Report status of build Prometheus for all architectures (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 / 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
* Revert "chore: deprecate prometheus_remote_storage_{samples,exemplars,histograms}_in_total and prometheus_remote_storage_highest_timestamp_in_seconds"
This reverts commit ba14bc49db .
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
* Revert "storage/remote: compute highestTimestamp and dataIn at QueueManager level"
This reverts commit 184c7eb918 .
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
* fix(remote-write): bring back the per queue metrics
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
* test(remote): add TestRemoteWrite_ReshardingWithoutDeadlock to reproduce the sharding scale up deadlock
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
---------
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
2025-10-29 14:04:09 +00:00
György Krajcsovits
bb8b611d2c
Merge remote-tracking branch 'origin/release-3.7' into krajo/merge-release-3.7-pre3-to-main
...
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com >
2025-10-29 14:32:42 +01:00
Arve Knudsen
92ccadc96d
promtool: generate rulesLintConfig when --lint=none is set ( #17414 )
...
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 / Report status of build Prometheus for all architectures (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 / 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
* Correctly generate rulesLintConfig when --lint=none is set (#17399 )
If I run promtool check config --lint=none I get:
```
Checking rules.yml
FAILED:
rules.yml: unset nameValidationScheme
```
This is because passing --lint=none stops newConfigLintConfig from generating rulesLintConfig which is needed for validation.
It means that defaults are used then, one of which is unset value for metric name validation, causing this error.
Fix this by handling --lint=none case correctly and still generating rulesLintConfig.
---------
Signed-off-by: Lukasz Mierzwa <l.mierzwa@gmail.com >
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Łukasz Mierzwa <l.mierzwa@gmail.com >
2025-10-28 14:34:52 +01:00
Łukasz Mierzwa
0e187f5542
Correctly generate rulesLintConfig when --lint=none is set ( #17399 )
...
If I run promtool check config --lint=none I get:
```
Checking rules.yml
FAILED:
rules.yml: unset nameValidationScheme
```
This is becuase passing --lint=none stops newConfigLintConfig from generating rulesLintConfig which is needed for validation.
It means that defaults are used then, one of which is unset value for metric name validation, causing this error.
Fix this by handling --lint=none case correctly and still generating rulesLintConfig.
Fixes #17398 .
Signed-off-by: Lukasz Mierzwa <l.mierzwa@gmail.com >
2025-10-28 13:07:10 +01:00
Minh Nguyen
ad4b59c504
tsdb: Deprecate retention flags; add tsdb.retention runtime configuration ( #17026 )
...
* Move storage from CL to config file
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* Fix .md
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* run make cli-documentation
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* run make cli-documentation
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* nit_fixed
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* add test and update configuration.md
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix lint
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
---------
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
2025-10-27 14:51:33 +00:00
Minh Nguyen
6bb367970e
feat(promtool): add RW2 support to promtool push metrics using client_golang library ( #17280 )
...
* Add WriteProto method and tests for promtool metrics
This commit adds:
1. WriteProto method to storage/remote/client.go that handles
marshaling and compression of protobuf messages
2. Updated parseAndPushMetrics in cmd/promtool/metrics.go to use
the new WriteProto method
3. Comprehensive tests for PushMetrics functionality
The WriteProto method provides a cleaner API for sending protobuf
messages without manually handling marshaling and compression.
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* use Write method from exp/api/remote
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix lint
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix test
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* nit fixed
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix lint
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
---------
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
2025-10-27 13:56:48 +00:00
Minh Nguyen
f070e35358
[RW]: Adopt client_golang/exp/api/remote types for receiving RW1 and RW2 ( #17197 )
...
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
# Conflicts:
# storage/remote/write_handler.go
* add comment
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix failling test
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* nit_fixing
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
* fix comment
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
---------
Signed-off-by: pipiland2612 <nguyen.t.dang.minh@gmail.com >
2025-10-24 10:31:34 +01:00
beorn7
ad7d1aed99
Phase out native histogram feature flag
...
The detailed plan for this is laid out in
https://github.com/prometheus/prometheus/issues/16572 .
This commit adds a global and local scrape config option
`scrape_native_histograms`, which has to be set to true to ingest
native histograms.
To ease the transition, the feature flag is changed to simply set the
default of `scrape_native_histograms` to true.
Further implications:
- The default scrape protocols now depend on the
`scrape_native_histograms` setting.
- Everywhere else, histograms are now "on by default".
Documentation beyond the one for the feature flag and the scrape
config are deliberately left out. See
https://github.com/prometheus/prometheus/pull/17232 for that.
Signed-off-by: beorn7 <beorn@grafana.com >
2025-10-15 14:50:52 +02:00
Julien
4199c2f45a
Add anchored and smoothed to vector selectors. ( #16457 )
...
* Add anchored and smoothed to vector selectors.
This adds "anchored" and "smoothed" keywords that can be used following a matrix selector.
"Anchored" selects the last point before the range (or the first one after the range) and adds it at the boundary of the matrix selector.
"Smoothed" applies linear interpolation at the edges using the points around the edges. In the absence of a point before or after the edge, the first or the last point is added to the edge, without interpolation.
*Exemple usage*
* `increase(caddy_http_requests_total[5m] anchored)` (equivalent of *caddy_http_requests_total - caddy_http_requests_total offset 5m* but takes counter reset into consideration)
* `rate(caddy_http_requests_total[step()] smoothed)`
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com >
* Update docs/feature_flags.md
Co-authored-by: Charles Korn <charleskorn@users.noreply.github.com >
Signed-off-by: Julien <291750+roidelapluie@users.noreply.github.com >
* Smoothed/Anchored rate: Add more tests
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com >
* Anchored/Smoothed modifier: error out with histograms
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com >
---------
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com >
Signed-off-by: Julien <291750+roidelapluie@users.noreply.github.com >
Co-authored-by: Charles Korn <charleskorn@users.noreply.github.com >
2025-09-25 11:34:59 +02:00
Ayoub Mrini
6a5abd6b4b
Merge pull request #17080 from Duciwuci/bump-go-ci
...
chore: Bump Go min version to 1.24
2025-09-09 14:31:18 +02:00
Arve Knudsen
913cc8f72b
Replace gopkg.in/yaml.v2 with go.yaml.in/yaml/v2 ( #17151 )
...
buf.build / lint and publish (push) Has been cancelled
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
Sync repo files / repo_sync (push) Has been cancelled
Stale Check / stale (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
* Replace gopkg.in/yaml.v2 with go.yaml.in/yaml/v2
* Upgrade to client_golang@v1.23 .2
---------
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2025-09-06 13:04:24 +02:00
Owen Williams
6ee965c255
common: Update to prom/common v0.66.0, fix TextParser creation ( #17139 )
...
buf.build / lint and publish (push) Has been cancelled
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 / Report status of build Prometheus for all architectures (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 / 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
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
Stale Check / stale (push) Has been cancelled
Lock Threads / action (push) Has been cancelled
TextParser as of prom/common v0.66.0 requires an explicit validation scheme.
Signed-off-by: Owen Williams <owen.williams@grafana.com >
2025-09-03 11:20:04 -04:00
Duciwuci
76a0cce3ac
adjust windows error message
...
Signed-off-by: Duciwuci <duciwuci@gmail.com >
2025-09-02 14:37:47 +02:00
machine424
184c7eb918
storage/remote: compute highestTimestamp and dataIn at QueueManager level
...
Because of relabelling, an endpoint can only select a subset of series
that go through WriteStorage
Having a highestTimestamp at WriteStorage level yields wrong values
if the corresponding sample won't even make it to a remote queue.
Currently PrometheusRemoteWriteBehind is based on that, and would fire
if an endpoint is only interested in a subset of series that take time
to appear.
A "prometheus_remote_storage_queue_highest_timestamp_seconds" that only
takes into account samples in the queue is introduced, and used in
PrometheusRemoteWriteBehind and dashboards in documentation/prometheus-mixin
Same applies to samplesIn/dataIn, QueueManager should know more about
when to update those; when data is enqueued.
That makes dataDropped unnecessary, thus help simplify the logic
in QueueManager.calculateDesiredShards()
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
2025-09-01 13:19:24 +02:00
bwplotka
794bf774c2
Reapply "prw: use Unit and Type labels for metadata when feature flag is enabled ( #17033 )"
...
This reverts commit f5fab47577 .
2025-08-29 08:16:37 +01:00
bwplotka
f5fab47577
Revert "prw: use Unit and Type labels for metadata when feature flag is enabled ( #17033 )"
...
This reverts commit c808a71e18 .
2025-08-29 08:15:28 +01:00
Jonathan
c808a71e18
prw: use Unit and Type labels for metadata when feature flag is enabled ( #17033 )
...
* chore: send Unit and Type when feature flag is enabled
Signed-off-by: perebaj <perebaj@gmail.com >
* remove unused code and comments
Signed-off-by: perebaj <perebaj@gmail.com >
* remove unreal scenario
Signed-off-by: perebaj <perebaj@gmail.com >
* remove unused if
Signed-off-by: perebaj <perebaj@gmail.com >
* remove unused labels
Signed-off-by: perebaj <perebaj@gmail.com >
* linter
Signed-off-by: perebaj <perebaj@gmail.com >
* enable type and unit through remotewrite config
Signed-off-by: perebaj <perebaj@gmail.com >
* remove test comment and capture type and unit when flag is enabled
Signed-off-by: perebaj <perebaj@gmail.com >
* gofumpt
Signed-off-by: perebaj <perebaj@gmail.com >
* modelTypeToWriteV2Type
Signed-off-by: perebaj <perebaj@gmail.com >
* use NewMetadataFromLabels
Signed-off-by: perebaj <perebaj@gmail.com >
* capture feature flag from main
Signed-off-by: perebaj <perebaj@gmail.com >
* simplifying logic
Signed-off-by: perebaj <perebaj@gmail.com >
* remove unused function
Signed-off-by: perebaj <perebaj@gmail.com >
* formatting code
Signed-off-by: perebaj <perebaj@gmail.com >
* gofumpt
Signed-off-by: perebaj <perebaj@gmail.com >
* remove public var: EnableTypeAndUnitLabels
Signed-off-by: perebaj <perebaj@gmail.com >
* remove enableTypeAndUnitLabels from TestPopulateV2TimeSeries_typeAndUnitLabels
Signed-off-by: perebaj <perebaj@gmail.com >
* remove enableTypeAndUnitLabels from main
Signed-off-by: perebaj <perebaj@gmail.com >
* use schema helper to populate metadata
Signed-off-by: perebaj <perebaj@gmail.com >
* remove metadata since nil is the default value
Signed-off-by: perebaj <perebaj@gmail.com >
* add TestPopulateV2TimeSeries_UnexpectedMetadata
Signed-off-by: perebaj <perebaj@gmail.com >
* Update storage/remote/queue_manager_test.go
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com >
---------
Signed-off-by: perebaj <perebaj@gmail.com >
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com >
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com >
2025-08-29 04:10:01 +00:00
beorn7
747c5ee2b1
Apply analyzer "modernize" to the whole codebase
...
See
https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize
for details.
This ran into a few issues (arguably bugs in the modernize tool),
which I will fix in the next commit, so that we have transparency what
was done automatically.
Beyond those hiccups, I believe all the changes applied are
legitimate. Even where there might be no tangible direct gain, I would
argue it's still better to use the "modern" way to avoid micro
discussions in tiny style PRs later.
Signed-off-by: beorn7 <beorn@grafana.com >
2025-08-27 14:48:41 +02:00
Arve Knudsen
0a40df33fb
Make metric/label name validation scheme explicit ( #16928 )
...
buf.build / lint and publish (push) Has been cancelled
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 / Report status of build Prometheus for all architectures (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 / 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
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Sync repo files / repo_sync (push) Has been cancelled
* Parameterize metric/label name validation scheme
Parameterized metric/label name validation scheme
---------
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Julius Hinze <julius.hinze@grafana.com >
2025-08-18 08:09:00 +00:00
Matthieu MOREL
cef219c31c
chore: enable unused-receiver rule from revive
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-08-04 09:43:33 +00:00
Julius Volz
2e709c6567
Merge pull request #16695 from sujalshah-bit/block_endpoint
...
api: Create `/status/tsdb/blocks` endpoint.
2025-07-31 18:15:49 +02:00
Arthur Silva Sens
2c04f2d7b1
PROM-39: Add type and unit labels to OTLP endpoint ( #16630 )
...
* PROM-39: Add type and unit labels to OTLP endpoint
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Extract label addition into helper function
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Wire feature flag and web handler configuration
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Apply suggestions from code review
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Use lowercase for units too
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Use otlptranslator.UnitNamer to build units
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Address copilot's comment
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Verify label presence before adding them
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Overwrite type/unit labels when already set
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* sed/addTypeAndUnitLabels/enableTypeAndUnitLabels/
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Reduce duplicated code
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
---------
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com >
2025-07-25 08:53:13 -03:00
RaphSku
938e5cb62b
docs: Added documentation for promtool configuration with http.config.file ( #16522 )
...
Includes an example.
Signed-off-by: RaphSku <rapsku.dev@gmail.com >
2025-07-07 00:00:51 +02:00
sujal shah
4408a6bcaf
api: Create /status/tsdb/blocks endpoint.
...
this endpoint serves blocks data to the client.
Signed-off-by: sujal shah <sujalshah28092004@gmail.com >
2025-07-04 03:13:54 +05:30
Arthur Silva Sens
8d0a747237
PROM-39: Provide PromQL info annotations when rate()/increase() over series without __type__="counter" label ( #16632 )
...
* Provide PromQL info annotations when rate()/increase() over series without counter label
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Address comments
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
---------
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
2025-06-06 10:01:20 -03:00
Ayoub Mrini
44f78bb3c8
Merge pull request #16623 from machine424/reprep
...
fix: add reproducer for a dangling-reference issue in parsers and fix
2025-05-27 05:24:48 +02:00
Subhramit Basu
44e27a876e
Add parse alerting for rules files ( #16601 )
...
Builds over https://github.com/prometheus/prometheus/pull/16462
Addresses comments, adds invalid rules file
Signed-off-by: subhramit <subhramit.bb@live.in >
Co-authored-by: marcodebba <marcodebonis74@gmail.com >
2025-05-26 18:29:34 +02:00
machine424
2bfbd8a714
fix: add reproducer for a dangling-reference issue in parsers
...
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
2025-05-22 17:22:51 +02:00
machine424
e809ccb90a
test(cmd/main/TestRuntimeGOGCConfig): add checks on reloads as well
...
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
2025-05-21 16:16:05 +02:00
Ayoub Mrini
2edc3ed6c5
feat(tsdb): introduce --use-uncached-io feature flag and allow using it for chunks writing ( #15365 )
...
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
Signed-off-by: Ayoub Mrini <ayoubmrini424@gmail.com >
2025-05-21 14:42:30 +02:00
Bartlomiej Plotka
8e6b008608
feature: type-and-unit-labels (PROM-39 implementation) ( #16228 )
...
* feature: type-and-unit-labels (extended MetricIdentity)
Experimental implementation of https://github.com/prometheus/proposals/pull/39
Previous (unmerged) experiments:
* https://github.com/prometheus/prometheus/compare/main...dashpole:prometheus:type_and_unit_labels
* https://github.com/prometheus/prometheus/pull/16025
Signed-off-by: bwplotka <bwplotka@gmail.com >
feature: type-and-unit-labels (extended MetricIdentity)
Experimental implementation of https://github.com/prometheus/proposals/pull/39
Previous (unmerged) experiments:
* https://github.com/prometheus/prometheus/compare/main...dashpole:prometheus:type_and_unit_labels
* https://github.com/prometheus/prometheus/pull/16025
Signed-off-by: bwplotka <bwplotka@gmail.com >
* Fix compilation errors
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
Lint
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
Revert change made to protobuf 'Accept' header
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
Fix compilation errors for 'dedupelabels' tag
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
* Rectored into schema.Metadata
Signed-off-by: bwplotka <bwplotka@gmail.com >
* texparse: Added tests for PromParse
Signed-off-by: bwplotka <bwplotka@gmail.com >
* add OM tests.
Signed-off-by: bwplotka <bwplotka@gmail.com >
* add proto tests
Signed-off-by: bwplotka <bwplotka@gmail.com >
* Addressed comments.
Signed-off-by: bwplotka <bwplotka@gmail.com >
* add schema label tests.
Signed-off-by: bwplotka <bwplotka@gmail.com >
* addressed comments.
Signed-off-by: bwplotka <bwplotka@gmail.com >
* fix tests.
Signed-off-by: bwplotka <bwplotka@gmail.com >
* add promql tests.
Signed-off-by: bwplotka <bwplotka@gmail.com >
* lint
Signed-off-by: bwplotka <bwplotka@gmail.com >
* Addressed comments.
Signed-off-by: bwplotka <bwplotka@gmail.com >
---------
Signed-off-by: bwplotka <bwplotka@gmail.com >
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com >
Co-authored-by: Arthur Silva Sens <arthursens2005@gmail.com >
2025-05-17 09:37:25 +00:00
Will Hegedus
5d94ad9ae0
test(cmd): enable test cases for GOGC environment variable
...
Signed-off-by: Will Hegedus <whegedus@akamai.com >
2025-05-12 07:49:40 -04:00
hardlydearly
ba4b058b7a
refactor: use slices.Contains to simplify code
...
Signed-off-by: hardlydearly <799511800@qq.com >
2025-05-09 08:27:10 +02:00
Andre Branchizio
b07b552139
[PERF] TSDB: Pass down label value limit into implementation ( #16158 )
...
* allow limiting label values calls
Signed-off-by: Andre Branchizio <andrejbranch@gmail.com >
2025-05-06 18:54:48 +01:00
machine424
ca70ed4fed
test(cmd): add test for GOGC setting
...
As suggested in https://github.com/prometheus/prometheus/pull/14176#issuecomment-2150308054
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
2025-05-06 15:51:25 +02:00
Arve Knudsen
e7e3ab2824
Fix linting issues found by golangci-lint v2.0.2 ( #16368 )
...
* Fix linting issues found by golangci-lint v2.0.2
---------
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2025-05-03 19:05:13 +02:00
machine424
1a190d3693
chore(cmd): Add info log for automemlimit config
...
Signed-off-by: machine424 <ayoubmrini424@gmail.com >
2025-05-02 09:08:32 +02:00
Graham Reed
b6aaea22fb
promtool: Optional fuzzy float64 comparison in rules unittests ( #16395 )
...
Make fuzzy compare opt-in via fuzzy_compare boolean in each unittest file.
Signed-off-by: Graham Reed <greed@hypervolt.co.uk >
2025-05-01 17:58:12 +10:00
Bryan Boreham
477b55b860
[BUGFIX] Top-level: Update GOGC before loading TSDB ( #16491 )
...
We should use the configured value, or Prometheus' default of 75%, while
initializing and loading the WAL.
Since the Go default is 100%, most Prometheus users would experience
higher memory usage before the value is configured.
Also: move Go runtime params earlier in initialization.
E.g. if a module starting up looks at GOMAXPROCS to size something, we
need to have set it already.
---------
Signed-off-by: Bryan Boreham <bjboreham@gmail.com >
2025-05-01 08:35:25 +01:00
Nicolas Peugnet
4eca0942f2
Clarify the docs of promtool --{min,max}-time options
...
State explicitely what kind of timestamps are expected for the
--min-time and --max-time options of promtool tsdb commands.
This is especially important for the dump-openmetrics command as users
could otherwise mistakenly think it would be in seconds, like the
OpenMetrics timestamps themselves.
Signed-off-by: Nicolas Peugnet <nicolas.peugnet@lip6.fr >
2025-04-30 11:23:00 +02:00
Fiona Liao
7ec63b1fa1
Add primitive support for ingesting OTLP delta metrics as-is ( #16360 )
...
* Add simple delta support
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Rename delta2cumulative part
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Whoops bad refactor
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Add example yml
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Feature flag instead and histogram hint handling
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Delete otel_delta.yml - outdated
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Renaming to native delta support
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Add more explanatory comments
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Add more explanation to histograms
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Correct comment on d2c consumer
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Add tests for counters and fix bug
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Add histogram tests
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Add docs
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Sort series to make test deterministic
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* More formatting
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Change flag name to ingestion
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Explain where rate calculation can go wrong
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Add warning about duplicate timestamps
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Update docs/feature_flags.md
Co-authored-by: Arthur Silva Sens <arthursens2005@gmail.com >
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Fix tests
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Remove unnecessary if
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Add warning to d2c section
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Make unknown type error when getting temporality
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Correct type comment - not planning to add delta metric metadata type
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Remove unused param for empty type
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Rewrite temporality logic to be clearer
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
* Change spurious to unnecessary - better description
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
---------
Signed-off-by: Fiona Liao <fiona.liao@grafana.com >
Co-authored-by: Arthur Silva Sens <arthursens2005@gmail.com >
2025-04-23 09:58:02 -03:00
Julien
f4ca1368ff
Merge pull request #16249 from roidelapluie/arythmetics
...
PromQL: allow arithmetic operations in durations in PromQL parser
2025-04-22 10:17:41 +02:00
David Leadbeater
e647f7954f
promtool: Add feature flags for promql features ( #16443 )
...
These are supported in the main prometheus binary but the feature flags
weren't supported in promtool.
Fixes #16412 .
Signed-off-by: David Leadbeater <dgl@dgl.cx >
2025-04-17 10:29:44 +01:00
Julien Pivotto
7370d62acf
PromQL: allow arithmetic in durations in PromQL parser
...
Updated the parser to allow calculations in PromQL durations.
This enables durations in the form of:
rate(http_requests_total[10m+2s])
The computation of the calculations is done directly at the parse level and does not hit the PromQL Engine.
The lexer has also been updated and improved, in particular for subqueries.
Buxfix: rate(http_requests_total[0]) is no longer allowed.
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com >
2025-04-03 10:56:02 +02:00
Dimitar Dimitrov
bd5b2ea95c
ruler notifier: make batch size configurable ( #16254 )
...
* ruler notifier: make batch size configurable
In Mimir we experimented with setting a higher value for the batch size.
A 4x increase in batch size decreased the time to process a single notification by about 2x.
This reduces the processing time of the notifications queue and increases the throughput of the queue.
Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com >
* Update cmd/prometheus/main.go
Co-authored-by: gotjosh <josue.abreu@gmail.com >
Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com >
* Update docs
Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com >
* Use a string constant
Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com >
* Add godoc comment on exported constant
Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com >
---------
Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov@grafana.com >
Co-authored-by: gotjosh <josue.abreu@gmail.com >
2025-03-24 14:22:19 +00:00
Matthieu MOREL
5fa1146e21
chore: enable gci linter ( #16245 )
...
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com >
2025-03-22 15:46:13 +00:00