Commit graph

9949 commits

Author SHA1 Message Date
Chris Marchbanks bfb1500a38
Fix deadlock when stopping a shard (#10279)
If a queue is stopped and one of its shards happens to hit the
batch_send_deadline at the same time a deadlock can occur where stop
holds the mutex and will not release it until the send is finished, but
the send needs the mutex to retrieve the most recent batch. This is
fixed by using a second mutex just for writing.

In addition, the test I wrote exposed a case where during shutdown a
batch could be sent twice due to concurrent calls to queue.Batch() and
queue.FlushAndShutdown(). Protect these with a mutex as well.

Signed-off-by: Chris Marchbanks <csmarchbanks@gmail.com>
2022-02-11 07:07:41 -07:00
johncming 37c6ef9661
discovery/digitalocean: make do api be aware of discovery context. (#10281)
Signed-off-by: johncming <johncming@yahoo.com>
2022-02-11 09:23:51 +01:00
Levi Harrison 1b3443ede1
Azure: Fix panic when IP Address isn't set (#10280) 2022-02-11 00:31:18 +01:00
Bryan Boreham 579331446a
Allow downstream projects to use faster regexp (#10251)
* Add benchmark for FastRegexMatcher

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

* Use modified regexp package with optimisations

See https://github.com/grafana/regexp/tree/speedup#readme

Includes the following changes proposed upstream:
* [regexp: allow patterns with no alternates to be one-pass](https://go-review.googlesource.com/c/go/+/353711)
* [regexp: speed up onepass prefix check](https://go-review.googlesource.com/c/go/+/354909)
* [regexp: handle prefix string with fold-case](https://go-review.googlesource.com/c/go/+/358756)
* [regexp: avoid copying each instruction executed](https://go-review.googlesource.com/c/go/+/355789)
* [regexp: allow prefix string anchored at beginning](https://go-review.googlesource.com/c/go/+/377294)

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

* Use regexp code identical to upstream Go

Change `grafana/regexp` import to use `main` branch.

This means Prometheus is not using the proposed optimisations, but
downstream users of Prometheus code are able to `replace` the library
with the `speedup` branch which does.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2022-02-08 11:03:20 +01:00
Julien Pivotto f695df843f Improve content-type error handling
- Call err everywhere
- Change log message to underscore-separated field

Followup on #10186

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2022-02-08 11:02:51 +01:00
Matheus Pimenta 8d8ce641a4
error for invalid media type should not be completely swallowed (#10186)
* error for invalid media type should not be completely swallowed

Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2022-02-08 10:57:56 +01:00
Robert Jacob 277bf93952
Fix documentation for Docker API filters (#10252)
* Fix documentation for Docker API filters

Signed-off-by: Robert Jacob <xperimental@solidproject.de>

* Undo indentation change

Signed-off-by: Robert Jacob <xperimental@solidproject.de>
2022-02-03 23:57:02 +01:00
David N Perkins 4d61baa3e4
Added pathPrefix function to the template reference documentation (#10222)
* Added pathPrefix function to the template reference documentation

Signed-off-by: David N Perkins <David.N.Perkins@ibm.com>

* PR suggestions

Signed-off-by: David N Perkins <David.N.Perkins@ibm.com>

* Switch wording back

Signed-off-by: David N Perkins <David.N.Perkins@ibm.com>
2022-02-03 16:41:31 +01:00
Björn Rabenstein 5851557a28
Merge pull request #10250 from prometheus/beorn7/cleaning-up-cherrypicking-fallout
Merge release-2.33 forward into main
2022-02-02 17:22:18 +01:00
Robert Fratto 516579a97e
discovery/targetgroup: support marshaling to JSON (#10229)
* discovery/targetgroup: support marshaling to JSON

targetgroup.Group is able to be marshaled to and from YAML, but not with
JSON. JSON is used for the http_sd API representation, so users
implementing the API were required to implement their own type which is
expected by the JSON unmarshaler.

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* fix lint error

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* Update discovery/targetgroup/targetgroup.go

Co-authored-by: Julius Volz <julius.volz@gmail.com>
Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* s/Json/JSON

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

Co-authored-by: Julius Volz <julius.volz@gmail.com>
2022-02-02 17:20:18 +01:00
beorn7 35010daa90 Merge branch 'release-2.33' into beorn7/cleaning-up-cherrypicking-fallout 2022-02-02 16:49:40 +01:00
dependabot[bot] 0cd4e0a8dd
build(deps): bump github.com/aws/aws-sdk-go from 1.42.31 to 1.42.44 (#10247)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.42.31 to 1.42.44.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.42.31...v1.42.44)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  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-02-02 16:13:08 +01:00
Björn Rabenstein 4e08110891
Merge pull request #10246 from prometheus/beorn7/release
Cut v2.33.1
2022-02-02 16:02:09 +01:00
Julien Pivotto 8cc7b7e577
Split remote storage example in its own go mod (#10244)
This commit removes the dependency between Prometheus and influx.

Note: Go keeps adding the indirect dependencies in go.mod, I can't
remove them.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2022-02-02 14:54:13 +01:00
Augustin Husson 4af2fc8bc2
Fix serving of Prometheus logo, move it into 'src/images' (#10236)
* add prometheus logo in the list of file that should be served at the root

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* move prometheus logo to src/images

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
2022-02-02 14:53:30 +01:00
beorn7 7f57110fd0 Cut v2.33.1
Signed-off-by: beorn7 <beorn@grafana.com>
2022-02-02 14:38:12 +01:00
Augustin Husson 727cdbff4c
remove old UI (#10208)
* remove old ui

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* add coments and removed unused struct

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* removed tplFunc

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
2022-02-02 11:26:11 +01:00
dependabot[bot] 7321a97133
build(deps): bump github.com/linode/linodego from 1.2.1 to 1.3.0 (#10239)
Bumps [github.com/linode/linodego](https://github.com/linode/linodego) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/linode/linodego/releases)
- [Commits](https://github.com/linode/linodego/compare/v1.2.1...v1.3.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-02-02 10:26:43 +01:00
Björn Rabenstein 1ba40dd4ec
Merge pull request #10235 from roidelapluie/ownnamespace
Followup on k8s' "own namespace" feature
2022-02-01 15:58:49 +01:00
Augustin Husson 68bfd226fb
Add Prometheus Logo (#10233)
* Add Prometheus logo in react UI

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

* Use REM

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

* increase the margin top of the navbar-brand

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

Co-authored-by: Julien Pivotto <roidelapluie@inuits.eu>
2022-02-01 15:39:35 +01:00
Björn Rabenstein be7ed73efc
Merge pull request #10140 from David-N-Perkins/ISS-9910
Issue 9910
2022-02-01 15:28:42 +01:00
Julien Pivotto 9d63502204 k8s: improve 'own_namespace'
Fail configuration unmarshalling if kubeconfig or api url are set with
"own namespace"

Only read namespace file if needed.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2022-02-01 14:59:09 +01:00
Georg Gadinger c85efa02d9 Fix k8s target discovery when not running inside k8s
When using Kubernetes service discovery on a Prometheus instance that's
not running inside Kubernetes, the creation of the service discovery
fails with a "no such file or directory" error as the special
`/var/run/secrets/kubernetes.io/serviceaccount/namespace` file is not
there.  This commit moves the code that reads this file into the
if-branch where no `APIServer.URL` is given (that one basically makes
Prometheus assume it is running inside of a Kubernetes cluster).

Signed-off-by: Georg Gadinger <nilsding@nilsding.org>
2022-02-01 14:41:25 +01:00
Frederic Branczyk 201aa3a964
Merge pull request #10232 from nilsding/fix-kubernetes-service-discovery-outside-of-kubernetes
Fix k8s target discovery when not running inside k8s
2022-02-01 14:36:17 +01:00
Georg Gadinger 4663f814d6 Fix k8s target discovery when not running inside k8s
When using Kubernetes service discovery on a Prometheus instance that's
not running inside Kubernetes, the creation of the service discovery
fails with a "no such file or directory" error as the special
`/var/run/secrets/kubernetes.io/serviceaccount/namespace` file is not
there.  This commit moves the code that reads this file into the
if-branch where no `APIServer.URL` is given (that one basically makes
Prometheus assume it is running inside of a Kubernetes cluster).

Signed-off-by: Georg Gadinger <nilsding@nilsding.org>
2022-02-01 10:20:03 +01:00
Julius Volz 3c9faa25bf
Fix bug that sets the range input to the resolution (#10227)
* Fix bug that sets the range input to the resolution

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

* Address review comments

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2022-01-31 17:56:56 +01:00
lwangrabbit 9fde6edbf5
tsdb/wal: Move comment of w.writer.Append(...) to the WriteTo interface (#10198)
Signed-off-by: wanglipeng <wanglipeng@huayun.com>

Co-authored-by: wanglipeng <wanglipeng@huayun.com>
2022-01-30 22:14:16 -08:00
Björn Rabenstein 500cfd0b6f
Merge pull request #10224 from prometheus/release-2.33
Merge release-2.33 forward into main
2022-01-30 13:41:02 +01:00
Julien Pivotto 8cb733d04c
Followup on OpenTelemetry migration (#10203)
* Followup on OpenTelemetry migration

- tracing_config: Change with_insecure to insecure, default to false.
- tracing_config: Call SetDirectory to make TLS certificates relative to the Prometheus
  configuration
- documentation: Change bool to boolean in the configuration
- documentation: document type float
- tracing: Always restart the tracing manager when TLS config is set to
  reload certificates
- tracing: Always set TLS config, which could be used e.g. in case of
  potential redirects.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>\\
2022-01-29 23:56:44 +01:00
Peter Štibraný 6d76f09c58
Extract interface from ActivityQueryTracker and allows passing custom implementation (#10071)
* Extract interface from ActivityQueryTracker and allows passing custom implementation.

Signed-off-by: Peter Štibraný <pstibrany@gmail.com>
2022-01-29 23:55:27 +01:00
Björn Rabenstein 344a13d960
Merge pull request #10223 from prometheus/beorn7/release
Cut v2.33.0
2022-01-29 22:20:40 +01:00
beorn7 ae8603ce34 Cut v2.33.0
Signed-off-by: beorn7 <beorn@grafana.com>
2022-01-29 16:11:12 +01:00
beorn7 d27e7666cc Bump client_golang to 1.12.1
This pulls in a data-race fix and reduces the excessive number of
histogram buckets in the Go runtime metrics.

Signed-off-by: beorn7 <beorn@grafana.com>
2022-01-29 16:08:38 +01:00
Julien Pivotto 18d737de3e
Azure SD: Set Prometheus user agent (#10209)
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2022-01-28 13:36:04 +01:00
Mike d53324825b
optimize doc (#10219)
Signed-off-by: mikechengwei <842725815@qq.com>
2022-01-28 13:29:25 +01:00
Jonatan Ivanov b6df3b6f67
Prefer 1.0.0 in the accept header for application/openmetrics-text (#9431)
related: https://github.com/prometheus/client_java/issues/702
fixes gh-9430

Signed-off-by: Jonatan Ivanov <jonatan.ivanov@gmail.com>
2022-01-28 00:37:51 +01:00
Ben Kochie 4cc369ed1a
Update daily cron job (#10212)
Pick a more random time of day to run the daily cron sync to avoid
correlating with UTC 00:00.

Signed-off-by: SuperQ <superq@gmail.com>
2022-01-27 20:07:05 +01:00
dependabot[bot] fe06f16c11
build(deps): bump @codemirror/history from 0.19.0 to 0.19.2 in /web/ui (#10173)
Bumps [@codemirror/history](https://github.com/codemirror/history) from 0.19.0 to 0.19.2.
- [Release notes](https://github.com/codemirror/history/releases)
- [Changelog](https://github.com/codemirror/history/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/history/compare/0.19.0...0.19.2)

---
updated-dependencies:
- dependency-name: "@codemirror/history"
  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-01-25 12:39:48 +01:00
Matej Gera 2c61d29b2a
Tracing: Migrate to OpenTelemetry library (#9724)
Signed-off-by: Matej Gera <matejgera@gmail.com>
2022-01-25 11:08:04 +01:00
Levi Harrison 71a0f42331
template: Fix failing tests on non-amd64 architectures (#10196) 2022-01-24 18:15:38 -05:00
Levi Harrison 9bdd2d0ffd
Merge pull request #10197 from LeviHarrison/fix-azure-http-client-typo
Fix typo in Azure SD configuration
2022-01-25 00:14:22 +01:00
Julien Pivotto 7c6595ed14
Merge pull request #10193 from Juneezee/refactor/testing.TempDir
refactor: use `T.TempDir()` and `B.TempDir` to create temporary directory
2022-01-25 00:08:10 +01:00
Eng Zer Jun 3e67654d37
refactor: use T.TempDir() and B.TempDir to create temporary directory
The directory created by `T.TempDir()` and `B.TempDir()` is
automatically removed when the test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.TempDir
Reference: https://pkg.go.dev/testing#B.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-01-22 18:57:30 +08:00
Augustin Husson 027b082793
Rework Alert page (#10142)
* rework the target page

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* put back the URL of the endpoint

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* replace old code by the new one and change function style

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* align filter and search bar on the same row

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* remove unnecessary return

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* upgrade kvsearch to v0.3.0

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* fix unit test

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* add missing style on column

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* add placeholder and autofocus

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* put back the previous table design

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* fix issue relative to the position of the tooltip

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* fix health filter

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* fix test on label tooltip

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* simplify filter condition

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* rework service discovery page

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* introduced generic custom infinite scroll component

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* adjust the placeholder in discovery page

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* ignore returning type missing

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* rework alert page

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* update snapshot to match the new rendering

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* fix infinite scroll component usage in alert

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* align checkbox like it was before

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* propose a more responsive line to display the buttons and the search bar

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* add a script to update the snapshot and update it

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* text in span won't be wrapped

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
2022-01-22 10:39:15 +01:00
Julien Pivotto a4d3206618
Merge release-2.33 forward into main (#10189)
* create a component to handle the search bar with debounce

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* Update web/ui/react-app/src/pages/serviceDiscovery/Services.tsx

Co-authored-by: Julius Volz <julius.volz@gmail.com>
Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* Nits after PR 10051 merge (#10159)

Signed-off-by: Marco Pracucci <marco@pracucci.com>

Co-authored-by: Marco Pracucci <marco@pracucci.com>

* tsdb/agent: Fix deadlock from simultaneous GC and write (#10166)

* tsdb/agent: Fix deadlock from simultaneous GC and write

This commit fixes a potential deadlock where storing in-memory series
references could deadlock with a WAL GC cycle.

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* add missing license header

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* order local imports

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* align deadlock testing with discovery/manager_test.go method

Also prevents GCs from running concurrently, which could also cause a
deadlock (even though it's currently impossible for two GCs to run
concurrently).

Signed-off-by: Robert Fratto <robertfratto@gmail.com>

* bump @nexucis/kvsearch to v0.4.0

Signed-off-by: Augustin Husson <husson.augustin@gmail.com>

* Bump github.com/prometheus/client_golang to v1.12.0

Signed-off-by: beorn7 <beorn@grafana.com>

* Cut v2.33.0-rc.1

Signed-off-by: beorn7 <beorn@grafana.com>

Co-authored-by: Augustin Husson <husson.augustin@gmail.com>
Co-authored-by: Julius Volz <julius.volz@gmail.com>
Co-authored-by: Mauro Stettler <mauro.stettler@gmail.com>
Co-authored-by: Marco Pracucci <marco@pracucci.com>
Co-authored-by: Robert Fratto <robertfratto@gmail.com>
2022-01-20 17:19:00 +01:00
Björn Rabenstein eb6022fbca
Merge pull request #10183 from prometheus/beorn7/release
Cut v2.33.0-rc.1
2022-01-19 19:26:39 +01:00
beorn7 e00eefa376 Cut v2.33.0-rc.1
Signed-off-by: beorn7 <beorn@grafana.com>
2022-01-19 16:34:49 +01:00
beorn7 ef5815f6f4 Bump github.com/prometheus/client_golang to v1.12.0
Signed-off-by: beorn7 <beorn@grafana.com>
2022-01-19 16:34:49 +01:00
Björn Rabenstein d38bb1cfec
Merge pull request #10182 from prometheus/nexucis/bump-kvsearch
bump @nexucis/kvsearch to v0.4.0
2022-01-19 16:34:02 +01:00
Augustin Husson b9f05e15f7 bump @nexucis/kvsearch to v0.4.0
Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
2022-01-19 16:11:09 +01:00