Commit graph

13011 commits

Author SHA1 Message Date
Ben Ye 5a218708f1
tsdb: Extend compactor interface to allow compactions to create multiple output blocks (#14143)
* add hook to allow head compaction to create multiple output blocks

Signed-off-by: Ben Ye <benye@amazon.com>

* change Compact interface; remove BlockPopulator changes

Signed-off-by: Ben Ye <benye@amazon.com>

* rebase main

Signed-off-by: Ben Ye <benye@amazon.com>

* fix lint

Signed-off-by: Ben Ye <benye@amazon.com>

* fix unit test

Signed-off-by: Ben Ye <benye@amazon.com>

* address feedbacks; add unit test

Signed-off-by: Ben Ye <benye@amazon.com>

* Apply suggestions from code review

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

* Update tsdb/compact_test.go

Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>

---------

Signed-off-by: Ben Ye <benye@amazon.com>
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
Co-authored-by: Ganesh Vernekar <ganeshvern@gmail.com>
2024-06-12 17:31:25 -04:00
Sebastian Rabenhorst 05380aa0ac
agent db: make rejecting ooo samples configurable (#14094)
feat: Make OOO ingestion time window configurable for Prometheus Agent.

Signed-off-by: Sebastian Rabenhorst <sebastian.rabenhorst@shopify.com>
2024-06-12 11:07:42 -03:00
Oleg Zaytsev 64a9abb8be
Change LabelValuesFor() to accept index.Postings (#14280)
The only call we have to LabelValuesFor() has an index.Postings, and we
expand it to pass to this method, which will iterate over the values.

That's a waste of resources: we can iterate on the index.Postings
directly.

If there's any downstream implementation that has a slice of series,
they can always do an index.ListPostings from them: doing that is
cheaper than expanding an abstract index.Postings.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2024-06-11 15:36:46 +02:00
Ben Kochie 7f0caf7229
Merge pull request #14285 from prometheus/superq/tune_gogc
Tune default GOGC
2024-06-11 11:14:50 +02:00
Julien b31aaa6f8a
Merge pull request #14282 from parnavh/fix-broken-link
fix: broken link on github mobile
2024-06-11 10:12:42 +02:00
SuperQ ea2b39a31e
Tune default GOGC
Adjust the default GOGC value to 75. This is less of a memory savings,
but has less impact on CPU use.

Signed-off-by: SuperQ <superq@gmail.com>
2024-06-11 03:44:06 +02:00
Ranveer Avhad 39902ba694
[BUGFIX] FastRegexpMatcher: do Unicode normalization as part of case-insensitive comparison (#14170)
* Converted string to standarized form
* Added golang.org/x/text in Go dependencies
* Added test cases for FastRegexMatcher
* Added benchmark for toNormalizedLower

Signed-off-by: RA <ranveeravhad777@gmail.com>
2024-06-10 18:31:41 -04:00
Bryan Boreham 64c5cc5134
Merge pull request #14209 from bboreham/api-error-url
[ENHANCEMENT] HTTP API: Add url to errors logged while sending response
2024-06-11 01:09:11 +03:00
Bryan Boreham c5d923aa7c
Merge pull request #14279 from colega/fix-label-names-for-not-found
headIndexReader.LabelNamesFor: skip not found series
2024-06-11 01:06:19 +03:00
Sergey 5a5a6f08ef
chore: use HumanizeDuration from prometheus/common (#14202)
* chore: use HumanizeDuration from prometheus/common

Signed-off-by: Sergey <freak12techno@gmail.com>

* chore: fixed linting

Signed-off-by: Sergey <freak12techno@gmail.com>

* chore: review fixes

---------

Signed-off-by: Sergey <freak12techno@gmail.com>
2024-06-10 20:40:11 +02:00
Rens Groothuijsen 19fd5212c3
docs: clarify default Docker command line parameters (#14194)
* docs: clarify default Docker command line parameters

Signed-off-by: Rens Groothuijsen <l.groothuijsen@alumni.maastrichtuniversity.nl>

* docs: move Docker command line parameters section and refer to Dockerfile

Signed-off-by: Rens Groothuijsen <l.groothuijsen@alumni.maastrichtuniversity.nl>

* Add link to Dockerfile in documentation

Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
Signed-off-by: Rens Groothuijsen <l.groothuijsen@alumni.maastrichtuniversity.nl>

---------

Signed-off-by: Rens Groothuijsen <l.groothuijsen@alumni.maastrichtuniversity.nl>
Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
2024-06-10 20:16:02 +02:00
Oleg Zaytsev 10a3c7220b
MemPostings.PostingsForLabelMatching(): don't hold the mutex while matching (#14286)
* MemPostings.PostingsForLabelMatching: let mutex go

This changes the `MemPostings.PostingsForLabelMatching` implementation
to stop holding the read mutex while matching the label values.

We've seen that this method can be slow when the matcher is expensive,
that's why we even added a context expiration check.

However, there are critical process that might be waiting on this mutex:
writes (adding new series) and compaction (deleting the
garbage-collected ones), so we should avoid holding it for a long period
of time.

Given that we've copied the values to a slice anyway, there's no need to
hold the lock while matching.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2024-06-10 14:24:17 +02:00
Oleg Zaytsev 2dc177d8af
MemPostings.Delete(): reduce locking/unlocking (#13286)
* MemPostings: reduce locking/unlocking

MemPostings.Delete is called from Head.gc(), i.e. it gets the IDs of the
series that have churned.

I'd assume that many label values aren't affected by that churn at all,
so it doesn't make sense to touch the lock while checking them.

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2024-06-10 14:23:22 +02:00
Björn Rabenstein 08621bebe9
Merge pull request #14269 from prometheus/beorn7/histogram-test
promql: Add tests for histogram counter reset only in bucket
2024-06-08 16:59:47 +02:00
parnavh c92a5773b2 fix: broken link on github mobile
Signed-off-by: parnavh <parnav100sach@gmail.com>
2024-06-08 20:23:46 +05:30
Oleg Zaytsev d0d361da53
headIndexReader.LabelNamesFor: skip not found series
It's quite common during the compaction cycle to hold series IDs for
series that aren't in the TSDB head anymore.

We shouldn't fail if that happens, as the caller has no way to figure
out which one of the IDs doesn't exist.

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

Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2024-06-07 16:09:53 +02:00
Marco Pracucci edd558884b
Fix Group.Equals() to take in account the new queryOffset too (#14273)
Signed-off-by: Marco Pracucci <marco@pracucci.com>
2024-06-06 18:47:36 +01:00
Ben Kochie 51e303d450
Merge pull request #14244 from prometheus/dependabot/npm_and_yarn/web/ui/http-proxy-middleware-3.0.0
build(deps): bump http-proxy-middleware from 2.0.6 to 3.0.0 in /web/ui
2024-06-06 19:15:58 +02:00
Ben Kochie be0d51278c
Merge pull request #14270 from prometheus/dependabot/npm_and_yarn/web/ui/types/sinon-17.0.3
build(deps-dev): bump @types/sinon from 10.0.20 to 17.0.3 in /web/ui
2024-06-06 19:12:15 +02:00
Ben Kochie 3ca40003e3
Merge pull request #14272 from prometheus/dependabot/npm_and_yarn/web/ui/eslint-config-prettier-9.1.0
build(deps-dev): bump eslint-config-prettier from 8.10.0 to 9.1.0 in /web/ui
2024-06-06 19:11:38 +02:00
Ben Kochie 77f782026c
Merge pull request #14271 from prometheus/dependabot/npm_and_yarn/web/ui/codemirror/commands-6.6.0
build(deps): bump @codemirror/commands from 6.3.2 to 6.6.0 in /web/ui
2024-06-06 19:11:07 +02:00
Bryan Boreham 6fb738af51
Merge pull request #14173 from pracucci/fastregexmatcher-optimize-contains
Improve contains check done by FastRegexMatcher
2024-06-06 19:59:23 +03:00
dependabot[bot] 3db2d8ef2e
build(deps-dev): bump eslint-config-prettier in /web/ui
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 8.10.0 to 9.1.0.
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v8.10.0...v9.1.0)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 16:38:43 +00:00
dependabot[bot] f58f539c53
build(deps): bump @codemirror/commands from 6.3.2 to 6.6.0 in /web/ui
Bumps [@codemirror/commands](https://github.com/codemirror/commands) from 6.3.2 to 6.6.0.
- [Changelog](https://github.com/codemirror/commands/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/commands/compare/6.3.2...6.6.0)

---
updated-dependencies:
- dependency-name: "@codemirror/commands"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 16:37:28 +00:00
dependabot[bot] 9bfc47f1f7
build(deps-dev): bump @types/sinon from 10.0.20 to 17.0.3 in /web/ui
Bumps [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) from 10.0.20 to 17.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sinon)

---
updated-dependencies:
- dependency-name: "@types/sinon"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 16:37:10 +00:00
Ben Kochie 687b9c2d62
Merge pull request #14262 from prometheus/dependabot/npm_and_yarn/web/ui/types/node-20.14.2
build(deps-dev): bump @types/node from 20.10.4 to 20.14.2 in /web/ui
2024-06-06 17:59:45 +02:00
Charles Korn 1f988f77ff
promql: extend test scripting language to support asserting on expected error message (#14038)
Add ability to assert that a query fails with a particular error message

This also adds documentation for the test scripting language in general,
including the new feature.

Signed-off-by: Charles Korn <charles.korn@grafana.com>

---------

Signed-off-by: Charles Korn <charles.korn@grafana.com>
2024-06-06 17:56:25 +02:00
beorn7 c7fdfe8004 promql: Add tests for histogram counter reset only in bucket
This also exercises the "fast path" (only decoding count and sum),
i.e. where the counter reset isn't visible at all in the decoded data.

Signed-off-by: beorn7 <beorn@grafana.com>
2024-06-06 17:47:38 +02:00
Filip Petkovski 6e68046c25
Implement histogram statistics decoder (#14097)
Implement histogram statistics decoder

This commit speeds up histogram_count and histogram_sum
functions on native histograms. The idea is to have separate decoders which can be
used by the engine to only read count/sum values from histogram objects. This should help
with reducing allocations when decoding histograms, as well as with speeding up aggregations
like sum since they will be done on floats and not on histogram objects.

Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>

---------

Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2024-06-06 17:17:13 +02:00
dependabot[bot] 0661b9076f
build(deps): bump http-proxy-middleware from 2.0.6 to 3.0.0 in /web/ui
Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.6 to 3.0.0.
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/master/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v3.0.0)

---
updated-dependencies:
- dependency-name: http-proxy-middleware
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 13:58:59 +00:00
Ben Kochie ee0527e0c6
Merge pull request #14260 from prometheus/dependabot/npm_and_yarn/web/ui/types/jquery-3.5.30
build(deps-dev): bump @types/jquery from 3.5.29 to 3.5.30 in /web/ui
2024-06-06 15:57:29 +02:00
Ben Kochie 89ab04b3ef
Merge pull request #14265 from prometheus/dependabot/npm_and_yarn/web/ui/downshift-9.0.6
build(deps): bump downshift from 7.6.2 to 9.0.6 in /web/ui
2024-06-06 15:56:52 +02:00
Ben Kochie 5f12cf5bbd
Merge pull request #14257 from prometheus/dependabot/npm_and_yarn/web/ui/moment-timezone-0.5.45
build(deps): bump moment-timezone from 0.5.43 to 0.5.45 in /web/ui
2024-06-06 15:56:08 +02:00
Ben Kochie afd26e5019
Merge pull request #14264 from prometheus/dependabot/npm_and_yarn/web/ui/lezer/generator-1.7.0
build(deps-dev): bump @lezer/generator from 1.5.1 to 1.7.0 in /web/ui
2024-06-06 15:55:51 +02:00
Ben Kochie fed911e8e0
Merge pull request #14233 from prometheus/dependabot/npm_and_yarn/web/ui/fortawesome/free-solid-svg-icons-6.5.2
build(deps): bump @fortawesome/free-solid-svg-icons from 6.5.1 to 6.5.2 in /web/ui
2024-06-06 15:55:10 +02:00
Ben Kochie d433d200f6
Merge pull request #14263 from prometheus/dependabot/npm_and_yarn/web/ui/codemirror/language-6.10.2
build(deps): bump @codemirror/language from 6.9.3 to 6.10.2 in /web/ui
2024-06-06 15:54:45 +02:00
Ben Kochie 50e3712651
Merge pull request #14266 from prometheus/dependabot/npm_and_yarn/web/ui/nock-13.5.4
build(deps-dev): bump nock from 13.4.0 to 13.5.4 in /web/ui
2024-06-06 15:54:07 +02:00
dependabot[bot] 6205b54e7d
build(deps): bump @codemirror/language from 6.9.3 to 6.10.2 in /web/ui
Bumps [@codemirror/language](https://github.com/codemirror/language) from 6.9.3 to 6.10.2.
- [Changelog](https://github.com/codemirror/language/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/language/compare/6.9.3...6.10.2)

---
updated-dependencies:
- dependency-name: "@codemirror/language"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 12:14:52 +00:00
dependabot[bot] 5c498b7202
build(deps): bump moment-timezone from 0.5.43 to 0.5.45 in /web/ui
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.43 to 0.5.45.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.43...0.5.45)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 12:14:12 +00:00
Ben Kochie 22bad5ab20
Merge pull request #14259 from prometheus/dependabot/npm_and_yarn/web/ui/codemirror/lint-6.8.0
build(deps): bump @codemirror/lint from 6.4.2 to 6.8.0 in /web/ui
2024-06-06 14:13:47 +02:00
Ben Kochie 1db6a580e2
Merge pull request #14261 from prometheus/dependabot/npm_and_yarn/web/ui/moment-2.30.1
build(deps): bump moment from 2.29.4 to 2.30.1 in /web/ui
2024-06-06 14:13:09 +02:00
dependabot[bot] 638a11b797
build(deps-dev): bump nock from 13.4.0 to 13.5.4 in /web/ui
Bumps [nock](https://github.com/nock/nock) from 13.4.0 to 13.5.4.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nock/nock/compare/v13.4.0...v13.5.4)

---
updated-dependencies:
- dependency-name: nock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 11:29:05 +00:00
dependabot[bot] 35704bee02
build(deps): bump downshift from 7.6.2 to 9.0.6 in /web/ui
Bumps [downshift](https://github.com/downshift-js/downshift) from 7.6.2 to 9.0.6.
- [Release notes](https://github.com/downshift-js/downshift/releases)
- [Changelog](https://github.com/downshift-js/downshift/blob/master/CHANGELOG.md)
- [Commits](https://github.com/downshift-js/downshift/compare/v7.6.2...v9.0.6)

---
updated-dependencies:
- dependency-name: downshift
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 11:28:25 +00:00
dependabot[bot] 9ebc630d10
build(deps-dev): bump @lezer/generator from 1.5.1 to 1.7.0 in /web/ui
Bumps [@lezer/generator](https://github.com/lezer-parser/generator) from 1.5.1 to 1.7.0.
- [Changelog](https://github.com/lezer-parser/generator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lezer-parser/generator/compare/1.5.1...1.7.0)

---
updated-dependencies:
- dependency-name: "@lezer/generator"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 11:27:49 +00:00
dependabot[bot] 1e904a7aa9
build(deps-dev): bump @types/node from 20.10.4 to 20.14.2 in /web/ui
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.10.4 to 20.14.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 11:26:55 +00:00
dependabot[bot] da6bfe62d1
build(deps): bump moment from 2.29.4 to 2.30.1 in /web/ui
Bumps [moment](https://github.com/moment/moment) from 2.29.4 to 2.30.1.
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.4...2.30.1)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 11:26:15 +00:00
dependabot[bot] aec8355b80
build(deps-dev): bump @types/jquery from 3.5.29 to 3.5.30 in /web/ui
Bumps [@types/jquery](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jquery) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jquery)

---
updated-dependencies:
- dependency-name: "@types/jquery"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 11:25:45 +00:00
dependabot[bot] 38d459968c
build(deps): bump @codemirror/lint from 6.4.2 to 6.8.0 in /web/ui
Bumps [@codemirror/lint](https://github.com/codemirror/lint) from 6.4.2 to 6.8.0.
- [Changelog](https://github.com/codemirror/lint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lint/compare/6.4.2...6.8.0)

---
updated-dependencies:
- dependency-name: "@codemirror/lint"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 11:24:57 +00:00
dependabot[bot] f6fcca5800
build(deps): bump @fortawesome/free-solid-svg-icons in /web/ui
Bumps [@fortawesome/free-solid-svg-icons](https://github.com/FortAwesome/Font-Awesome) from 6.5.1 to 6.5.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.5.1...6.5.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/free-solid-svg-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 11:23:14 +00:00
Ben Kochie 74184e137a
Merge pull request #14234 from prometheus/dependabot/npm_and_yarn/web/ui/fortawesome/fontawesome-svg-core-6.5.2
build(deps): bump @fortawesome/fontawesome-svg-core from 6.5.1 to 6.5.2 in /web/ui
2024-06-06 13:22:16 +02:00