Bryan Boreham
cb6c4b3092
promql: simplify k/q parameter to topk/bottomk/quantile
...
Pass it as a float64 not as interface{}.
Make k a simple int, since that is the parameter to make().
Pull invalid quantile warning out of the loop.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
Bryan Boreham
b3bda7df4b
promql: aggregations: skip copying input to a Vector
...
We can work directly from the inputMatrix on each timestep.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
Bryan Boreham
c9b6c4c55a
promql: aggregations: output directly to matrix for instant queries
...
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
Bryan Boreham
3851b74db1
promql: aggregations: skip result vector in range queries
...
Adjust test to match the lower count, since samples in the vector
are no longer counted.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
Bryan Boreham
59548b8a0b
promql: refactor: move collection of results into aggregation()
...
We don't need to check for duplicates as aggregation cannot generate them.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
Bryan Boreham
bd9bdccb22
promql: refactor: simplify internal data structures
...
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
Bryan Boreham
5f10d17cef
promql: refactor: split out aggregations over range
...
The new function `rangeEvalAgg` is mostly a copy of `rangeEval`, but
without `initSeries` which we don't need and inlining the callback to
`aggregation()`.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
Bryan Boreham
e5f667537c
promql: refactor: initialize aggregation before storing in map
...
This seems more consistent to me.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
Bryan Boreham
29244fb841
promql: refactor: extract count_values implementation
...
The existing aggregation function is very long and covers very different
cases.
`aggregationCountValues` is just for `count_values`, which differs from
other aggregations in that it outputs as many series per group as there
are values in the input.
Remove the top-level switch on string parameter type; use the same `Op`
check there as elswehere.
Pull checking parameters out to caller, where it is only executed once.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
Bryan Boreham
8e04ab6dd4
promql: refactor: extract generateGroupingLabels function
...
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-05 15:47:54 +01:00
David Ashpole
bbfc72b4e2
support unregistering discovery manager metrics ( #13896 )
...
Signed-off-by: David Ashpole <dashpole@google.com>
2024-04-05 16:19:07 +02:00
Julien
8b72ed77f8
Merge pull request #13869 from prometheus/dependabot/go_modules/go-opentelemetry-io-1393210b43
...
build(deps): bump the go-opentelemetry-io group with 3 updates
2024-04-05 14:59:36 +02:00
Sven Dewit
dc7d3fbc3c
fix: scrape_config/interval relabelling is not experimental any more
...
Signed-off-by: Sven Dewit <sven.dewit@1und1.de>
2024-04-05 12:22:16 +02:00
Julien
8eb9228af8
Merge pull request #13864 from yeya24/expose-compactor-metrics
...
Expose compactor metrics
2024-04-05 11:24:41 +02:00
Julien
48c8ec19bc
Merge pull request #13882 from prometheus/update-featureflag-docs
...
Update documentation about existing feature-flags
2024-04-05 11:22:46 +02:00
dandrucz
38b75bc0d7
Linode IPv6 Range support, Optional region filtering, Missing fields in Documentation fixed ( #13774 )
...
* Add support for discovering Linode IPv6 ranges associated with linodes.
* Add optional but recommended region filtering (faster queries, more relevant information).
* Added missing fields in configuration.md, updated linode test cases.
* Convert to TableDrivenTests as per tjhop request.
Signed-off-by: David Andruczyk <dandrucz@akamai.com>
2024-04-05 09:31:59 +01:00
Jonathan Halterman
113938aeb8
Log out of order when writing a block ( #13888 )
...
Signed-off-by: Jonathan Halterman <jonathan@grafana.com>
2024-04-04 14:26:13 +02:00
Bryan Boreham
8799581b24
Merge pull request #13554 from machine424/k8s-failures
...
discovery(k8s): add metric prometheus_sd_kubernetes_failures_total
2024-04-04 10:43:44 +01:00
komisan19
0249e080b4
refactor: utilize standard functions max/min
...
Signed-off-by: komisan19 <18901496+komisan19@users.noreply.github.com>
2024-04-04 03:15:38 +09:00
Bryan Boreham
31491eb37c
Merge pull request #13885 from bboreham/readable-test
...
[TESTS] Truncate some long test names, for readability
2024-04-03 16:55:14 +01:00
Bryan Boreham
7c28521451
[TESTS] Truncate some long test names, for readability
...
The strings produced by these tests can run to thousands of characters,
which makes test logs difficult to read.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-03 10:10:39 +01:00
Charles Korn
cd72ebb05f
promql: include more details in error message when creating test query fails or an unexpected series is returned ( #13847 )
...
* promql: include more details in error message when creating test query fails
Signed-off-by: Charles Korn <charles.korn@grafana.com>
* Include more details when an unexpected metric is returned
Signed-off-by: Charles Korn <charles.korn@grafana.com>
---------
Signed-off-by: Charles Korn <charles.korn@grafana.com>
2024-04-03 10:57:08 +02:00
Nicolas Takashi
8125634086
[refactor] moving mergedOOOChunks Iterator ( #13881 )
...
Signed-off-by: Nicolas Takashi <nicolas.tcs@hotmail.com>
2024-04-03 10:14:34 +02:00
Arthur Silva Sens
db64d2dcdc
Update documentation about existing feature-flags
...
Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>
2024-04-02 19:18:57 -03:00
Julius Volz
9b7de47787
Remove unused Dmn field on EvalNodeHelper ( #13877 )
...
https://github.com/prometheus/prometheus/pull/13446 removed the last usage of
this field, but didn't remove the field.
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2024-04-02 18:45:46 +02:00
dependabot[bot]
b9453ff51f
build(deps): bump bufbuild/buf-lint-action from 1.1.0 to 1.1.1
...
Bumps [bufbuild/buf-lint-action](https://github.com/bufbuild/buf-lint-action ) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/bufbuild/buf-lint-action/releases )
- [Commits](044d13acb1...06f9dd823d
)
---
updated-dependencies:
- dependency-name: bufbuild/buf-lint-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 23:44:18 +00:00
dependabot[bot]
785f761004
build(deps): bump bufbuild/buf-breaking-action from 1.1.2 to 1.1.4
...
Bumps [bufbuild/buf-breaking-action](https://github.com/bufbuild/buf-breaking-action ) from 1.1.2 to 1.1.4.
- [Release notes](https://github.com/bufbuild/buf-breaking-action/releases )
- [Commits](f47418c81c...c57b3d842a
)
---
updated-dependencies:
- dependency-name: bufbuild/buf-breaking-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 23:44:13 +00:00
dependabot[bot]
2e6c1c35a4
build(deps): bump the go-opentelemetry-io group with 3 updates
...
Bumps the go-opentelemetry-io group with 3 updates: [go.opentelemetry.io/collector/featuregate](https://github.com/open-telemetry/opentelemetry-collector ), [go.opentelemetry.io/collector/pdata](https://github.com/open-telemetry/opentelemetry-collector ) and [go.opentelemetry.io/collector/semconv](https://github.com/open-telemetry/opentelemetry-collector ).
Updates `go.opentelemetry.io/collector/featuregate` from 1.3.0 to 1.4.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.3.0...pdata/v1.4.0 )
Updates `go.opentelemetry.io/collector/pdata` from 1.3.0 to 1.4.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.3.0...pdata/v1.4.0 )
Updates `go.opentelemetry.io/collector/semconv` from 0.96.0 to 0.97.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/v0.96.0...v0.97.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/collector/featuregate
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/collector/pdata
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/collector/semconv
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: go-opentelemetry-io
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 23:37:04 +00:00
dependabot[bot]
1eb88a8723
build(deps): bump github.com/prometheus/prometheus
...
Bumps [github.com/prometheus/prometheus](https://github.com/prometheus/prometheus ) from 0.50.1 to 0.51.1.
- [Release notes](https://github.com/prometheus/prometheus/releases )
- [Changelog](https://github.com/prometheus/prometheus/blob/main/CHANGELOG.md )
- [Commits](https://github.com/prometheus/prometheus/compare/v0.50.1...v0.51.1 )
---
updated-dependencies:
- dependency-name: github.com/prometheus/prometheus
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 23:33:16 +00:00
Augustin Husson
9e2c335bab
Merge pull request #13855 from prometheus/merge-2.51-into-main
...
Merge 2.51.1 into main
2024-04-01 21:54:20 +02:00
carehabit
a672662073
all: fix some typos ( #13863 )
...
Signed-off-by: carehabit <shenyuting@outlook.com>
2024-04-01 18:06:05 +02:00
dependabot[bot]
a1d4fc71c6
build(deps): bump actions/checkout from 4.1.1 to 4.1.2
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](b4ffde65f4...9bb56186c3
)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 12:30:53 +00:00
Bryan Boreham
5e2caa32e7
Merge pull request #13856 from bboreham/release-ci-needs
...
CI: Publish step should require all Go tests to pass
2024-04-01 13:30:11 +01:00
Ben Ye
ded35ef20d
expose compactor metrics
...
Signed-off-by: Ben Ye <benye@amazon.com>
2024-03-31 15:10:29 -07:00
Arthur Silva Sens
b51bbdd7ad
Merge pull request #13862 from nicolastakashi/refactor/moving-mergedOOOChunks-struct
...
[refactor] moving mergedOOOChunks to ooo_head_read
2024-03-29 20:51:38 -03:00
Nicolas Takashi
79d6750364
Merge branch 'prometheus:main' into refactor/moving-mergedOOOChunks-struct
2024-03-29 23:33:38 +00:00
Nicolas Takashi
0b762db154
[refactor] moving mergedOOOChunks to ooo_head_read
...
Signed-off-by: Nicolas Takashi <nicolas.tcs@hotmail.com>
2024-03-29 23:33:15 +00:00
Bryan Boreham
c97a066bbc
Merge pull request #13861 from simonpasquier/fix-sendall-deadlock
...
Notifier: fix deadlock when zero alerts
2024-03-29 19:37:51 +00:00
Simon Pasquier
8bd6ae1b20
Notifier: fix deadlock when zero alerts
...
When all alerts were dropped after alert relabeling, the `sendAll()`
function didn't release the lock properly which created a deadlock with
the Alertmanager target discovery.
In addition, the commit detects early when there are no Alertmanager
endpoint to notify to avoid unnecessary work.
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2024-03-29 15:44:05 +01:00
Arthur Silva Sens
6a66f1f579
Merge pull request #13859 from prometheus/beorn7/release
...
Appoint release shepherds for v2.52 and v2.53
2024-03-28 19:09:57 -03:00
beorn7
fc3ad66539
Appoint release shepherds for v2.52 and v2.53
...
Note that we have delayed v2.52 by a week to avoid collisions with
events and travels.
Signed-off-by: beorn7 <beorn@grafana.com>
2024-03-28 18:33:39 +01:00
Björn Rabenstein
d81e41d58e
Merge pull request #13854 from prometheus/beorn7/testing
...
promql: Fix histogram comparison in test framework
2024-03-28 13:47:28 +01:00
Bryan Boreham
255098e053
CI: Publish step should require all Go tests to pass
...
This was an unintentional effect of splitting out Go tests into multiple
parallel blocks.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-03-28 10:06:28 +00:00
Bryan Boreham
e1a5886c88
Merge branch 'main' into merge-2.51-into-main
...
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-03-28 10:00:25 +00:00
Bryan Boreham
855b5ac4b8
Cut release 2.51.1 ( #13853 )
...
* Cut release 2.51.1
Co-authored-by: George Krajcsovits <krajorama@users.noreply.github.com>
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-03-28 09:23:45 +00:00
beorn7
65b4696b88
promql: Remove leftover debug output
...
Signed-off-by: beorn7 <beorn@grafana.com>
2024-03-27 19:02:27 +01:00
beorn7
2c1f9558b2
promql: Fix histogram comparison in test framework
...
The definition of histograms in the test framework may create
histograms in a non-compact form. Since histogram comparison relies on
exact equality of the bucket layout, we have to compact the histograms
created by the test framework language before comparing them to
histograms returned from the PromQL engine.
Signed-off-by: beorn7 <beorn@grafana.com>
2024-03-27 19:00:16 +01:00
György Krajcsovits
2a4aa085d2
Merge branch 'main' into nhcb
2024-03-27 18:42:10 +01:00
George Krajcsovits
4eab18abd6
[nhcb branch] Use single bit to differentiate between optimized bounds and floats ( #13828 )
...
* Use single bit to differentiate between optimized bounds and floats
Use one bit to decide what kind of data to read/write.
This reduces storage need of floats from 72 bits to 65 bits and makes the
integers store in 5 to 32 bits instead of 16.
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Signed-off-by: Jeanette Tan <jeanette.tan@grafana.com>
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
Signed-off-by: Jeanette Tan <jeanette.tan@grafana.com>
Signed-off-by: George Krajcsovits <krajorama@users.noreply.github.com>
Co-authored-by: Jeanette Tan <jeanette.tan@grafana.com>
2024-03-27 18:40:59 +01:00
George Krajcsovits
dc7b282d39
engine_test: adjust and comment histogram sample counts ( #13841 )
...
The size of histogram points are now bigger by 24 bytes due to the
custom values slice.
When histograms are loaded into partial results in vector selectors
we use HPoint type where the size is calculated as
(size of histogram + 8 for timestamp)/16.
a3d1a46eda/promql/value.go (L176)
When histograms are put into Sample type in range evaluations, the
Sample has more overhead and the size is calculated differently:
(size of histogram / 16) + 1 for time stamp.
a3d1a46eda/promql/engine.go (L1928)
When the size of the histogram is 16k, then the first calculation gives k
but the second gives k+1 for the sample count.
If the histogram size is 16k+8, then both would give k+1.
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2024-03-27 18:19:14 +01:00