prometheus/util
Arve Knudsen cdfacef1b6 feat: add OTel resource/scope attributes persistence per time series
Add support for persisting OTel resource/scope attributes alongside time series
data in TSDB, enabling the info() PromQL function to enrich metrics with
resource context without relying on target_info metric scraping.

Storage layer:
- Add ResourceUpdater interface with UpdateResource() to storage.Appender
- Add ResourceContext to AppendV2Options for passing resource attributes
- Add ResourceQuerier interface for querying stored resource attributes
- Add EntityData type for passing OTel entity information through storage

TSDB seriesmetadata subsystem:
- Add Entity type with OTel entity data model (type, ID, description)
- Add ResourceVersion with versioned identifying/descriptive attributes
- Add VersionedResource for tracking attribute changes over time
- Add MemResourceStore for in-memory resource storage with versioning
- Extend Parquet schema with resource namespace, nested attribute lists,
  and entity rows
- Add zstd compression, row sorting, and footer metadata to Parquet writer

OTLP integration:
- Extend CombinedAppender to extract and persist resource attributes from
  OTLP ResourceMetrics during ingestion

PromQL info() function:
- Rewrite to use stored resource attributes instead of fetching target_info
  series, with attribute name translation via LabelNamer mappings

Web API:
- Add /api/v1/resources endpoint for querying stored resource attributes
- Support format=attributes for autocomplete use cases
- Add OpenAPI documentation for the new endpoint

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2026-03-20 17:56:16 +01:00
..
almost Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
annotations Use custom annotation for histogram quantile monotonicity info to provide more details (#15578) 2026-02-05 18:35:48 +01:00
compression Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
convertnhcb Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
documentcli chore: fix emptyStringTest issues from gocritic (#18226) 2026-03-04 08:24:50 +01:00
features API: Add a /api/v1/features endpoint 2025-12-09 16:13:14 +01:00
fmtutil Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
fuzzing Refactor parse.go into an instance-based Parser interface 2026-02-11 11:21:49 +01:00
gate Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
httputil chore: fix httpNoBody issues from gocritic 2026-03-02 20:06:30 +01:00
jsonutil Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
junitxml Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
kahansum perf(PromQL): allow inlining kahansum.Inc (#18319) 2026-03-19 15:31:20 +01:00
logging chore(kubernetes): deduplicate warning logs from the API 2026-03-12 08:34:33 +01:00
namevalidationutil Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
netconnlimit Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
notifications Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
osutil Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
pool Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
runtime util/runtime: cast Blocks to uint64 to fix type mismatch on different architectures 2026-02-27 15:49:17 +01:00
runutil Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
stats Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00
strutil chore: fix emptyStringTest issues from gocritic (#18226) 2026-03-04 08:24:50 +01:00
testrecord tsdb: ST-in-WAL: Counter implementation and benchmarks (#17671) 2026-02-12 13:17:50 -05:00
teststorage feat: add OTel resource/scope attributes persistence per time series 2026-03-20 17:56:16 +01:00
testutil Remove the goexperiment.synctest build tag 2026-02-11 13:53:10 -08:00
testwal post merge conflict fixes 2026-03-12 09:03:08 +00:00
treecache chore(lint): enable wg.Go 2026-02-17 15:21:51 +01:00
zeropool Remove copyright date from headers (#17785) 2026-01-05 13:46:21 +01:00