Commit graph

12936 commits

Author SHA1 Message Date
komisan19 b974a99279 fix
Signed-off-by: komisan19 <18901496+komisan19@users.noreply.github.com>
2024-04-30 10:45:50 +09:00
Arthur Silva Sens 34ee8c6078
Merge pull request #13982 from tesla59/tesla/storage-doc
docs: storage.md: clarify storage.tsdb.retention.time description
2024-04-29 15:33:27 -03:00
Arthur Silva Sens 3d42466894
Merge pull request #13997 from bboreham/api-marshalling
bugfix: API: encode empty Vector/Matrix as [] not null
2024-04-29 15:26:01 -03:00
Bryan Boreham 5c8ffaa77c bugfix: API: encode empty Vector/Matrix as []
If the underlying data is `nil` the default encoding
will render `"null"` which is not accepted by
(some) Prometheus client libraries.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-29 19:08:10 +01:00
Bryan Boreham 00247b5d87 test: API: check empty responses
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-29 19:08:10 +01:00
Bryan Boreham e0a00f45db refactor: API: separate typed and unsafe marshalling
The typed versions are used when we call from one marshaller to another.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-29 19:08:10 +01:00
Bryan Boreham 66a1c3daad refactor: API: be explicit that we marshal empty objects
Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-29 19:08:10 +01:00
Bryan Boreham c8aed6b0ec tests: API: Let nil expected response mean skip check
When we want to check just the json encoding.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-29 19:08:10 +01:00
Bryan Boreham 5a339ba359 tests: API: Use jsoniter when encoding
So that tests use the same encoding as the api.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-29 19:08:10 +01:00
Bryan Boreham 2c4a36376d tests: API: simplify check of error response
Since we already use require.JSONEq in similar cases.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2024-04-29 19:08:10 +01:00
Julien ed4e50e792
Merge pull request #13992 from heckler1/heckler1/discovery-client-go
discovery(k8s): Only register client-go metrics adapters when needed
2024-04-29 11:18:49 +02:00
Neeraj Gartia 99f9d32499
UTF-8: updates UI parser to support UTF-8 characters (#13590)
Signed-off-by: Neeraj Gartia <neerajgartia211002@gmail.com>
2024-04-29 11:14:01 +02:00
Heyoxe f7e923c3bb
fix(scaleway-sd): use public IPs if no private IP present (#13941)
* fix(scaleway-sd): use public IPs if no private IP present
* tests(scaleway-sd): add instance  with routed public ip and no private ip

---------

Signed-off-by: Heyoxe <32708033+Heyoxe@users.noreply.github.com>
2024-04-27 15:01:30 +01:00
Nishant Singh c8b23980c9
Update docs/storage.md
Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
Signed-off-by: Nishant Singh <nishant@heim.id>
2024-04-27 13:50:50 +05:30
Nishant Singh 801314901c
Update docs/storage.md
Co-authored-by: Ayoub Mrini <ayoubmrini424@gmail.com>
Signed-off-by: Nishant Singh <nishant@heim.id>
2024-04-27 13:50:41 +05:30
Stephen Heckler 31a4217784 discovery(k8s): Only register client-go metrics adapters when needed
Previously the metrics adapters for client-go were registered in an init function.
This resulted in clobbering default metrics providers when these packages are imported
into an application that leverages the default client-go metrics registry.

Instead, let's only register these adapters when requested.

Signed-off-by: Stephen Heckler <sheckler@cloudflare.com>
2024-04-25 12:33:29 -05:00
Arthur Silva Sens 0305490e4e
Merge pull request #13987 from prometheus/nativeHis-flag-ingestion
bugfix: Decouple native histogram ingestions and protobuf parsing
2024-04-25 10:56:40 -03:00
George Robinson dde2e5eb73
Improve comments around resending resolved alerts (#13990)
Signed-off-by: George Robinson <george.robinson@grafana.com>
2024-04-25 14:18:50 +02:00
Arthur Silva Sens 9195d51469
Prepare v2.52 release
Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>
2024-04-24 17:19:43 -03:00
Arthur Silva Sens 7aacef9b42
bugfix: Decouple native histogram ingestions and protobuf parsing
Up until this point, if a scrape was done with the protobuf format Prometheus would always try to ingest native histograms even with the feature flag disabled. This causes problems with other feature-flags that depend on the protobuf format, like 'created-timestamp-zero-ingestion'. This commit decouples native histogram parsing from ingestion, making sure ingestion only happens when the 'native-histogram' feature-flag is enabled.

Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>
2024-04-24 17:02:52 -03:00
gotjosh cc2207148e
fix typo
Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 19:20:57 +01:00
gotjosh 2de2fee035
Allow the result map for the series set before hand with a hint.
Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 19:10:34 +01:00
gotjosh 6cfc584308
- Add a changelog entry
- Improve variable name of the map produced by the series set

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 19:02:47 +01:00
gotjosh fa75985c1c
Use the string representation of the labels instead of the hash
Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 18:46:05 +01:00
gotjosh 276201598c
Fix tests and a bug with the series lookup logic.
Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 18:46:05 +01:00
gotjosh e6dcbd2e26
bug: nil check against the series set not errors
Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 18:46:05 +01:00
gotjosh 4daaa59c08
Rule Manager: Only query once per alert rule when restoring alert state
Prometheus restores alert state between restarts and updates. For each rule, it looks at the alerts that are meant to be active and then queries the `ALERTS_FOR_STATE` series for _each_ alert within the rules.

If the alert rule has 120 instances (or series) it'll execute the same query with slightly different labels.

This PR changes the approach so that we only query once per alert rule and then match the corresponding alert that we're about to restore against the series-set. While the approach might use a bit more memory at start-up (if even?) the restore proccess is only ran once per restart so I'd consider this a big win.

This builds on top of #13974

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 18:46:05 +01:00
gotjosh 4ac78063ee
Merge pull request #13974 from prometheus/measure-restore-time-rules
Rule Manager: Add `rule_group_last_restore_duration_seconds` to measure restore time per rule group
2024-04-24 16:04:30 +01:00
Alan Protasio d15869af32
Avoid creating new slices for labels values on postings for matchers (#13958)
* Avoid creating new slices for labels values on postings for matchers

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

* refactor

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

---------

Signed-off-by: alanprot <alanprot@gmail.com>
2024-04-24 16:41:33 +02:00
gotjosh 5beb2fe005
Improve the metric description
Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 15:24:35 +01:00
gotjosh d672eda979
Add a changelog entry
Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 14:31:18 +01:00
gotjosh 381a77ac1e
Change variable name to restoreStartTime from now and introduce a log line to record total time
Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-24 14:21:11 +01:00
Arthur Silva Sens 29505211af
Merge pull request #13986 from prometheus/main
promtool: Fix panic on extended tsdb analyze (#13976)
2024-04-24 09:37:09 -03:00
Will Hegedus bd1878700b
promtool: Fix panic on extended tsdb analyze (#13976)
Currently, running promtool tsdb analyze with the --extended flag
will cause an 'index out of range' error if running it
against a block that does not have any native histogram chunks.

This change ensures that promtool won't try to display data that doesn't exist.

Signed-off-by: Will Hegedus <whegedus@linode.com>
2024-04-24 11:35:34 +10:00
tesla59 5e638b7f44 docs: storage.md: clarify storage.tsdb.retention.time description
Signed-off-by: tesla59 <nishant@heim.id>
2024-04-24 02:58:25 +05:30
gotjosh e7219e3d36
Rule Manager: Add rule_group_last_restore_duration_seconds to measure restore time per rule group
When a rule group changes or prometheus is restarted we need to ensure we restore the active alerts that were firing for a corresponding rule, for that Prometheus uses the `ALERTS_FOR_STATE` series to query the previous state and restore it. If a given rule has high cardinality (think 100s of 1000s for series) this proccess can take a bit of time - this is the first of a series of PRs to improve this problem and I'd like to start with exposing the time it takes to restore a rule group as a gauge.

Signed-off-by: gotjosh <josue.abreu@gmail.com>
2024-04-23 09:57:08 +01:00
Arthur Silva Sens 76b0318ed5
Merge pull request #13962 from prometheus/dependabot/go_modules/github.com/aws/aws-sdk-go-1.51.25
build(deps): bump github.com/aws/aws-sdk-go from 1.51.24 to 1.51.25
2024-04-22 09:26:07 -03:00
Arthur Silva Sens a903ef83ee
Merge pull request #13961 from prometheus/dependabot/go_modules/github.com/hetznercloud/hcloud-go/v2-2.7.2
build(deps): bump github.com/hetznercloud/hcloud-go/v2 from 2.7.1 to 2.7.2
2024-04-22 09:25:47 -03:00
komisan19 3d84d4d6dc fix
Signed-off-by: komisan19 <18901496+komisan19@users.noreply.github.com>
2024-04-22 19:04:00 +09:00
komisan19 5ab24a06d0 refactor: add max func to maxTimestamp
Signed-off-by: komisan19 <18901496+komisan19@users.noreply.github.com>
2024-04-21 23:39:25 +09:00
Ben Kochie 8cd7e04fd2
Merge pull request #13874 from prometheus/dependabot/github_actions/bufbuild/buf-lint-action-1.1.1
build(deps): bump bufbuild/buf-lint-action from 1.1.0 to 1.1.1
2024-04-20 13:14:15 +02:00
Ben Kochie 97eab6842c
Merge pull request #13873 from prometheus/dependabot/github_actions/bufbuild/buf-breaking-action-1.1.4
build(deps): bump bufbuild/buf-breaking-action from 1.1.2 to 1.1.4
2024-04-20 13:13:55 +02:00
dependabot[bot] f65e94bdbc
build(deps): bump github.com/aws/aws-sdk-go from 1.51.24 to 1.51.25
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.51.24 to 1.51.25.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.51.24...v1.51.25)

---
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>
2024-04-20 10:23:03 +00:00
dependabot[bot] cd078b07d9
build(deps): bump github.com/hetznercloud/hcloud-go/v2
Bumps [github.com/hetznercloud/hcloud-go/v2](https://github.com/hetznercloud/hcloud-go) from 2.7.1 to 2.7.2.
- [Release notes](https://github.com/hetznercloud/hcloud-go/releases)
- [Changelog](https://github.com/hetznercloud/hcloud-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hetznercloud/hcloud-go/compare/v2.7.1...v2.7.2)

---
updated-dependencies:
- dependency-name: github.com/hetznercloud/hcloud-go/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-20 10:23:00 +00:00
Arthur Silva Sens 0f222edf7f
Merge pull request #13954 from prometheus/update-go-modules
Update go modules before 2.52 release
2024-04-20 07:21:42 -03:00
Simon Pasquier f36915b6b1
Merge pull request #13935 from simonpasquier/more-endpointslices-metadata
discovery(k8s): add metadata labels to endpointslices
2024-04-19 10:31:16 +02:00
Arthur Silva Sens b5b5e1e5ae
Merge pull request #13919 from GiedriusS/dont_forget_to_unregister
tsdb/wlog: unregister metrics on WL close
2024-04-18 16:44:03 -03:00
Arthur Silva Sens bcb3e2c515
Downgrade github.com/ovh/go-ovh back to v1.4.3
Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>
2024-04-18 16:35:58 -03:00
Arthur Silva Sens 8543f4827b
Downgrade k8s apis back to v0.29.3
Since it requires go 1.22

Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>
2024-04-18 16:20:37 -03:00
Arthur Silva Sens c152b026b4
Update Go dependencies before 2.52
Signed-off-by: Arthur Silva Sens <arthur.sens@coralogix.com>
2024-04-18 15:56:11 -03:00