Commit graph

11115 commits

Author SHA1 Message Date
Filip Petkovski 7a78897d0b
Improve reliability of Kubernetes SD tests (#10761)
The tests for Kubernetes SD rely on comparing target groups by first
serializing them to JSON. However, the target group MarshalJSON function
only serializes the __address__ label, which makes eliminates all other
labels from the comparison.

This commit implements a separate marshaling function intended for use in
Kubernetes SD tests. The function serializes all target labels, making
comparisons much more reliable. The commit also fixes all tests that
started to fail due to the newly introduced change.

Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
2022-06-07 16:19:40 +01:00
Filip Petkovski a56731126d
Export TSDB status structs (#10783)
We would like to implement the tsdb/status API in certain Thanos
components.

In order to match the Prometheus API and avoid duplicating code,
this commit makes the structs used in the status API public.

Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
2022-06-07 16:13:21 +01:00
Bryan Boreham 2e2c014d52
Labels: optimise creation of signature with/without labels (#10667)
* Labels: create signature with/without labels

Instead of creating a new Labels slice then converting to signature,
go directly to the signature and save time.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

* Labels: refactor Builder tests

Have one test with a range of cases, and have them check the final
output rather than checking the internal structure of the Builder.

Also add a couple of cases where the value is "", which should be
interpreted as 'delete'.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

* Labels: add 'Keep' function to Builder

This lets us replace `Labels.WithLabels` with the more general `Builder`.

In `engine.resultMetric()` we can call `Keep()` instead of checking
and calling `Del()`.

Avoid calling `Sort()` in `Builder.Labels()` if we didn't add anything,
so that `Keep()` has the same performance as `WithLabels()`.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2022-06-07 10:08:27 +05:30
Julien Pivotto 143a760e76
Hetzner SD: Implement set directory (#10813)
Makes path relative to Prometheus config file.

Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
2022-06-05 07:54:43 +02:00
Łukasz Mierzwa b11062bfcc
Don't count added labels when initializing slice (#10756)
This was added in #10749 but based on feedback it might be over-allocating so worth removing.

Signed-off-by: Łukasz Mierzwa <l.mierzwa@gmail.com>
2022-06-04 08:45:02 +05:30
David Leadbeater 355b8bcf0b
Add --lint-fatal option (#10815)
This keeps the previous behaviour of printing details about duplicate
rules but doesn't exit with a fatal exit code unless turned on.

Signed-off-by: David Leadbeater <dgl@dgl.cx>
2022-06-03 23:33:39 +10:00
dependabot[bot] 636f7e5483
build(deps): bump k8s.io/apimachinery from 0.24.0 to 0.24.1 (#10806)
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.24.0 to 0.24.1.
- [Release notes](https://github.com/kubernetes/apimachinery/releases)
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.24.0...v0.24.1)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-03 13:48:47 +02:00
Matthieu MOREL f43749e82f
refactor (discovery): move from github.com/pkg/errors to 'errors' and 'fmt' (#10807)
Signed-off-by: Matthieu MOREL <mmorel-35@users.noreply.github.com>

Co-authored-by: Matthieu MOREL <mmorel-35@users.noreply.github.com>
2022-06-03 13:47:14 +02:00
Matthieu MOREL 12de742ae4
refactor (documentation): move from github.com/pkg/errors to 'errors' and 'fmt' (#10808)
Signed-off-by: Matthieu MOREL <mmorel-35@users.noreply.github.com>

Co-authored-by: Matthieu MOREL <mmorel-35@users.noreply.github.com>
2022-06-03 13:27:01 +02:00
Julien Pivotto 8801b01468
Merge back Release 2.36 (#10803)
* Update CHANGELOG for v2.36

Signed-off-by: Matthias Loibl <mail@matthiasloibl.com>

* Cut v2.36.0

Signed-off-by: Matthias Loibl <mail@matthiasloibl.com>

* Remove go version wording from changelog (#10778)

Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>

Co-authored-by: Matthias Loibl <mail@matthiasloibl.com>
2022-06-03 10:22:45 +02:00
dependabot[bot] ad198b081b
build(deps): bump github.com/linode/linodego from 1.5.0 to 1.6.0 (#10792)
Bumps [github.com/linode/linodego](https://github.com/linode/linodego) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](https://github.com/linode/linodego/compare/v1.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: github.com/linode/linodego
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-03 10:11:16 +02:00
dependabot[bot] c7298b4b08
build(deps): bump github.com/hashicorp/consul/api from 1.12.0 to 1.13.0 (#10794)
Bumps [github.com/hashicorp/consul/api](https://github.com/hashicorp/consul) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/hashicorp/consul/releases)
- [Changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/consul/compare/v1.12.0...api/v1.13.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/consul/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-03 10:11:06 +02:00
Julien Pivotto 4cb32a001e
Remove go version wording from changelog (#10778)
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
2022-06-03 00:26:06 +02:00
dependabot[bot] 03e5603d39
build(deps): bump bufbuild/buf-setup-action from 1.4.0 to 1.5.0 (#10790)
Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: bufbuild/buf-setup-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-02 16:43:31 +02:00
dependabot[bot] d713e39865
build(deps): bump golangci/golangci-lint-action from 3.1.0 to 3.2.0 (#10791)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-02 16:42:59 +02:00
Mauro Stettler 459f59935c
Reduce chunk write queue memory usage (#131)
* dont waste space on the chunkRefMap
* add time factor
* add comments
* better readability
* add instrumentation and more comments
* formatting
* uppercase comments
* Address review feedback. Renamed "free" to "shrink" everywhere, updated comments and threshold to 1000.
* double space

Signed-off-by: Mauro Stettler <mauro.stettler@gmail.com>
Co-authored-by: Peter Štibraný <pstibrany@gmail.com>
2022-06-02 13:48:30 +02:00
David Leadbeater b84494d50d
Update go-yaml v3 to 3.0.1 (#10786)
Picks up the fix for https://github.com/go-yaml/yaml/issues/665 -- we
picked up the important fix for CVE-2022-28948 already.

This only affects go-yaml *v3*; the only user of v3 in Prometheus itself
is rulefmt so the impact seems limited.

Signed-off-by: David Leadbeater <dgl@dgl.cx>
2022-06-02 10:16:44 +10:00
Hu Shuai 31cffd9e92
Fix a small typo (#10771)
Signed-off-by: Hu Shuai <hus.fnst@fujitsu.com>
2022-06-01 12:31:18 +10:00
TJ Hoplock 69beb3f23d
fix: update docs to reflect new go 1.17 version minimum (#10780)
The minimum go version was bumped to 1.17 in
29b58448e1, but the main README still
referenced go 1.16 as the minimum version required. This updates that.

I took a quick look through the other docs in the repo (ie, I did some
naive grepping), and this is the only reference I spotted.

Signed-off-by: TJ Hoplock <t.hoplock@gmail.com>
2022-05-31 13:37:05 +02:00
Matej Gera 1dd247f68b
Remote Write: Rename confusing walDir parameter to dir (#10464)
* Rename walDir parameter to dir

Signed-off-by: Matej Gera <matejgera@gmail.com>

* Improve NewQueueManager comment

Signed-off-by: Matej Gera <matejgera@gmail.com>
2022-05-30 21:45:30 -07:00
Matthias Loibl d48f381d9a
Merge pull request #10776 from metalmatze/cut-v2.36.0
Cut v2.36.0
2022-05-30 15:40:56 +02:00
Matthias Loibl 4dc148113e
Cut v2.36.0
Signed-off-by: Matthias Loibl <mail@matthiasloibl.com>
2022-05-30 15:16:57 +02:00
David Leadbeater 57f4aab27d
Update godoc links and remove note about TSDB versioning (#10754)
Signed-off-by: David Leadbeater <dgl@dgl.cx>
2022-05-26 18:34:43 +10:00
David Leadbeater fba3e847dc
Check syntax of example configurations (#10753)
* Check syntax of example configurations

Fix a mistake in the hetzner and vultr configs.

Also it's easier not to fight the build system, and this will lint
example code, so ignore a lint issue in custom-sd.

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

* No need to import Makefile.common, it just complicates things

Signed-off-by: David Leadbeater <dgl@dgl.cx>
2022-05-26 18:17:21 +10:00
Ryan Lonergan 0505ba81e1
Fixed spacing causing "field credentials not found in type linode.plain” error (#10752)
Signed-off-by: Ryan Lonergan <rlonergan@linode.com>

Co-authored-by: Ryan Lonergan <rlonergan@linode.com>
2022-05-25 22:46:02 +02:00
maizige 10b677b826
fix typo (#10696)
Update doc comment

Signed-off-by: gemaizi <864321211@qq.com>
2022-05-25 18:01:45 +02:00
Łukasz Mierzwa 08262454a3
Preallocate Labels in labels.Builder (#10749)
This tries to avoid re-allocations of labels slice since we know possible max size

Signed-off-by: Łukasz Mierzwa <l.mierzwa@gmail.com>
2022-05-25 16:22:47 +02:00
Matthias Loibl ee37387a7d
Merge pull request #10744 from metalmatze/release-2.36-changelog
Update CHANGELOG for v2.36
2022-05-25 13:55:24 +02:00
Matthias Loibl 34820f5405
Update CHANGELOG for v2.36
Signed-off-by: Matthias Loibl <mail@matthiasloibl.com>
2022-05-25 12:09:57 +02:00
Filip Petkovski d3cb39044e
Fix typo in symbol table size exceeded error message (#10746)
This commit fixes a typo when reporting an error that the the symbols
table size has been exceeded.

Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
2022-05-25 10:40:36 +02:00
Julien Pivotto 3a56817a30
Rules: set otel status to ERROR when a rule fails (#10745)
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
2022-05-25 10:06:17 +02:00
Ben Kochie 8f0e5b475f
Merge pull request #10132 from prometheus/superq/dependabot_doc
Update release documentation
2022-05-25 09:47:34 +02:00
dependabot[bot] 6ee4b52116 build(deps): bump github.com/Azure/azure-sdk-for-go
Bumps [github.com/Azure/azure-sdk-for-go](https://github.com/Azure/azure-sdk-for-go) from 63.0.0+incompatible to 65.0.0+incompatible.
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/v63.0.0...v65.0.0)

---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-24 22:19:55 +02:00
dependabot[bot] 4ac961c040 build(deps): bump google.golang.org/api from 0.77.0 to 0.80.0
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.77.0 to 0.80.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.77.0...v0.80.0)

---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-24 22:19:42 +02:00
SuperQ b532be6252
Update release documentation
Update the release documentation about dependencies.
* We now have dependabot to auto-update things.
* Add note about some manual dependency work.

Signed-off-by: SuperQ <superq@gmail.com>
2022-05-24 20:46:50 +02:00
Julien Pivotto 1afe72f0af vultr: ram is in mb, not bytes
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
2022-05-24 18:38:06 +02:00
Julien Pivotto c9d4e5fc94 vultr: minor fixups
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
2022-05-24 18:38:06 +02:00
David Dymko 3ef153b00c vultr integration
Signed-off-by: David Dymko <dymkod@gmail.com>
2022-05-24 18:38:06 +02:00
Matthias Loibl d11c418102 Update Go dependencies
Signed-off-by: Matthias Loibl <mail@matthiasloibl.com>
2022-05-24 17:19:17 +02:00
Julien Pivotto 5722e6ea99 Update OpenTracing
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
2022-05-24 16:02:15 +02:00
Ben Kochie 9570924511
Merge pull request #9638 from prometheus/superq/agentMode
Add agent mode identifier
2022-05-24 10:11:21 +02:00
Julien Pivotto ddedb86994
Remove Jessica from maintainers list (#10731)
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
2022-05-24 09:21:46 +02:00
Matthieu MOREL 36eee11434
refactor (package cmd): move from github.com/pkg/errors to 'errors' and 'fmt' packages (#10733)
Signed-off-by: Matthieu MOREL <mmorel-35@users.noreply.github.com>

Co-authored-by: Matthieu MOREL <mmorel-35@users.noreply.github.com>
2022-05-24 16:58:59 +10:00
Ben Kochie 7dac02581d
Merge pull request #10656 from prometheus/dependabot/go_modules/github.com/fsnotify/fsnotify-1.5.4
build(deps): bump github.com/fsnotify/fsnotify from 1.5.1 to 1.5.4
2022-05-24 07:27:10 +02:00
dependabot[bot] 4c13d305d3
build(deps): bump github.com/fsnotify/fsnotify from 1.5.1 to 1.5.4
Bumps [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify) from 1.5.1 to 1.5.4.
- [Release notes](https://github.com/fsnotify/fsnotify/releases)
- [Changelog](https://github.com/fsnotify/fsnotify/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fsnotify/fsnotify/compare/v1.5.1...v1.5.4)

---
updated-dependencies:
- dependency-name: github.com/fsnotify/fsnotify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 16:06:42 +00:00
Ben Kochie 5919eb127e
Merge pull request #10728 from prometheus/superq/bump_go_min
Update Go minimum version
2022-05-23 16:23:45 +02:00
Julien Pivotto 0d94cdf107
rules: remove classic UI code (#10730)
Signed-off-by: Julien Pivotto <roidelapluie@o11y.eu>
2022-05-23 16:21:50 +02:00
Łukasz Mierzwa 44e5f220c0
Move prometheus_ready metric to web package (#10729)
This moves prometheus_ready to the web package and links it with the ready variable that decides if HTTP requests should return 200 or 503.
This is a follow up change from #10682

Signed-off-by: Łukasz Mierzwa <l.mierzwa@gmail.com>
2022-05-23 16:00:59 +02:00
SuperQ 29b58448e1
Update Go minimum version
* Set Go minimum version to 1.17.
* Update go.mod format for 1.17.
* Remove unecessary exclude block for k8s.io/client-go.
* Remove unecessary retract section.

Signed-off-by: SuperQ <superq@gmail.com>
2022-05-23 15:17:25 +02:00
Łukasz Mierzwa 070e409dba
Add prometheus_ready metric (#10682)
When Prometheus starts it can take a long time before WAL is replayed and it can do anything useful. While it's starting it exposes metrics and other Prometheus servers can scrape it.
We do have alerts that fire if any Prometheus server is not ingesting samples and so far we've been dealing with instances that are starting for a long time by adding a check on Prometheus process uptime. Relying on uptime isn't ideal because the time needed to start depends on the number of metrics scraped, and so on the amount of data in WAL.
To help write better alerts it would be great if Prometheus exposed a metric that tells us it's fully started, that way any alert that suppose to notify us about any runtime issue can filter out starting instances.

Signed-off-by: Łukasz Mierzwa <l.mierzwa@gmail.com>
2022-05-23 11:42:01 +02:00