Commit graph

17734 commits

Author SHA1 Message Date
Bartlomiej Plotka
d0db9b693c
Merge pull request #18217 from bragi92/main
Some checks are pending
buf.build / lint and publish (push) Waiting to run
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests for 32-bit x86 (push) Waiting to run
CI / Go tests for Prometheus upgrades and downgrades (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Compliance testing (push) Waiting to run
CI / Build Prometheus for common architectures (push) Waiting to run
CI / Build Prometheus for all architectures (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
govulncheck / Run govulncheck (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
remote_write : Add Certificate support for ingesting data into an Azure Monitor Workspace
2026-06-08 09:55:53 +00:00
renovate[bot]
fd49b16e3f
fix(deps): update module github.com/digitalocean/godo to v1.194.1 (#18877)
Some checks failed
buf.build / lint and publish (push) Waiting to run
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests for 32-bit x86 (push) Waiting to run
CI / Go tests for Prometheus upgrades and downgrades (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Compliance testing (push) Waiting to run
CI / Build Prometheus for common architectures (push) Waiting to run
CI / Build Prometheus for all architectures (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
govulncheck / Run govulncheck (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Push README to Docker Hub / Push README to Docker Hub (push) Has been cancelled
Push README to Docker Hub / Push README to quay.io (push) Has been cancelled
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:58:08 +02:00
renovate[bot]
e05f5a74a3
chore(deps): update actions/checkout action to v6.0.3 (#18866)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:57:45 +02:00
renovate[bot]
a77b69e1f1
chore(deps): update dessant/lock-threads action to v6.0.2 (#18868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:40:35 +02:00
renovate[bot]
c0bceeeb27
chore(deps): update golangci/golangci-lint-action action to v9.2.1 (#18870)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:40:07 +02:00
renovate[bot]
588702f91d
chore(deps): update github/codeql-action action to v4.36.2 (#18869)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:39:42 +02:00
renovate[bot]
fff8625793
fix(deps): update aws go dependencies (#18871)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:38:37 +02:00
renovate[bot]
e307a7adf2
fix(deps): update azure go dependencies to v1.22.0 (#18875)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:17:01 +02:00
renovate[bot]
e21b922cf7
fix(deps): update go-openapi packages to v0.26.3 (#18872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 17:16:22 +02:00
Julius Volz
5e3c892bfc
Merge pull request #18861 from oindrilakha12-ui/main
Some checks failed
buf.build / lint and publish (push) Has been cancelled
CI / Go tests (push) Has been cancelled
CI / More Go tests (push) Has been cancelled
CI / Go tests for 32-bit x86 (push) Has been cancelled
CI / Go tests for Prometheus upgrades and downgrades (push) Has been cancelled
CI / Go tests with previous Go version (push) Has been cancelled
CI / UI tests (push) Has been cancelled
CI / Go tests on Windows (push) Has been cancelled
CI / Mixins tests (push) Has been cancelled
CI / Compliance testing (push) Has been cancelled
CI / Build Prometheus for common architectures (push) Has been cancelled
CI / Build Prometheus for all architectures (push) Has been cancelled
CI / Check generated parser (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
CI / fuzzing (push) Has been cancelled
CI / codeql (push) Has been cancelled
govulncheck / Run govulncheck (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CI / Report status of build Prometheus for all architectures (push) Has been cancelled
CI / Publish main branch artifacts (push) Has been cancelled
CI / Publish release artefacts (push) Has been cancelled
CI / Publish UI on npm Registry (push) Has been cancelled
ui: update jsonpath to 1.3.0
2026-06-05 13:18:25 +02:00
Julien
afec04d3f5
Merge pull request #18850 from roidelapluie/roidelapluie/fix-fill-lhs-matched-sigs
Some checks are pending
buf.build / lint and publish (push) Waiting to run
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests for 32-bit x86 (push) Waiting to run
CI / Go tests for Prometheus upgrades and downgrades (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Compliance testing (push) Waiting to run
CI / Build Prometheus for common architectures (push) Waiting to run
CI / Build Prometheus for all architectures (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
govulncheck / Run govulncheck (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
promql: fix stale matchedSigs maps breaking fill_left in range queries
2026-06-04 16:28:44 +02:00
Julien
5d90fd1dda
Merge pull request #18851 from roidelapluie/roidelapluie/fix-fill-printer
promql/parser: fix symmetric fill detection to compare values not pointers
2026-06-04 16:28:27 +02:00
Julien
3439b14495
Merge pull request #18855 from prometheus/deps-update/go-github.com-quic-go-quic-go-vulnerability
chore(deps): update module github.com/quic-go/quic-go to v0.59.1 [security]
2026-06-04 16:27:53 +02:00
renovate[bot]
d2b353eca1
chore(deps): update module github.com/quic-go/quic-go to v0.59.1 [security] 2026-06-04 12:45:00 +00:00
Joe Adams
de17e1705e
Merge pull request #18845 from Intuinewin/rds-fix-empty-cluster
discovery/aws: handle rds clusters without instances
2026-06-04 08:34:15 -04:00
Julien
14b9a0e222
Merge pull request #18849 from duricanikolic/yuri/stale-series-compaction-capture-chunk-boundary-samples
Some checks are pending
buf.build / lint and publish (push) Waiting to run
CI / Go tests (push) Waiting to run
CI / More Go tests (push) Waiting to run
CI / Go tests for 32-bit x86 (push) Waiting to run
CI / Go tests for Prometheus upgrades and downgrades (push) Waiting to run
CI / Go tests with previous Go version (push) Waiting to run
CI / UI tests (push) Waiting to run
CI / Go tests on Windows (push) Waiting to run
CI / Mixins tests (push) Waiting to run
CI / Compliance testing (push) Waiting to run
CI / Build Prometheus for common architectures (push) Waiting to run
CI / Build Prometheus for all architectures (push) Waiting to run
CI / Report status of build Prometheus for all architectures (push) Blocked by required conditions
CI / Check generated parser (push) Waiting to run
CI / golangci-lint (push) Waiting to run
CI / fuzzing (push) Waiting to run
CI / codeql (push) Waiting to run
CI / Publish main branch artifacts (push) Blocked by required conditions
CI / Publish release artefacts (push) Blocked by required conditions
CI / Publish UI on npm Registry (push) Blocked by required conditions
govulncheck / Run govulncheck (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
tsdb: capture chunk-boundary samples in CompactStaleHead
2026-06-03 16:26:45 +02:00
Yuri Nikolic
ed12b940fd
tsdb: capture chunk-boundary samples in CompactStaleHead
Signed-off-by: Yuri Nikolic <durica.nikolic@grafana.com>
2026-06-03 15:58:05 +02:00
Đurica Yuri Nikolić
5ddb7e49e3
tsdb: store maxt timestamp in walExpiries on stale series eviction (#18847)
[BUGFIX] tsdb: store a millisecond timestamp (not a WAL segment number) in `walExpiries` 
when a series is evicted via `CompactStaleHead`/`CompactSelectedSeries`, so the series' 
label record is correctly retained in the next WAL checkpoint and replays cleanly.

Signed-off-by: Yuri Nikolic <durica.nikolic@grafana.com>
2026-06-03 14:56:17 +01:00
Julien Pivotto
bb7ec495d2 promql: fix stale matchedSigs maps breaking fill_left in range queries
resetMatchedSigs used clear() to recycle inner maps, but the fill-LHS
loop checked matchedSigs[sigOrd] \!= nil to decide whether an RHS sample
was already matched. A cleared but non-nil map from a previous timestep
caused a false positive, skipping the fill and producing missing samples
in range queries using group_left fill_left or group_right fill_right.

Fix by restoring clear() for map reuse and changing the check to
len(matchedSigs[sigOrd]) > 0, which correctly treats an empty map as
unmatched while preserving the allocation-reuse across timesteps.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-06-03 15:52:03 +02:00
Julien Pivotto
710dbb74c9 promql/parser: fix symmetric fill detection to compare values not pointers
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-06-03 15:33:23 +02:00
Michael Hoffmann
05d9bd4a27
scrape: add __convert_classic_histograms_to_nhcb__ internal label (#18840)
Adding this as a meta label makes it possible to dynamically configure
this setting through discovery labels.
This helps in usecases like K8S where we could enable this with a pod
annotation.

Signed-off-by: Michael Hoffmann <mhoffmann@cloudflare.com>
2026-06-03 13:11:21 +00:00
Oindrila Khan
2625721eba ui: update jsonpath to 1.3.0
This addresses CVE-2025-61140 and CVE-2025-1615 by updating jsonpath to a patched version.

Signed-off-by: Oindrila Khan <oindrilakha12@gmail.com>
2026-06-03 14:54:21 +05:30
Antoine Labarussias
24b1b60836
discovery/aws: handle rds clusters without instances
Signed-off-by: Antoine Labarussias <antoinelabarussias@gmail.com>
2026-06-03 09:29:36 +02:00
RoyS
f3d653fb5c
chore: fix typos in comments (#18834)
* chore: fix typos in comments

Fix three minor typos in source comments:
- scrape: mimicks -> mimics
- tsdb: descibes -> describes
- ui/codemirror-promql: theses -> these

Signed-off-by: RoySerbi <roy676564@gmail.com>

* ci: retrigger CI to clear known 32-bit flake

Empty commit to retrigger CI. The previous run failed only on
'Go tests for 32-bit x86' due to the known intermittent flake in
TestRemoteWrite_PerQueueMetricsAfterRelabeling (see #17356), which
is unrelated to this comment-only PR.

Signed-off-by: RoySerbi <roy676564@gmail.com>

---------

Signed-off-by: RoySerbi <roy676564@gmail.com>
2026-06-02 15:34:02 +02:00
chencs
91fa0fd5b7
model/labels: Add case-insensitive prefix matching optimization (#18540)
This change adds support for case-insensitive prefix matching, with the goal of especially improving performance when evaluating long case-insensitive regexes, without degrading performance particularly in other cases.

Signed-off-by: Casie Chen <casie.chen@grafana.com>
2026-06-02 10:52:24 +01:00
Bryan Boreham
87866e0c3f
Merge pull request #18838 from prometheus/tsdb/fix-histogram-pending-commit-condition
tsdb: fix pendingCommit condition for classic histogram append
2026-06-02 10:32:06 +01:00
György Krajcsovits
c2b77f753b
tsdb: add regression tests for histogram pendingCommit on append error
Add TestAppendHistogramErrorDoesNotSetPendingCommit (V1) and
TestHeadAppenderV2_HistogramErrorDoesNotSetPendingCommit (V2),
each covering the integer and float histogram branches.

The integer V1 branch previously set s.pendingCommit on the error
path, which left the flag stuck on existing series whenever an
append was rejected (e.g. ErrOutOfOrderSample). Because the failed
sample is never added to the appender's batch, Commit/Rollback
never clears pendingCommit for that series, and head GC at
tsdb/head.go treats it as still in use.

The V1 integer subtest fails on main without the prior commit;
both subtests pass with it. The V2 paths already use err == nil
and the V2 test is a lock-in; inverting the V2 condition locally
confirms the test would catch a similar regression there.

Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
2026-06-02 09:33:40 +02:00
Weixie Cui
56918ba034
tsdb: fix pendingCommit condition for classic histogram append
AppendHistogram used err != nil when deciding to set pendingCommit for integer histograms, while the float histogram branch uses err == nil. Align the classic histogram path so pendingCommit is set only after a successful appendableHistogram check, matching appendableFloatHistogram.

Signed-off-by: Weixie Cui <cuiweixie@gmail.com>
2026-06-02 09:15:05 +02:00
Iheanacho Amarachi Sharon
f9ba49a9b6
tsdb: complete TestHistogramCounterResetHeader for integer histograms (#18289)
Signed-off-by: Amarachi Iheanacho <amarachi.iheanacho@siderolabs.com>
2026-06-02 09:04:42 +02:00
Kaveesh Dubey (from Dev Box)
f972cac551 azuread: import config_util used by CertificatePassword Secret type
The previous commit changed CertificatePassword from string to config_util.Secret but did not add the corresponding import. The CI build for this PR alone passed only because GitHub builds the merge of the PR with upstream main, which already imports config_util (introduced in upstream commit 5ccebcdb3 for ClientSecret). Add the import so the PR's azuread.go is self-consistent.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Kaveesh Dubey (from Dev Box) <kadubey@microsoft.com>
2026-06-01 21:36:19 -07:00
bragi92
933dd26f35
Update storage/remote/azuread/azuread.go
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Signed-off-by: bragi92 <kadubey@microsoft.com>
2026-06-01 11:27:10 -07:00
Bartlomiej Plotka
c0b4c5ef18
Merge pull request #18821 from roidelapluie/roidelapluie/k8s-sd-binary-size
discovery/kubernetes: keep SD client from defeating dead-code elimination
2026-06-01 15:06:07 +01:00
Julien
1ee89b1857
Merge pull request #18823 from prometheus/deps-update/go-golang.org-x-crypto-vulnerability
Update module golang.org/x/crypto to v0.52.0 [SECURITY]
2026-06-01 15:18:29 +02:00
Julien
7ba5c0bc0f
Merge pull request #18791 from roidelapluie/roidelapluie/ghtoken
ci: use github.token for publish_release job
2026-06-01 14:23:42 +02:00
Bartlomiej Plotka
178c53d83c
Merge pull request #18813 from miguelbernadi/improve-hostogram-allocations
tsdb/record: eliminate prev pointer escapes in V2 histogram WAL decoder
2026-06-01 10:54:02 +01:00
Bryan Boreham
489d90e717
Merge pull request #18735 from colega/implement-head-stale-index-reader-without-sacrificing-performance
tsdb: Implement `headStaleIndexReader` methods properly
2026-06-01 10:48:08 +01:00
Julien
3294878850
Merge pull request #18824 from roidelapluie/roidelapluie/azure-sd-binary-size
discovery/azure: keep SD clients from defeating dead-code elimination
2026-06-01 11:32:18 +02:00
Miguel Bernabeu Diaz
423c7878de
Update tsdb/record/record.go
Co-authored-by: Bartlomiej Plotka <bwplotka@gmail.com>
Signed-off-by: Miguel Bernabeu Diaz <miguelbernadi@gmail.com>
2026-06-01 11:13:00 +02:00
Minh Vu
19d60b983e
documentcli: fix repeated flag markup (#18829)
Signed-off-by: Minh Vu <vuhoangminh97@gmail.com>
2026-06-01 11:04:29 +02:00
Oleg Zaytsev
84b870106e
Remove unnecessary method and rename
Signed-off-by: Oleg Zaytsev <mail@olegzaytsev.com>
2026-06-01 10:19:06 +02:00
Julien Pivotto
51d015945a ci: push to GHCR and bump promci to v0.8.2
- Add packages: write permission to publish_main and publish_release jobs
- Add ghcr_io_password: github.token to both publish jobs
- Bump promci build/publish actions from v0.6.0 to v0.8.2 (SHA-pinned)
- Drop standalone checkout steps preceding promci build/publish steps
  (promci v0.8.2 performs its own checkout)
- Add persist-credentials: false to check_release_notes checkout

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-29 18:04:16 +02:00
renovate[bot]
a2f31b0154
chore(deps): update module golang.org/x/crypto to v0.52.0 [security] 2026-05-29 15:10:15 +00:00
Bartlomiej Plotka
a0524eeca9
Merge pull request #18822 from prometheus/sync312
Merge 3.12 to main
2026-05-29 17:06:50 +02:00
bwplotka
acdb302bee fix go.work
Signed-off-by: bwplotka <bwplotka@gmail.com>
2026-05-29 15:38:41 +01:00
Julien Pivotto
5040dd9e68 discovery/azure: keep SD clients from defeating dead-code elimination
The azureClient struct held the armcompute and armnetwork SDK clients as
concrete fields while satisfying the client interface. Once such a client is
reachable through an interface, Go's linker conservatively retains every
exported method of the concrete type plus the entire (de)serializer graph those
operations drag in, even though discovery calls only a handful of them.

Wrap each SDK client in a small adapter that captures only the operations
discovery uses as method-value closures, and box the adapters instead of the raw
clients. The concrete clients then live only inside closure contexts, which
reflection cannot traverse, so dead-code elimination drops the unused
operations.

This drops the retained operations per client from ~60 down to the 2-3 actually
used (UsedInIface markers go from 244+66 to 0), shrinking both the prometheus
and promtool binaries by ~3.2 MB each. No functional or API change.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-29 16:17:59 +02:00
Julien
f22c6db04f
Merge pull request #18816 from roidelapluie/roidelapluie/govulncheck-goos
ci: set GOOS=windows for windows_exporter in govulncheck workflow
2026-05-29 14:45:13 +02:00
Julien
1dd4d3f6c3
ui: add supply-chain hardening .npmrc (#18794)
Set ignore-scripts=true, allow-git=none, and min-release-age=3 to
harden npm installs against lifecycle script abuse, git-sourced
dependencies, and recently published packages.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-29 12:28:10 +00:00
Julien
27925e446c
Merge pull request #18818 from roidelapluie/roidelapluie/aws-sd-binary-size
discovery/aws: keep AWS SDK clients out of interfaces to shrink the binary
2026-05-29 14:26:36 +02:00
Julien
0d7c6fa902
Merge pull request #18819 from roidelapluie/roidelapluie/gce-sd-binary-size
discovery/gce: keep Compute SD client from defeating dead-code eliminationation
2026-05-29 14:26:05 +02:00
Julien Pivotto
da7be2b867 discovery/kubernetes: keep SD client from defeating dead-code elimination
The Kubernetes SD Discovery struct held the clientset as a
kubernetes.Interface field. Boxing the concrete *kubernetes.Clientset into
an interface marks it <UsedInIface>, so the Go linker conservatively retains
every API-group accessor and, transitively, every resource client and its
apply configurations, even though discovery only touches the core, apps,
batch, discovery and networking v1 groups.

Wrap the clientset in an adapter that captures only the used API-group
accessors as method-value closures and exposes them through a narrow
k8sClient interface. The concrete clientset now lives only inside closure
contexts, which reflection cannot traverse, so dead-code elimination drops
the unused groups. The fake clientset still satisfies the narrow interface,
so tests are unchanged.

This trims about 10 MB from each of the prometheus and promtool binaries.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-05-29 14:17:57 +02:00