Commit graph

1154 commits

Author SHA1 Message Date
Julius Volz
13564c03ef Standardize doc page title handling
See https://groups.google.com/g/prometheus-developers/c/cwL3cM66Em8

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-05-28 21:37:27 +02:00
Antonio Jimenez
2834a665ed
Add support for promoting all OTel resource attributes (#16426)
Add support for promoting all OTel resource attributes via `promote_all_resource_attributes`,
except for those ignored using 'ignore_resource_attributes'.

---------

Signed-off-by: Antonio Jimenez <antonjim@thousandEyes.com>
Signed-off-by: Antonio Jimenez <123171955+antonjim-te@users.noreply.github.com>
2025-05-26 18:15:01 +02:00
bragi92
14fc57e4cf
remote_write azure auth : allow empty client_id to suppport system assigned managed identity (#16421)
* squash (#1)

* remote-write: allow empty azure client_id to support system assigned managed identity

* add blank line for tests

* remote-write: allow empty azure client_id to support system assigned managed identity

Signed-off-by: Kaveesh Dubey <kadubey@microsoft.com>

* add blank line for tests

Signed-off-by: Kaveesh Dubey <kadubey@microsoft.com>

---------

Signed-off-by: Kaveesh Dubey <kadubey@microsoft.com>

* treat empty client_id as system-assigned identity; this is a valid case

Signed-off-by: Kaveesh Dubey <kadubey@microsoft.com>

* rename file 

Signed-off-by: bragi92 <kadubey@microsoft.com>

---------

Signed-off-by: Kaveesh Dubey <kadubey@microsoft.com>
Signed-off-by: bragi92 <kadubey@microsoft.com>
2025-05-24 15:01:49 +02:00
dongjiang
8d9332c199
fix metric_name_escaping_scheme option (#16625) 2025-05-24 14:25:39 +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
Ayoub Mrini
f2fac45eaf
Merge pull request #16563 from zepellin/patch-1
docs: Fix `metric_name_escaping_scheme` config parameter
2025-05-19 16:31:57 +02:00
Ayoub Mrini
4b7321c8e8
Merge pull request #16607 from marcoderama/patch-3
docs: fix typo in operators.md
2025-05-19 10:55:42 +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
marcoderama
778d49bbfb
docs: fix typo in operators.md
Signed-off-by: marcoderama <marcoderamagit@gmail.com>
2025-05-16 12:03:24 -07:00
Julius Volz
1b818b03d5 Clean up codeboxes and headings in docs
The new docs site will have syntax highlighting, so this adds language tags
to code boxes that are currently missing them. I didn't add `promql` as a
language yet since the highlighter doesn't support it yet, plus a lot of
the PromQL codeboxes in our docs aren't strictly valid PromQL, they are
more like multiple expressions listed in the same code box on multiple
lines. So I'm leaving that for sometime later.

In the HTTP API page, I moved the curl examples from the JSON codeboxes to
their own ones above the JSON output. I considered putting an "Output:"
text between the curl + JSON output, but I think the way it currently looks
without it is probably fine.

I also fixed a number of headings which were at the wrong level relative to
their nesting in the document.

I also removed `go` as a language from the Go template language examples,
because the Go template language isn't Go at all.

I also adjusted the indent on one codebox to be more reasonable (2 spaces
instead of 8).

And then finally, my editor made a bunch of whitespace changes
automatically, like removing trailing spaces.

Signed-off-by: Julius Volz <julius.volz@gmail.com>

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2025-05-13 15:38:29 +02:00
Martin Danko
148968e399
docs: Fix metric_name_escaping_scheme config parameter
This is a fix for documentation update done in https://github.com/prometheus/prometheus/pull/16066, setting correct name for a configuration value.

Signed-off-by: Martin Danko <46035688+zepellin@users.noreply.github.com>
2025-05-07 12:41:49 +02:00
dongjiang
2bf6f4c9dc update fix configuration.md
Signed-off-by: dongjiang <dongjiang1989@126.com>
2025-05-06 20:09:42 +02:00
George Krajcsovits
2726a18ae3
Merge pull request #16452 from chardch/global-always-scrape-classic-hist
Add global config option for always_scrape_classic_histograms
2025-05-06 09:29:30 +02:00
chardch
a1c157aaef Add global config option for always_scrape_classic_histograms
Addresses https://github.com/prometheus/prometheus/issues/16371
This will help with migrating to native histograms with `convert_classic_histograms_to_nhcb` since users may still need to keep the classic histograms during a migration

Signed-off-by: chardch <otwordsne@gmail.com>
2025-05-05 10:14:04 -07: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
Ayoub Mrini
0ce6022ef9
Merge pull request #16526 from n-peugnet/docs-clarify-time-options
promtool: clarify the docs of --{min,max}-time options
2025-04-30 20:46:26 +02: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
Jonas Lammler
08982b177f
Add label_selector to hetzner service discovery
Allows to filter the servers when sending the listing request to the API. This feature is only available when using the `role=hcloud`.

See https://docs.hetzner.cloud/#label-selector for details on how to use the label selector.

Signed-off-by: Jonas Lammler <jonas.lammler@hetzner-cloud.de>
2025-04-30 09:24:14 +02:00
Aman
26bddcf068
promql: histogram_stddev and histogram_stdvar should use arithmetic mean for custom buckets
Signed-off-by: amanycodes <amanycodes@gmail.com>
2025-04-24 14:48:58 +02:00
Arthur Silva Sens
9659e30dec
Add documentation for 'NoTranslation' mode (#16470)
* Add documentation for 'NoTranslation' mode

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>

* Update docs/configuration/configuration.md

Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>

---------

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
2025-04-23 14:15:18 +00: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
Michael Hoffmann
d6d9f97bac
promql: histogram_fraction for bucket histograms (#16095)
* promql: histogram_fraction for bucket histograms

This PR extends the histogram_fraction function to also work with classic bucket histograms. This is beneficial because it allows expressions like sum(increase(my_bucket{le="0.5"}[10m]))/sum(increase(my_total[10m])) to be written without knowing the actual values of the "le" label, easing the transition to native histograms later on.
It also feels natural since histogram_quantile also can deal with classic histograms.

Signed-off-by: Michael Hoffmann <mhoffmann@cloudflare.com>

* promql: histogram_fraction for bucket histograms

* Add documentation and reduce code duplication
* Fix a bug in linear interpolation between bucket boundaries
* Add more PromQL tests

Signed-off-by: Michael Hoffmann <mhoffmann@cloudflare.com>

* Update docs/querying/functions.md

Co-authored-by: Björn Rabenstein <github@rabenste.in>
Signed-off-by: Michael Hoffmann <mhoffm@posteo.de>

---------

Signed-off-by: Michael Hoffmann <mhoffmann@cloudflare.com>
Signed-off-by: Michael Hoffmann <mhoffm@posteo.de>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
2025-04-23 00:28:31 +02: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
beorn7
2763b6ba13 docs: Remove recording rule note for native histograms
We implemented proper type handling (gauge vs. counter histogram) a
while ago. The note about it is obsolete.

Signed-off-by: beorn7 <beorn@grafana.com>
2025-04-15 14:43:31 +02:00
George Krajcsovits
c15ae44455
Merge pull request #13613 from vvyushmanov/main
Documentation: Add description for OAuth2 password grant type setup
2025-04-15 13:29:20 +02:00
Julien Pivotto
2e0a4ef096 Update duration expr documentation
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2025-04-03 10:56:02 +02: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
George Krajcsovits
b85e343de3
Merge pull request #16226 from chardch/global-convert-classic-histo-to-nhcb
nhcb: Add global config option for convert_classic_histograms_to_nhcb
2025-04-01 10:35:03 +02:00
chardch
357b5ed640 Fix small issues and clarify documentation
Signed-off-by: chardch <otwordsne@gmail.com>
2025-03-29 08:35:11 -07:00
Aman
2be67be042
docs: remote-write-receiver explicit flag enablement (#16214)
* docs: remote-write-receiver explicit flag enablement

Signed-off-by: amanycodes <amanycodes@gmail.com>

* Rebuild

Signed-off-by: amanycodes <amanycodes@gmail.com>

* updated docs/migration.md

Signed-off-by: amanycodes <amanycodes@gmail.com>

---------

Signed-off-by: amanycodes <amanycodes@gmail.com>
2025-03-28 19:15:59 +01:00
chardch
2f59d38054 Add global config option for convert_classic_histograms_to_nhcb
Addresses the global part of https://github.com/prometheus/prometheus/issues/13532

Signed-off-by: chardch <otwordsne@gmail.com>
2025-03-27 10:55:27 -07:00
Owen Williams
6566c5a2b3
scrape: Add config option for escaping scheme request. (#16066)
The new metric_name_escaping_scheme config option works in parallel with metric_name_validation_scheme and controls which escaping scheme is requested when scraping. When not specified, the scheme will request underscores if the validation scheme is set to legacy, and will request allow-utf-8 when the validation scheme is set to utf8. This setting allows users to allow utf8 names if they like, but explicitly request an escaping scheme rather than UTF-8.

Fixes https://github.com/prometheus/prometheus/issues/16034

Built on https://github.com/prometheus/prometheus/pull/16080

Signed-off-by: Owen Williams <owen.williams@grafana.com>
2025-03-26 18:27:28 -04: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
Carrie Edwards
c90b387d89
Optionally translate OTel histograms to NHCB (#15850)
* Optionally translate OTEL histograms to NHCB

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Add tests for explicit histogram to NHCB translation

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Linting

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Add test for translation with flag

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Refactor to re-use bucket conversion function

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Update prompb

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Add comment explaining explicit bounds and use defined CustomBucketSchema

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Add TODO for limiting max bucket count

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Fix imports and remove extra blank line

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Update configuration docs and CHANGELOG

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Update CHANGELOG

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

* Use otlptranslator package

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>

---------

Signed-off-by: Carrie Edwards <edwrdscarrie@gmail.com>
2025-03-20 09:18:51 -07:00
Bartlomiej Plotka
7a7bc65237
Add util/compression package to consolidate snappy/zstd use in Prometheus. (#16156)
# Conflicts:
#	tsdb/db_test.go

Apply suggestions from code review




tmp



Addressed comments.



Update util/compression/buffers.go

Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
Co-authored-by: Arthur Silva Sens <arthursens2005@gmail.com>
2025-03-10 10:36:26 +00: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
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
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
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
e936e419b0
Merge pull request #16009 from charleskorn/topk-bottomk-sorting
docs: make sorting behaviour of `topk` and `bottomk` explicit
2025-02-13 13:53:51 +01:00
Bartlomiej Plotka
de23a9667c
prw2: Split PRW2.0 from metadata-wal-records feature (#16030)
Rationales:

* metadata-wal-records might be deprecated and replaced going forward: https://github.com/prometheus/prometheus/issues/15911
* PRW 2.0 works without metadata just fine (although it sends untyped metrics as expected).

Signed-off-by: bwplotka <bwplotka@gmail.com>
2025-02-13 12:16:33 +00:00
Ayoub Mrini
de6add2c7d
Merge pull request #14228 from Codelax/sd-scaleway-routed-ips
feat(scaleway-sd): add labels for multiple public IPs
2025-02-11 17:21:29 +01:00
Charles Korn
2cfd402b3a
Clarify sorting behaviour of topk and bottomk.
Signed-off-by: Charles Korn <charles.korn@grafana.com>
2025-02-11 14:55:39 +11:00
Charles Korn
acd74b02fb
Fix typo
Signed-off-by: Charles Korn <charles.korn@grafana.com>
2025-02-11 14:46:03 +11:00
Björn Rabenstein
585a219622
Merge pull request #15845 from prometheus/beorn7/doc
docs: Update PromQL documentation to match the native histogram spec
2025-02-08 00:24:29 +01:00
beorn7
993d4e71c9 docs: Update PromQL documentation to match the native histogram spec
This is also meant to document the actual implementation, but
see #13934 for the current state.

This also improves and streamlines some parts of the documentation
that are not strictly native histogram related, but are colocated with
them. In particular, the section about aggregation operators got
restructured quite a bit, including the removal of a quite verbose
example for `limit_ratio` (which was just too long an this location
and also a bit questionabl in its usefulness).

Signed-off-by: beorn7 <beorn@grafana.com>
2025-02-07 22:47:59 +01:00
asymmetric
96f31e370b
doc: clarify rate values are averaged (#14045)
* doc: clarify `rate` values are averaged

Signed-off-by: asymmetric <101816+asymmetric@users.noreply.github.com>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
2025-02-04 11:34:59 +00:00
Jan Fajerski
ffea9f005b
Merge pull request #15539 from paulojmdias/openstack-loadbalancer-discovery
discovery(openstack): add load balancer discovery
2025-01-28 14:10:06 +01:00
beorn7
2033713757 docs: Improve documentation of promql-delayed-name-removal flag
This fixes a formatting problem (`__name__`) was rendered in boldface
without the underscores in the headline).

Furthermore, it explains the possible issues with the feature flag
(change of behavior of certain "weird" queries, problems when
disecting a query manually or in PromLens).

Signed-off-by: beorn7 <beorn@grafana.com>
2025-01-22 14:08:01 +01:00
Paulo Dias
cddf729ca3
Merge branch 'main' of github.com:prometheus/prometheus into openstack-loadbalancer-discovery
Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
2025-01-21 11:16:52 +00:00
Owen Williams
f405c78e4a
docs: clarify PromQL interval changes (#15824)
docs: Clarify PromQL interval changes

---------

Signed-off-by: Owen Williams <owen.williams@grafana.com>
Signed-off-by: Owen Williams <owen-github@ywwg.com>
Co-authored-by: Björn Rabenstein <beorn@grafana.com>
2025-01-17 18:00:30 +01:00
Giedrius Statkevičius
92218ecb9b promtool: add --ignore-unknown-fields
Add --ignore-unknown-fields that ignores unknown fields in rule group
files. There are lots of tools in the ecosystem that "like" to extend
the rule group file structure but they are currently unreadable by
promtool if there's anything extra. The purpose of this flag is so that
we could use the "vanilla" promtool instead of rolling our own.

Some examples of tools/code:

https://github.com/grafana/mimir/blob/main/pkg/mimirtool/rules/rwrulefmt/rulefmt.go
8898eb3cc5/pkg/rules/rules.go (L18-L25)

Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@vinted.com>
2025-01-15 11:34:28 +02:00
Arve Knudsen
5df6ea3042
promtool: Support linting of scrape interval (#15719)
* PromTool: Support Scrape Interval Lint Checking

---------

Signed-off-by: zhaowang <zhaowang@apac.freewheel.com>
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: zhaowang <zhaowang@apac.freewheel.com>
2025-01-15 08:45:05 +01:00
sh0rez
5303e515af
remote/otlp: convert delta to cumulative (#15165)
What

Adds support for OTLP delta temporality to the OTLP endpoint.
This is done by calling the deltatocumulative processor from the OpenTelemetry collector during OTLP conversion.

Why

Delta conversion is a naturally stateful process, which requires careful request routing when operated inside a collector.
Prometheus is already stateful and doing the conversion in-server reduces the operational burden on the ingest architecture by only having one stateful component.

How

deltatocumulative is a OTel collector component that works as follows:

* pmetric.Metrics come from a receiver or in this case from the HTTP client
* It operates as an in-place update loop:
    * for each sample, if not delta, leave unmodified
    * if delta, do:
      * state += sample, where state is the in-memory sum of all previous samples
      * sample = state, sample value is now cumulative
    * this is supported for sums (counters), gauges, histograms (old histograms) and exponential histograms (native histograms)
If a series receives no new samples for 5m, its state is removed from memory


Performance

Delta performance is a stateful operation and the OTel code is not highly optimized yet, e.g. it locks the entire processor for each request. Nonetheless, care has been taken to mitigate those effects:

delta conversion is behind a feature flag. If disabled, no conversion code is ever invoked
if enabled, conversion is not invoked if request not actually contains delta samples. This leads to no measureable performance difference between default-cumulative to convert-cumulative (only cumulative, feature on/off)

Signed-off-by: sh0rez <me@shorez.de>
2025-01-14 11:33:31 -03:00
Vandit Singh
6339989e25
web/api: Add a limit parameter to /query and /query_range (#15552)
add limit param to query and rangeQuery

---------

Signed-off-by: Vandit Singh <vanditsinghkv@gmail.com>
Signed-off-by: Vandit Singh <107131545+Vandit1604@users.noreply.github.com>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
2025-01-09 17:27:39 +01:00
beorn7
df55e536b8 docs: fix spelling
Signed-off-by: beorn7 <beorn@grafana.com>
2025-01-07 17:51:57 +01:00
Julius Volz
18bb8bf996
Merge pull request #15784 from sujalshah-bit/15394_server_name_and_time
api: Add two new fields Hostname and ServerTime.
2025-01-07 13:36:53 +01:00
sujal shah
73a3438c1b api: Add two new fields Node and ServerTime.
This commit introduced two field in `/status` endpoint:
- The node currently serving the request.
- The current server time for debugging time drift issues.

fixes #15394.

Signed-off-by: sujal shah <sujalshah28092004@gmail.com>
2025-01-07 16:05:50 +05:30
Paulo Dias
c803f7e82f
Merge branch 'openstack-loadbalancer-discovery' of github.com:paulojmdias/prometheus into openstack-loadbalancer-discovery
Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
2025-01-06 15:15:32 +00:00
Paulo Dias
816a5c94b9
fix: fix docs typo
Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
2025-01-06 15:15:17 +00:00
Hélia Barroso
56094197b5
[Docs] Note that scrape_timeout cannot be greater than scrape_interval (#15786)
Signed-off-by: Hélia Barroso <helia_barroso@hotmail.com>
2025-01-06 14:13:17 +00:00
Arve Knudsen
4f67a38a39
template: Use cases.Title instead of deprecated strings.Title (#15721)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2025-01-03 17:58:02 +01:00
Paulo Dias
36ccf62692
Merge branch 'prometheus:main' into openstack-loadbalancer-discovery 2025-01-02 14:44:19 +00:00
Paulo Dias
d40e99c2ec
Merge branch 'openstack-loadbalancer-discovery' of github.com:paulojmdias/prometheus into openstack-loadbalancer-discovery
Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
2025-01-02 14:43:46 +00:00
Paulo Dias
cb7254158b
feat: rename status to provisioning_status and add operating_status
Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
2025-01-02 14:43:31 +00:00
Arve Knudsen
beca06c629
Clarify the NoUTF8EscapingWithSuffixes and UnderscoreEscapingWithSuffixes modes (#15567)
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2024-12-17 08:40:53 +01:00
David Ashpole
953a873342
update links to openmetrics to reference the v1.0.0 release
Signed-off-by: David Ashpole <dashpole@google.com>
2024-12-13 21:32:27 +00:00
Jeremiah Harbach
7d0f6b7e6d
Add specific Azure permissions required for Azure SD (#15549)
Add specific Azure permissions required for Azure SD

Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
Signed-off-by: Jeremiah Harbach <jeremiah.harbach@gmail.com>

---------

Signed-off-by: Jeremiah Harbach <jeremiah.harbach@gmail.com>
Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
2024-12-12 13:57:08 +01:00
Paulo Dias
a5c20713dc
Merge branch 'prometheus:main' into openstack-loadbalancer-discovery 2024-12-08 22:54:18 +00:00
Paulo Dias
713903fe48
fix: fix configuration and remove uneeded libs
Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
2024-12-06 17:58:21 +00:00
Paulo Dias
a90aa34e71
fix: fix docs typo
Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
2024-12-04 23:52:14 +00:00
Paulo Dias
fc0141aec2
discovery: add openstack load balancer discovery
Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
2024-12-04 23:34:29 +00:00
Björn Rabenstein
48103090a4
Merge pull request #15532 from machine424/nomad
doc(nomad): adjust nomad_sd_config's server definition
2024-12-04 13:47:27 +01:00
Björn Rabenstein
083695f01c
Merge pull request #15526 from machine424/malmal
docs: improve section about Prometheus graceful shutdown.
2024-12-03 20:27:31 +01:00
machine424
5d248e2d10
docs: improve section about Prometheus graceful shutdown.
fixes https://github.com/prometheus/prometheus/issues/13183

Signed-off-by: machine424 <ayoubmrini424@gmail.com>
2024-12-03 19:48:42 +01:00
machine424
c9f3d9b47f
doc(nomad): adjust sections about nomad_sd_config's server
test(nomad): extend TestConfiguredService with more valid/invalid servers configs

fixes https://github.com/prometheus/prometheus/issues/12306

Signed-off-by: machine424 <ayoubmrini424@gmail.com>
2024-12-03 19:41:45 +01:00
Bryan Boreham
6ca88a9b59
Merge pull request #14637 from prometheus/superq/update_storage_docs
Reword storage docs on corruption issues
2024-12-03 11:44:43 +00:00
George Krajcsovits
92fdf65187
Merge pull request #15448 from prometheus/no-ignore-identifying-attributes
OTLP translate: optionally keep identifying attributes in target_info
2024-12-02 17:33:48 +01:00
György Krajcsovits
f5c7ef3d9d Fix typo
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2024-11-29 15:24:18 +01:00
György Krajcsovits
8ce9e20001 Add documentation
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2024-11-29 15:23:35 +01:00
TJ Hoplock
aa8e067f13 Merge release-3.0 into main 2024-11-27 17:51:51 -05:00
Björn Rabenstein
5ceb603615
Merge pull request #15445 from rynkat/update-docs-anchored-regex
docs: make it clearer that regexps are always fully anchored
2024-11-27 20:52:29 +01:00
Owen Williams
12577e3851 Add support for values unescaping on /v1/label/:name/values endpoint
Signed-off-by: Owen Williams <owen.williams@grafana.com>
2024-11-27 14:03:03 -05:00
Chris Gray
c8f0e9d9c9
Fix typo
Signed-off-by: Chris Gray <chris.gray@aem.eco>
2024-11-26 09:05:39 -08:00
Kateryna Pavlova
d6e43b89f4 docs: add regex section in querying basics
Signed-off-by: Kateryna Pavlova <kathrinett@gmail.com>
2024-11-24 22:03:04 +01:00
Kateryna Pavlova
bc008f1b0e docs: fix range queries link
Signed-off-by: Kateryna Pavlova <kathrinett@gmail.com>
2024-11-24 22:02:01 +01:00
Simon Pasquier
63d87a60a8
docs: fix typo (#15436)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2024-11-24 17:13:19 +01:00
Bryan Boreham
26886d6d95 Merge branch 'release-3.0' into merge-release-into-main 2024-11-18 14:43:56 +00:00
Đurica Yuri Nikolić
101b1c307f
[ENHANCEMEN] Remote-Write: optionally use a DNS resolver that picks a random IP (#15329)
When a remote-write is executed towards a host name that is resolved to multiple IP addresses, this PR introduces a possibility to force creation of new connections used for the remote-write request to a randomly chosen IP address from the ones corresponding to the host name. The default behavior remains unchanged, i.s., the IP address used for the connection creation remains the one chosen by Go.

This is an experimental feature, it is disabled by default.

Signed-off-by: Yuri Nikolic <durica.nikolic@grafana.com>
2024-11-15 15:41:49 +00:00
Jan Fajerski
84396bf636 migration: add removal of AM v1 api
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-11-13 15:40:58 +01:00
Ben Kochie
869addfec8
Enable auto-gomaxprocs by default (#15378)
Enable the `auto-gomaxprocs` feature flag by default.
* Add command line flag `--no-auto-gomaxprocs` to disable.

Signed-off-by: SuperQ <superq@gmail.com>
2024-11-12 13:27:01 +01:00
Fiona Liao
928e691bc6
Merge branch 'release-3.0' into fix-migration-guide
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-12 09:43:42 +00:00
Jan Fajerski
3067d0bc2f update CHANGELOG and migration guide
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-11-11 22:32:26 +00:00
Bartlomiej Plotka
f4a26f8d83
Merge pull request #15384 from prometheus/otlp-utf8-from-main
3.0 Port: Allow UTF-8 characters in metric and label names as opt-in feature (plus config entry)
2024-11-11 15:19:21 -07:00
bwplotka
e08794c53f Added config entry.
Signed-off-by: bwplotka <bwplotka@gmail.com>
2024-11-11 21:44:08 +00:00
Bartlomiej Plotka
99cbdc113c
Update migration.md for TSDB storage upgrade
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
2024-11-11 19:32:48 +00:00
Fiona Liao
67764d7cfd Better spacing for flags
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-11 18:31:50 +00:00
Fiona Liao
b2fd5b7e45 Format PromQL section, replace table
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-11 18:31:43 +00:00
Fiona Liao
962a3cd6be Add backticks to fallback_scrape_protocol
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-11 18:31:34 +00:00
Fiona Liao
ad8138a65d Add newlines before code blocks
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-11 18:31:28 +00:00
Ben Kochie
0f0deb77a2
Enable auto-gomemlimit by default (#15372)
Enable the `auto-gomemlimit` feature flag by default.
* Add command line flag `--no-auto-gomemlimit` to disable.

Signed-off-by: SuperQ <superq@gmail.com>
2024-11-11 18:26:38 +01:00
Ben Kochie
f701f4e236
Enable auto-gomaxprocs by default (#15376)
Enable the `auto-gomaxprocs` feature flag by default.
* Add command line flag `--no-auto-gomaxprocs` to disable.

Signed-off-by: SuperQ <superq@gmail.com>
2024-11-11 18:24:59 +01:00
Ben Kochie
fb69a38e67
Enable auto-gomemlimit by default (#15373)
* Enable auto-gomemlimit by default

Enable the `auto-gomemlimit` feature flag by default.
* Add command line flag `--no-auto-gomemlimit` to disable.

---------

Signed-off-by: SuperQ <superq@gmail.com>
2024-11-11 17:29:33 +01:00
Fiona Liao
54a3f5054c docs: formatting and typo fixes to 3.0 migration guide
Signed-off-by: Fiona Liao <fiona.liao@grafana.com>
2024-11-06 19:35:42 +00:00
Jan Fajerski
284135a905
Merge pull request #15223 from jan--f/release-3.0.0-rc.0
Prepare release 3.0.0 rc.0
2024-10-31 20:33:37 +01:00
Ayoub Mrini
559722dc68
Merge pull request #15206 from multani/fix-doc-formatting
doc: fix formatting
2024-10-28 22:53:55 +01:00
gopi
372b83d7b8
Documented that WAL can still be written after memory-snapshot-on-shutdown (#15179)
Documented that WAL can still be written after memory-snapshot-on-shutdown - #10824

Co-authored-by: Björn Rabenstein <github@rabenste.in>
Signed-off-by: gopi <gopi.singaravelan.k@gmail.com>

---------

Signed-off-by: Gopi-eng2202 <gopi.singaravelan.k@gmail.com>
Signed-off-by: gopi <gopi.singaravelan.k@gmail.com>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
2024-10-25 21:40:15 +02:00
Jan Fajerski
38fd48e6b5 v2.55.0
-----BEGIN SSH SIGNATURE-----
 U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgX42TrpDUXJbbi9yZ3hs6cDg+kz
 G6d3nAlAb2XQInrEgAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5
 AAAAQGoSEKIFT/BfavtG2qW9n7NYonNQk/9r6gCLvxln9elt1hiY0ZGcwRhm1QNx6FotxJ
 Y3LB9dt4s5akB3fOPkYwc=
 -----END SSH SIGNATURE-----

Merge tag 'v2.55.0' into release-3.0.0-rc.0

v2.55.0
2024-10-25 14:16:22 +02:00
Jan Fajerski
f131cdd4c5
3.0 migration guide (#15099)
* docs: 2 to 3 migration guide

Signed-off-by: Jan Fajerski <jfajersk@redhat.com>

* docs/stability: add 3.0 section

Signed-off-by: Jan Fajerski <jfajersk@redhat.com>

* docs/migration: details on enabling legacy name validation

Signed-off-by: Owen Williams <owen.williams@grafana.com>\

* migration: add log format and `le` normalization

Signed-off-by: Jan Fajerski <jfajersk@redhat.com>

* migration: add new enable_http2 default for remote write

Signed-off-by: Jan Fajerski <jfajersk@redhat.com>

---------

Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
Signed-off-by: Owen Williams <owen.williams@grafana.com>
Co-authored-by: Owen Williams <owen.williams@grafana.com>
2024-10-25 12:30:13 +02:00
Bryan Boreham
20fdc8f541 [CHANGE] Remote-write: default enable_http2 to false
Remote-write creates several shards to parallelise sending, each with
its own http connection. We do not want them all combined onto one
socket by http2.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-10-24 22:27:06 +02:00
Jesus Vazquez
3cb09acb21
Docs: Remove experimental note on out of order feature (#15215)
Signed-off-by: Jesus Vazquez <jesusvzpg@gmail.com>
2024-10-24 18:18:21 +02:00
Jonathan Ballet
7ca90e5729 doc: fix formatting
Signed-off-by: Jonathan Ballet <jon@multani.info>
2024-10-24 08:55:23 +02:00
Björn Rabenstein
3bb5e28c6b
Merge pull request #15197 from prometheus/alexg/docs-issue-11570
docs: add keep_firing_for in alerting rules
2024-10-22 15:35:36 +02:00
George Krajcsovits
1b4e7f74e6
feat(tools): add debug printouts to rules unit testing (#15196)
* promtool: Add debug flag for rule tests

This makes it print out the tsdb state (both input_series and rules that
are run) at the end of a test, making reasoning about tests much easier.

Signed-off-by: David Leadbeater <dgl@dgl.cx>

* Reuse generated test name from junit testing

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>

---------

Signed-off-by: David Leadbeater <dgl@dgl.cx>
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Co-authored-by: David Leadbeater <dgl@dgl.cx>
2024-10-22 15:24:36 +02:00
alexgreenbank
3afcda82be docs: add keep_firing_for in alerting rules
Signed-off-by: alexgreenbank <alex.greenbank@grafana.com>
2024-10-22 14:19:01 +01:00
Yijie Qin
d2802c6fac
api: Add rule group pagination to list rules api (#14017)
* Add paginated feature to list rules api

Signed-off-by: Yijie Qin <qinyijie@amazon.com>

* Refactor to simplify code:

* Reduce number of variables
* Reduce type convesion

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Simplify paginated implementation

* Remove maxAlerts parameter.
* Reuse existing API responses by using omitempty in some fields

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Simplify pagination implementation

* Eliminate the need to sort the rule groups.

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Fix linting error

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Add more unit tests

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Update pagination parameters to be consistent with existing parameters

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Rename max_rule_groups to max_groups

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Refactor to simplify code

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Refactor to simplify the calculation of next token

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Handle corner case in pagination request

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Handle corner cases for pagination of list rules

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Update documentation for list rules parameters

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Refactor comments

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Simplify pagination implementation

* Eliminate need for extra structs to store pagination parameters

Signed-off-by: Raphael Silva <rapphil@gmail.com>

* Update docs/querying/api.md

Co-authored-by: Julius Volz <julius.volz@gmail.com>
Signed-off-by: Raphael Philipe Mendes da Silva <rapphil@gmail.com>

* Update web/api/v1/api.go

Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Signed-off-by: Raphael Philipe Mendes da Silva <rapphil@gmail.com>

* Update comment describing the need for next token

Signed-off-by: Raphael Silva <rapphil@gmail.com>

---------

Signed-off-by: Yijie Qin <qinyijie@amazon.com>
Signed-off-by: Raphael Silva <rapphil@gmail.com>
Signed-off-by: Raphael Philipe Mendes da Silva <rapphil@gmail.com>
Co-authored-by: Raphael Silva <rapphil@gmail.com>
Co-authored-by: Julius Volz <julius.volz@gmail.com>
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
2024-10-22 00:04:40 +01:00
Bryan Boreham
70e2d23027
Merge pull request #11474 from clwluvw/group-label
[FEATURE] rules: add labels at group level
2024-10-21 14:47:12 +01:00
Ayoub Mrini
d8c1605930
Merge pull request #15164 from machine424/quantile
feat: normalize "le" and "quantile" labels values upon ingestion
2024-10-19 21:13:03 +02:00
machine424
8bcb4d865d
feat: normalize "le" and "quantile" labels values upon ingestion
Signed-off-by: machine424 <ayoubmrini424@gmail.com>

Co-authored-by: beorn7 <beorn@grafana.com>
2024-10-18 17:37:29 +02:00
Alex Greenbank
421a3c22ea
scrape: provide a fallback format (#15136)
scrape: Remove implicit fallback to the Prometheus text format

Remove implicit fallback to the Prometheus text format in case of invalid/missing Content-Type and fail the scrape instead. Add ability to specify a `fallback_scrape_protocol` in the scrape config.

---------

Signed-off-by: alexgreenbank <alex.greenbank@grafana.com>
Signed-off-by: Alex Greenbank <alex.greenbank@grafana.com>
Co-authored-by: Björn Rabenstein <beorn@grafana.com>
2024-10-18 17:12:31 +02:00
Bartlomiej Plotka
efc43d0714
s/scrape_classic_histograms/always_scrape_classic_histograms (3.0 breaking change) (#15178)
This is for readability, especially when we can converting to nhcb option.

See discussion https://cloud-native.slack.com/archives/C077Z4V13AM/p1729155873397889

Signed-off-by: bwplotka <bwplotka@gmail.com>
2024-10-18 08:32:15 +01:00
Yi
2cabd1b707
config: remove expand-external-labels flag in release 3.0 (#14657)
remove expand-external-labels feature flag

and enabled env arg expansion for external labels by default.

Signed-off-by: jyz0309 <45495947@qq.com>
2024-10-17 10:25:05 +02:00
Arve Knudsen
de16f5e387
[FEATURE] PromQL: Add experimental info function MVP (#14495)
The `info` function is an experiment to improve UX
around including labels from info metrics.
`info` has to be enabled via the feature flag `--enable-feature=promql-experimental-functions`.

This MVP of info simplifies the implementation by assuming:
* Only support for the target_info metric
* That target_info's identifying labels are job and instance

Also:
* Encode info samples' original timestamp as sample value
* Deduce info series select hints from top-most VectorSelector

---------

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Ying WANG <ying.wang@grafana.com>
Co-authored-by: Augustin Husson <augustin.husson@amadeus.com>
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Co-authored-by: Björn Rabenstein <github@rabenste.in>
Co-authored-by: Bryan Boreham <bjboreham@gmail.com>
2024-10-16 13:52:11 +01:00
Julien
e6f9e2dde3
Merge pull request #15119 from roidelapluie/dochttp
docs: extract HTTP client option documentation in their own sections
2024-10-11 13:10:34 +02:00
Björn Rabenstein
5e987e7c7d
Merge pull request #15092 from jan--f/clarify-storage-contract
storage: require selectors to always return matching results
2024-10-09 13:07:59 +02:00
Julius Volz
90f7832447
Merge pull request #15084 from hvnsweeting/patch-1
docs: Querying basics: remove what can be graphed
2024-10-08 14:59:07 +02:00
Viet Hung Nguyen
f0a9f62ce8 [DOCS] Querying basics: what can be graphed
Put a scalar to query, it can be graphed.

So the doc says "an expression that returns an instant vector is the only type which can be graphed." is not correct?

And also, a query_range, which used for graph, always return a range vector <https://promlabs.com/blog/2020/06/18/the-anatomy-of-a-promql-query/#range-queries> , so it's confusing to read the above statement.

Signed-off-by: Viet Hung Nguyen <hvn@familug.org>
2024-10-08 21:16:26 +09:00
Bryan Boreham
b87b88ddc2
Merge branch 'main' into consul-catalog-filter-support
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-10-08 12:20:31 +01:00
Björn Rabenstein
576000a457
Merge pull request #15111 from prometheus/beorn7/doc
docs: Declare "float literals are time durations" as stable
2024-10-08 12:49:40 +02:00
Julien
7eb73b10d8 Remove http client config from consul and digitalocean
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 15:13:00 +02:00
Julien
57e3fd0c51 Remove http options from docker and dockerswarm sd
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 15:11:15 +02:00
Julien
5f13098403 Remove http client config from EC2 and PuppetDB
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 15:09:41 +02:00
Julien
409d924381 Remove client HTTP settings from HTTP SD and Hetzner SD
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 15:07:40 +02:00
Julien
62b26ac13c Remove HTTP config docs from Kuma, Kubernetes and IONOS
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 15:05:24 +02:00
Julien
04b12014a6 Remove http client docs from linode and lightsail
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 15:03:17 +02:00
Julien
530c3fc345 Remove HTTP client doc from nomad and marathon
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 15:01:01 +02:00
Julien
1dd45fd286 Remove http options from Eureka and Scaleway
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 14:57:54 +02:00
Julien
aef84c068b Remove http options from uyuni
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 14:55:58 +02:00
Julien
675349c849 Remove HTTP options from vultr
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 14:54:22 +02:00
Julien
6acf2dc054 Remove HTTP options from alerting
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 14:52:41 +02:00
Julien
e7206c2630 Remove http options from remote read/write
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 14:51:03 +02:00
Julien
261d7d75eb docs: extract HTTP client option documentation from scrape config
Extracted HTTP client options (e.g., authentication, proxy settings,
TLS configuration, and custom headers) into a dedicated section for
improved clarity and organization. This will centralize all HTTP-related
options from prometheus/common in one place within the documentation.

The remaining HTTP-related settings in sections (e.g. Service Discovery)
will be moved in a follow-up PR to further unify the documentation
structure.

Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 14:45:44 +02:00
beorn7
08d4b034da docs: Declare "float literals are time durations" as stable
This unifies the documentation of float literals and time durations
and updates all references to the old definitions.

Signed-off-by: beorn7 <beorn@grafana.com>
2024-10-07 14:22:49 +02:00
Julien
db730fcade Document the notifications API
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-10-07 14:18:54 +02:00
Jan Fajerski
563bfdd384 storage: require selectors to always return matching results
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-10-04 12:10:16 +02:00
Jesus Vazquez
77d3b3aff3
OTLP: Remove experimental word form OTLP receiver (#14894)
The OTLP receiver can now considered stable. We've had it for longer
than a year in main and has received constant improvements.

Signed-off-by: Jesus Vazquez <jesusvzpg@gmail.com>
2024-10-01 14:36:52 +02:00
Bryan Boreham
6b247c50d2 Revert "Merge pull request #14769 from roidelapluie/autoreload"
This reverts commit 50f5327f83, reversing
changes made to eb4004c344.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-09-30 17:10:32 -04:00
Julien
f9bbad1148 Limit the number of SSE Subscribers to 16 by default
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-27 15:51:51 +02:00
Björn Rabenstein
f74722841b
Merge pull request #14160 from alex-kattathra-johnson/issue-13959
Remove no-default-scrape-port featureFlag
2024-09-26 18:45:56 +02:00
Craig Ringer
15b68e989c Refer to staleness in instant vector documentation
The instant vector documentation does not explain which metric samples are selected - in particular, it makes no reference to staleness.

It's confusing when reading the docs to understand how exactly Prometheus selects the metrics to report: the most recent sample older than the search timestamp specified in the API request, so long as that metric is not "stale".

Signed-off-by: Craig Ringer <craig.ringer@enterprisedb.com>
2024-09-26 11:54:31 +12:00
Alex Johnson
be0f10054e Remove no-default-scrape-port featureFlag
Signed-off-by: Alex Johnson <alex.kattathra.johnson@gmail.com>
2024-09-25 10:13:19 -05:00
beorn7
a9243d4d2c docs: Improve, clarify, and fix documentation on scrape limits
In detail:

- Clarify that label name and value length limits are in byte,
  not in UTF-8 data points.

- More consistent formatting to keep 80 characters line limet.

- Clarify various misleading specifications around "per sample",
  "per scrape", "per scrape config", "per job"...

- Fix grammar.

Signed-off-by: beorn7 <beorn@grafana.com>
2024-09-24 14:55:54 +02:00
Björn Rabenstein
df9916ef66
Merge pull request #14677 from prometheus/beorn7/histogram
promql(native histograms): Introduce exponential interpolation
2024-09-19 18:08:59 +02:00
Jan Fajerski
96e5a94d29 promql: rename holt_winters to double_exponential_smoothing
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-09-19 15:29:01 +02:00
beorn7
6fcd225aee promql(native histograms): Introduce exponential interpolation
The linear interpolation (assuming that observations are uniformly
distributed within a bucket) is a solid and simple assumption in lack
of any other information. However, the exponential bucketing used by
standard schemas of native histograms has been chosen to cover the
whole range of observations in a way that bucket populations are
spread out over buckets in a reasonably way for typical distributions
encountered in real-world scenarios.

This is the origin of the idea implemented here: If we divide a given
bucket into two (or more) smaller exponential buckets, we "most
naturally" expect that the samples in the original buckets will split
among those smaller buckets in a more or less uniform fashion. With
this assumption, we end up with an "exponential interpolation", which
therefore appears to be a better match for histograms with exponential
bucketing.

This commit leaves the linear interpolation in place for NHCB, but
changes the interpolation for exponential native histograms to
exponential. This affects `histogram_quantile` and
`histogram_fraction` (because the latter is more or less the inverse
of the former).

The zero bucket has to be treated specially because the assumption
above would lead to an "interpolation to zero" (the bucket density
approaches infinity around zero, and with the postulated uniform usage
of buckets, we would end up with an estimate of zero for all quantiles
ending up in the zero bucket). We simply fall back to linear
interpolation within the zero bucket.

At the same time, this commit makes the call to stick with the
assumption that the zero bucket only contains positive observations
for native histograms without negative buckets (and vice versa). (This
is an assumption relevant for interpolation. It is a mostly academic
point, as the zero bucket is supposed to be very small anyway.
However, in cases where it _is_ relevantly broad, the assumption helps
a lot in practice.)

This commit also updates and completes the documentation to match both
details about interpolation.

As a more high level note: The approach here attempts to strike a
balance between a more simplistic approach without any assumption, and
a more involved approach with more sophisticated assumptions. I will
shortly describe both for reference:

The "zero assumption" approach would be to not interpolate at all, but
_always_ return the harmonic mean of the bucket boundaries of the
bucket the quantile ends up in. This has the advantage of minimizing
the maximum possible relative error of the quantile estimation.
(Depending on the exact definition of the relative error of an
estimation, there is also an argument to return the arithmetic mean of
the bucket boundaries.) While limiting the maximum possible relative
error is a good property, this approach would throw away the
information if a quantile is closer to the upper or lower end of the
population within a bucket. This can be valuable trending information
in a dashboard. With any kind of interpolation, the maximum possible
error of a quantile estimation increases to the full width of a bucket
(i.e. it more than doubles for the harmonic mean approach, and
precisely doubles for the arithmetic mean approach). However, in
return the _expectation value_ of the error decreases. The increase of
the theoretical maximum only has practical relevance for pathologic
distributions. For example, if there are thousand observations within
a bucket, they could _all_ be at the upper bound of the bucket. If the
quantile calculation picks the 1st observation in the bucket as the
relevant one, an interpolation will yield a value close to the lower
bucket boundary, while the true quantile value is close to the upper
boundary.

The "fancy interpolation" approach would be one that analyses the
_actual_ distribution of samples in the histogram. A lot of statistics
could be applied based on the information we have available in the
histogram. This would include the population of neighboring (or even
all) buckets in the histogram. In general, the resolution of a native
histogram should be quite high, and therefore, those "fancy"
approaches would increase the computational cost quite a bit with very
little practical benefits (i.e. just tiny corrections of the estimated
quantile value). The results are also much harder to reason with.

Signed-off-by: beorn7 <beorn@grafana.com>
2024-09-19 14:19:10 +02:00
Jan Fajerski
15cea39136 promql: put holt_winters behind experimental feature flag
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-09-18 15:39:58 +02:00
Nihal
d0d57ff642
[DOC] Add username_file in basic auth http client config (#12749)
Signed-off-by: Wasim Nihal <sswasim64@gmail.com>
2024-09-17 12:20:31 +01:00
Augustin Husson
6febfbb3be
put back feature flag 'delayed-compaction' and 'old-ui' (#14909)
Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
2024-09-16 15:46:28 +02:00
Jan Fajerski
722f33225c docs/feature_flags.md: drop agent feature flag
Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-09-14 14:03:59 +02:00
Nathan Baulch
50cd453c8f
chore: Fix typos (#14868)
* Fix typos

---------

Signed-off-by: Nathan Baulch <nathan.baulch@gmail.com>
2024-09-10 22:32:03 +02:00
Jan Fajerski
fa318711f4 Merge branch 'main' into 3.0-main-sync-24-09-09
Conflicts:
	cmd/prometheus/main.go
	docs/command-line/prometheus.md
	docs/feature_flags.md
	web/ui/build_ui.sh
	web/web.go
    Resolved by dropping the UTF-8 feature flag and adding the
    `auto-reload-config` feature flag.
    For the new web ui pick all changes from `main`.
2024-09-09 15:44:22 +02:00
Julius Volz
f1e0939f2f Document /api/v1/parse_expr endpoint
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-09 10:27:24 +02:00
Julius Volz
ad21ef3d76 Merge branch 'main' into mantine-ui
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-06 21:26:00 +02:00
Björn Rabenstein
694d98032b
Merge pull request #14705 from prometheus/owilliams/default-on
utf8: enable utf-8 support by default
2024-09-06 17:24:37 +02:00
Bartlomiej Plotka
edc83ed164
Update storage.md with the latest around Remote Write 2.0 (#14848)
* Update storage.md with the latest around Remote Write 2.0

Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>

* Update storage.md

Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>

---------

Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
2024-09-06 13:50:10 +01:00
Owen Williams
88bb05c3e8 utf8: enable utf-8 support by default
This change causes Prometheus to allow all UTF-8 characters in metric and label names.
This means that names that were previously invalid and would have been previously rejected will be allowed through.

Signed-off-by: Owen Williams <owen.williams@grafana.com>
2024-09-06 08:48:11 -04:00
Julien
404e577034
Merge pull request #14734 from roidelapluie/scrape_failure_logger
Add support for logging scrape failures to a specified file
2024-09-06 11:16:50 +02:00
machine424
cc40b65ab4 fix(promtool): use the final database path for --sandbox-dir-root instead of the default value as it may be overridden
add a regression test for that.

Signed-off-by: machine424 <ayoubmrini424@gmail.com>
2024-09-05 15:25:32 +02:00
Julien
be3597c272
Update autoreload documentation: recommend writing files atomically (#14836)
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-05 12:50:20 +01:00
machine424
d18fa62ae9
chore(discovery): enable new-service-discovery-manager by default and drop legacymanager package
Signed-off-by: machine424 <ayoubmrini424@gmail.com>
2024-09-05 12:46:03 +02:00
Julien
ce0f09b125 Scrape: Add scrape_failure_log_file to log Scrape Failures
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-05 11:01:40 +02:00
Julien
50f5327f83
Merge pull request #14769 from roidelapluie/autoreload
Support reload config automatically
2024-09-05 10:47:07 +02:00
Julius Volz
c73c3e24d7 Default to serving new (Prometheus 3.0) UI
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 21:33:37 +02:00
Julius Volz
490eef6509 Merge branch 'main' into mantine-ui
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-09-04 20:58:19 +02:00
Jan Fajerski
2f6fafd122 Merge branch 'release-3.0' into 3.0-main-sync-24-08-30
Conflicts:
	docs/command-line/prometheus.md
        regenerate via make cli-documentation
2024-09-04 20:08:31 +02:00
Arthur Silva Sens
ca1f30bb6e Promote Agent mode to it's own cmdline flag
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
2024-09-04 20:06:35 +02:00
Jan Fajerski
befcfadf78 Fix merge conflicts
Fix call to newTestEngine(t) in promql/engine_test.go:3214.
`agent` feature-flag it's own cmdline flag now.
Remove `scrape.name-escaping-scheme` argument.

Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-09-04 20:06:17 +02:00
Jan Fajerski
fe4289b502 Merge branch 'main' into HEAD 2024-09-04 18:50:00 +02:00
Julien
deabb30b20 Document custom HTTP headers and add tests
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-09-03 13:31:08 +02:00
Julien
93f27409cd
Merge pull request #14660 from roidelapluie/customheaders
Add documentation for custom headers.
2024-09-03 10:19:01 +02:00
Jan Fajerski
00315ce15e Merge branch 'main' into 3.0-main-sync-24-08-30
using -Xours

Signed-off-by: Jan Fajerski <jfajersk@redhat.com>
2024-09-02 11:27:18 +02:00
Julien
1cd2d0498b Support reload config automatically
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-08-30 17:12:44 +02:00
Arthur Silva Sens
60b9e9fc16
Promote Agent mode to it's own cmdline flag
Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
2024-08-29 14:45:09 -03:00
Kevin Rawal
b0677263c3
Update basics.md
fix broken URL for feature flags native histograms in querying prometheus documentation

Signed-off-by: Kevin Rawal <84058124+kevinrawal@users.noreply.github.com>
2024-08-29 23:06:31 +05:30
Jorge Creixell
e9e3d64b7c
PromQL engine: Delay deletion of __name__ label to the end of the query evaluation (#14477)
PromQL engine: Delay deletion of __name__ label to the end of the query evaluation

  - This change allows optionally preserving the `__name__` label via the `label_replace` and `label_join` functions, and helps prevent the dreaded "vector cannot contain metrics with the same labelset" error.
  - The implementation extends the `Series` and `Sample` structs with a boolean flag indicating whether the `__name__` label should be deleted at the end of the query evaluation.
  - The `label_replace` and `label_join` functions can still access the value of the `__name__` label, even if it has been previously marked for deletion. If  `__name__` is used as target label, it won't be dropped at the end of the query evaluation.
  - Fixes https://github.com/prometheus/prometheus/issues/11397
  - See https://github.com/jcreixell/prometheus/pull/2 for previous discussion, including the decision to create this PR and benchmark it before considering other alternatives (like refactoring `labels.Labels`).
  - See https://github.com/jcreixell/prometheus/pull/1 for an alternative implementation using a special label instead of boolean flags.
  - Note: a feature flag  `promql-delayed-name-removal` has been added as it changes the behavior of some "weird" queries (see https://github.com/prometheus/prometheus/issues/11397#issuecomment-1451998792)

Example (this always fails, as `__name__` is being dropped by `count_over_time`):

```
count_over_time({__name__!=""}[1m])

=> Error executing query: vector cannot contain metrics with the same labelset
```

Before:

```
label_replace(count_over_time({__name__!=""}[1m]), "__name__", "count_$1", "__name__", "(.+)")

=> Error executing query: vector cannot contain metrics with the same labelset
```

After:

```
label_replace(count_over_time({__name__!=""}[1m]), "__name__", "count_$1", "__name__", "(.+)")

=>
count_go_gc_cycles_automatic_gc_cycles_total{instance="localhost:9090", job="prometheus"} 1
count_go_gc_cycles_forced_gc_cycles_total{instance="localhost:9090", job="prometheus"} 1
...
```

Signed-off-by: Jorge Creixell <jcreixell@gmail.com>

---------

Signed-off-by: Jorge Creixell <jcreixell@gmail.com>
Signed-off-by: Björn Rabenstein <github@rabenste.in>
2024-08-29 15:50:39 +02:00
Julien Pivotto
ed2e18d7de Add documentation for custom headers.
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-08-29 10:04:45 +02:00
Suraj Patil
7757794bb3
[ENHANCEMENT] Promtool: Adding labels to time series while creating tsdb blocks (#14403)
* feat: #14402 - Adding labels to time series while creating tsdb blocks

Signed-off-by: Suraj Patil <patilsuraj767@gmail.com>
2024-08-28 12:12:24 +10:00
Bryan Boreham
4202be5e79 Merge branch 'release-2.54' into merge-2.54.1-into-main 2024-08-27 12:04:48 +01:00
Julien
349068ad3e
Merge pull request #14665 from roidelapluie/multiple-listening-addresses
Add support for multiple listening addresses
2024-08-26 10:31:23 +02:00
Björn Rabenstein
0a00d21cff
Merge pull request #14673 from machine424/docdoccc
docs(configuration.md): clarify the explanations about some temp labe…
2024-08-22 12:31:46 +02:00
Björn Rabenstein
7fad1ec8ee
Merge pull request #14655 from suntala/suntala/sort-by-label-enhancement
promql: Fall back to full label sets when sorting by label
2024-08-21 12:28:55 +02:00
Jan Fajerski
5138922b0d Merge branch 'main' into 3.0-main-sync-24-08-21 2024-08-21 09:09:36 +02:00
Björn Rabenstein
60366a8a05
Merge pull request #14526 from pawarpranav83/release-3.0
remove deprecated and replaced remote-write-receiver flag from enable-feature
2024-08-20 19:30:46 +02:00
machine424
88cac6fb49
docs(configuration.md): clarify the explanations about some temp labels and format for better visibility.
Signed-off-by: machine424 <ayoubmrini424@gmail.com>
2024-08-20 15:44:39 +02:00
Julien Pivotto
9b5e7623f4 Add support for multiple listening addresses
Fixes #9105

Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-08-20 13:09:16 +02:00
ouyang1204@gmail.com
89dee48cc8 fix the issue of failing to match the first network when the container is reconnected to a new network
Signed-off-by: ouyang1204@gmail.com <ouyang1204@gmail.com>
2024-08-19 21:26:25 +08:00
Ganesh Vernekar
e86e4ed87f
Merge pull request #14490 from ywwg/owilliams/utf8-02-upstream
feat(utf8): utf-8 content negotiation and flags
2024-08-16 17:23:42 -04:00
Owen Williams
9e7308de38 feat(utf8): utf8 content negotation and flags
Signed-off-by: Owen Williams <owen.williams@grafana.com>
2024-08-16 16:41:27 -04:00
Julien Pivotto
7711cd5ab5 Remove deprecated storage.tsdb.retention flag
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
Signed-off-by: Julien <roidelapluie@o11y.eu>
2024-08-16 13:53:09 +02:00