grafana / grafana/pyroscope

Use <aggregate> label values for distributor-sampled profiles

Open
#5,600 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
11.7k
Forks
802
Avg merge
1d 19h
Merged PRs (30d)
80

Description

## Background

Distributor sampling can remove detailed information from sampled-out profiles while retaining their totals. For labels derived from removed data, this can cause label values to appear and disappear over time without explaining why.

## Proposal

For sampled-out profiles, use `` as the value of labels whose original values can no longer be preserved.

For example, a time series grouped by `function_name` could show concrete function names for retained profiles and `function_name=""` for sampled-out profiles.

## Motivation

This would:

- Explain why specific label values appear and disappear.
- Make the effect of distributor sampling visible in query results.
- Preserve sampled totals without attributing them to an incorrect label value.
- Help users distinguish missing data from intentionally aggregated data.

This does not need to block the current sampling work and can be implemented as a follow-up, potentially at query time rather than storage time.

## Related work

- #5354
- #5409
- #5444

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading related issues #5354, #5409, and #5444, then trace how distributor sampling and query-time label construction handle sampled-out profiles. Done means sampled-out profiles expose for labels whose original values are unavailable, while retained profiles keep their concrete values and sampled totals remain preserved.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.