19145 Commits
Author SHA1 Message Date
rbizos b5ec1f619e Merge pull request #18048 from rbizos/feature/native_histograms_compat_layer
promql[nhcb]: nhcb as classic histogram feature flag
2026-10-27 20:31:46 +00:00
Bartlomiej Plotka 89e9a6fb8d Merge pull request #20014 from prometheus/bwplotka/tsdb-tests-appender-v2
test(tsdb, storage): migrate remaining tests to AppenderV2 and remove LimitedAppenderV1
2026-10-27 21:12:19 +01:00
Bartek Plotka 0a4f6f6596 storage, tsdb: remove LimitedAppenderV1 and AppenderV2AsLimitedV1
Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-27 14:24:18 +00:00
Bartek Plotka 540d6524f2 tsdb: migrate unique tests in db_test.go and head_test.go to AppenderV2 and remove V1 duplicates
Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-27 14:24:18 +00:00
Bartek Plotka dc7fd800bc tsdb: migrate read, compaction, and benchmark tests to AppenderV2
Migrate block, compaction, head read, querier, and benchmark tests in tsdb to AppenderV2.

Part of #17632

Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-27 14:24:18 +00:00
Julien 3861d587c7 Merge pull request #19815 from roidelapluie/roidelapluie/ignorewal-followup
Always record minValidTime in WAL
2026-10-27 15:07:05 +01:00
Kyle Eckhart c917766f4d Merge pull request #20196 from roidelapluie/roidelapluie/agent-stale-metadata
tsdb/agent: preserve metadata for stale samples in AppenderV2
2026-10-27 09:34:44 -04:00
Julien Pivotto b5289e8ac3 tsdb: always write the min valid time checkpoint record
The writeMinValidTime opt-out existed because the agent replay treated any
unrecognized record type as corruption. Agent replay now ignores unknown
records, so the shared checkpointer can write the cutoff unconditionally and
the agent just skips it.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-10-27 14:25:45 +01:00
Bryan Boreham e167f1e96e Merge pull request #20173 from 56quarters/unused-stats
util/stats: remove unused Stats struct
2026-10-27 11:14:44 +00:00
Bryan Boreham 4faebac6d3 Merge pull request #20155 from git-jxj/docs/getting-started-directory-globs
docs: select extracted directories in getting started commands
2026-10-27 11:11:36 +00:00
Julien Pivotto 9717b041bc tsdb/agent: move metadata comment above metadata handling
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-10-27 11:10:50 +01:00
Bartlomiej Plotka 78528cd36f Merge pull request #20102 from prometheus/bwplotka/fix-windows-file-sd-deadlock
discovery/file: prevent Windows watcher deadlock during refresh
2026-10-27 09:52:26 +01:00
Bartek Plotka f3ad432380 scrape: use t.TempDir() in writeIntoFile test helper
Using an empty directory string in os.CreateTemp created SD files in the shared global OS temp directory, causing file_sd watchers in scrape tests to watch all parallel test activity in os.TempDir() and leak temp files.

Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-27 07:59:29 +00:00
Bartek Plotka 56d8929021 discovery/file: drain watcher events continuously to prevent Windows deadlock
On Windows, fsnotify's Watcher.Add (called in refresh -> watchFiles) blocks waiting for the single readEvents IOCP goroutine, which itself blocks sending to Watcher.Events or Watcher.Errors when the 50-event buffer fills up. Previously, only stop() drained Events and Errors concurrently around Watcher.Close(), leaving Run() vulnerable to deadlocking inside refresh -> watchFiles when a watched directory received a burst of events.

Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-27 07:59:29 +00:00
Bartlomiej Plotka 670a4af23d Merge pull request #20201 from prometheus/bwplotka/ci-fix-386-seccomp
ci: pass --security-opt seccomp=unconfined to 386 test container
2026-10-27 08:44:08 +01:00
Bartlomiej Plotka fed2d66eeb Merge pull request #20200 from prometheus/bwplotka/fix_pr_triage_board
chore: ignore GitHub Bot accounts in pr-triage-board
2026-10-27 08:41:00 +01:00
Bartek Plotka c21fd394b4 ci: pass --security-opt seccomp=unconfined to 386 test container
Ubuntu 26.04 runners currently ship Docker 29.4.2, whose default seccomp profile blocks socketcall(2) with ENOSYS (actions/runner-images#14790). Since Go on linux/386 still uses socketcall(2) for socket operations (golang/go#79200), all tests opening sockets fail with 'socket: function not implemented' when ubuntu-latest lands on ubuntu-26.04.

Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-27 07:27:49 +00:00
Bartek Plotka cee56a2262 chore: ignore GitHub Bot accounts in pr-triage-board
Check author.__typename == "Bot" (and include codecov in the login fallback list) so bot comments such as Codecov reports do not move PRs into the Waiting on Author bucket.

Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-27 06:49:03 +00:00
Bartlomiej Plotka 7596662af4 Merge pull request #20166 from prometheus/bwplotka/setup_pr_triage_bot
chore: add pr-triage-board agent skill for maintainer PR triage
2026-10-27 05:07:29 +01:00
Matt 8d8dc0ccc5 [FEATRUE] discovery/aws: Add MQ Role (#19750) 2026-10-26 19:01:53 +01:00
Julien Pivotto eae5274151 tsdb/agent: preserve metadata for stale samples in AppenderV2
Stale samples returned early in AppenderV2.Append, which skipped metadata
updates. Only skip exemplars for stale samples, so metadata is still
recorded in the WAL.

Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-10-26 17:26:39 +01:00
Julien 79e49c751a Merge pull request #20194 from roidelapluie/changelog-fix
release: omit authors and parentheses from generated PR references
2026-10-26 17:17:55 +01:00
Julien Pivotto f0387f09ce release: omit authors and parentheses from generated PR references
Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com>
2026-10-26 16:51:51 +01:00
Bartek Plotka 1f19da5bb2 chore: do not mark PRs with requested changes as approved
Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
2026-10-26 15:11:29 +00:00
Bartlomiej Plotka 0d5a5c1d26 Merge pull request #20161 from guidonguido/fix/tsdb/block-reload-interval
tsdb: use a persistent maintenance ticker
2026-10-26 16:08:03 +01:00
Bartlomiej Plotka dd8f8e7afe Merge pull request #20193 from prometheus/bwplotka/fix-windows-tsdb-tests
tsdb: fix Windows test flake and timeout in WBL tests
2026-10-26 15:49:18 +01:00
Bartek Plotka db1d03d69e tsdb: fix Windows test flake and timeout in WBL tests
Port the segmentSize helper from TestWBLCorruption (039cb358a7) to TestWBLCorruption_AppendV2 so segment size checks open and stat the file handle instead of reading stale os.ReadDir directory metadata on Windows after async WL.NextSegment closes.

In TestWBLAndMmapReplay and TestWBLAndMmapReplay_AppendV2, truncate the closed 000001 head chunk file in mmapDir to 128 KiB (matching non-Windows HeadChunkFilePreallocationSize) before copying mmapDir across subtests, and run each test's sampleTypeScenarios sequentially. On Windows, head chunk files are preallocated to 128 MiB, so copying mmapDir 5 times per scenario across 14 scenarios wrote ~9 GiB of zeros and caused ./tsdb to exceed the 10m package test timeout after #20157 parallelized the subtests.

Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-26 08:50:31 +00:00
Bartlomiej Plotka a83f7158e7 Merge pull request #20059 from fallintoplace/fix/om2-composite-field-order
textparse: reject out-of-order OpenMetrics 2.0 composite fields
2026-10-26 08:33:11 +01:00
Bartlomiej Plotka 9efd26bd26 Merge pull request #17635 from prometheus/bwplotka-patch-6
docs: Update PromQL basics.md with more examples on regex escaping
2026-10-26 08:31:17 +01:00
Bartlomiej Plotka 4b8e14e618 Merge pull request #20056 from fallintoplace/fix/promql-negative-fractional-date-timestamps
promql: fix date functions for negative fractional timestamps
2026-10-26 07:01:06 +01:00
Bartlomiej Plotka db1d179406 Merge pull request #20090 from prometheus/bwplotka/wlog-watcher-restart-series-reset
tsdb/wlog: call SeriesReset on Run restart when checkpoint changes
2026-10-26 07:00:48 +01:00
Bartlomiej Plotka 7d23edd9cb Merge pull request #20077 from hetznercloud/remove-julian-from-maintainers
chore: remove Julian Tölle from Hetzner maintainers
2026-10-26 07:00:26 +01:00
Bartek Plotka 9af46cbc48 docs: document PR triage dashboard in CONTRIBUTING.md
Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
2026-10-26 05:58:50 +00:00
Bartek Plotka 19c4a453a2 chore: clarify and enforce waiting-on-maintainer rules in pr-triage-board
Require all review threads, comments, and reviews to be resolved or responded to by the author, and require CI to be green (or have an author comment after the latest commit explaining why CI is not green) before categorizing a PR as waiting on maintainer.

Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
2026-10-26 05:11:12 +00:00
Bartek Plotka b6c75fafc5 chore: add pr-triage-board agent skill for maintainer PR triage
Add a reusable agent skill and script under .agents/skills/pr-triage-board that queries GitHub GraphQL, CODEOWNERS, MAINTAINERS.md, and PULL_REQUEST_TEMPLATE.md to generate a Markdown PR triage board or update a pinned issue description.

Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-26 05:03:02 +00:00
Joe Adams e471c7708c Merge pull request #19878 from wbollock/fix/sd-refresh-metrics-reload
discovery: keep refresh metrics for running providers on reload
2026-10-25 12:49:59 -04:00
Nick Pillitteri 726f8df7ad util/stats: remove unused Stats struct
Remove `Stats` which is nearly identical to `Statistics` and unused
within Prometheus.

Signed-off-by: Nick Pillitteri <nick.pillitteri@grafana.com>
2026-10-23 15:25:07 -04:00
Bartlomiej Plotka a2fda0ef46 Merge pull request #19950 from ArthurSens/codex/deprecate-otlp-deltatocumulative
remote/otlp: deprecate delta-to-cumulative conversion
2026-10-23 16:30:15 +02:00
Arve Knudsen 11920c46c3 tsdb: release remaining test fixture references (#20167)
Clear the captured DB reference before asserting that Close succeeded, so
FailNow cannot skip releasing the fixture. Also clear the separate cleanup
reference to the final restarted Head in the histogram-series metrics test.

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-10-23 13:33:40 +00:00
Bartlomiej Plotka e6442737d1 Merge pull request #20157 from prometheus/bwplotka/speedup-tsdb-tests
tsdb: parallelize slow tests and remove redundant test loops
2026-10-23 14:52:16 +02:00
Bartek Plotka 632a351b6b tsdb: move compaction test callbacks onto DB and parallelize slow tests
Move compactOOOHeadTestingCallback and compactHeadViewBeforeEvictTestingCallback from package-level variables to fields on DB so compaction tests using them can run concurrently without data races.

Add t.Parallel() to isolated slow top-level tests in tsdb (over 440 of 464 top-level tests previously ran sequentially), reducing go test -race -parallel 4 ./tsdb/ from ~16m30s to ~6m05s.

Also clear the captured DB and Head references inside newTestDB and newTestHead t.Cleanup closures: Go's testing package keeps parallel *testing.T instances in t.parent.sub until the parent finishes and pops t.cleanups via reslicing without zeroing the backing array, which otherwise pins every closed *DB and *Head in the heap across all parallel tests.

Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-23 09:50:39 +00:00
Arve Knudsen d6851c4033 ci: ignore zizmor cache-poisoning in synced golangci-lint workflow (#20158)
The synced zizmor workflow reports cache-poisoning for the synced
golangci-lint workflow in every Go repository, because the workflow runs
on tag and release branch pushes and actions/setup-go caches by default.
zizmor here only scans .github/workflows, so it never checks
scripts/golangci-lint.yml.

Restoring the Go cache is acceptable in this workflow: its token is
read-only, it uses no secrets and it publishes nothing. Ignore the
finding for this step rather than disabling the cache. This differs from
the golangci job in ci.yml, which disables the cache since d5f79f751,
because that job runs in the same workflow as the publish jobs.

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-10-23 11:33:28 +02:00
Guido Ricioppo 1de3487e05 tsdb: add persistent ticker regression tests
Signed-off-by: Guido Ricioppo <griciopp@redhat.com>
2026-10-23 11:05:59 +02:00
Julien e2e83df003 Merge pull request #19683 from roidelapluie/roidelapluie/utf8names-backend
promql: allow unquoted Unicode letters and dots behind a feature flag
2026-10-23 11:01:04 +02:00
Julius Hinze 1766a31ff9 security: bump go to 1.26.10 (#20156)
Signed-off-by: Julius Hinze <julius.hinze@grafana.com>
2026-10-23 08:09:33 +00:00
Bartek Plotka cb58288c66 tsdb: remove redundant test loops in delete and GC tests
In TestDelete_e2e and TestHeadAppenderV2_Delete_e2e, the inner numRanges (1000) loop was copied from TestDB_e2e without random query bounds, executing the exact same deterministic [0, 100000] query 1,000 times per deletion (~139s under -race).

In TestHead_RaceBetweenSeriesCreationAndGC and TestHeadAppenderV2_RaceBetweenSeriesCreationAndGC, the i%128 != 0 loop condition forced 128 full head.gc() passes over 100,000 series even after the concurrent series-creation goroutine finished after ~5 iterations (~77s of single-threaded post-completion work under -race). Checking !done.Load() directly keeps continuous concurrent GC while series creation runs without spinning after completion.

Signed-off-by: Bartek Plotka <bwplotka@google.com>
2026-10-23 07:58:54 +00:00
Bartlomiej Plotka 9112ee5577 Merge pull request #20091 from prometheus/bwplotka/om2-rc
scrape: support OpenMetrics 2.0-rc
2026-10-23 09:05:22 +02:00
xinjun.jiang 72cc03d0ab docs: select extracted directories in getting started commands
Signed-off-by: xinjun.jiang <xinjun.jiang@daocloud.io>
2026-10-23 14:21:26 +08:00
Guido Ricioppo 5cca370a3d tsdb: use a persistent maintenance ticker
Prevent frequent compaction notifications from resetting the maintenance schedule before it fires.
This can happen when automatic compaction is disabled the head remains compactable until externally scheduled compaction runs.

Signed-off-by: Guido Ricioppo <griciopp@redhat.com>
2026-10-22 18:06:00 +02:00
renovate[bot]andArve Knudsen 22c287a36a Update Mantine UI (#20120)
* Update Mantine UI

---------

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-10-22 15:13:36 +00:00