test(symbolizer): add symbol-ref tree integration tests and docs#5335
Open
jake-kramer wants to merge 3 commits into
Open
test(symbolizer): add symbol-ref tree integration tests and docs#5335jake-kramer wants to merge 3 commits into
jake-kramer wants to merge 3 commits into
Conversation
jake-kramer
force-pushed
the
symbolizer/symbolref-integration
branch
from
July 9, 2026 16:07
31c7dc6 to
6355a97
Compare
Contributor
Author
|
This change is part of the following stack:
Change managed by git-spice. |
This was referenced Jul 9, 2026
jake-kramer
force-pushed
the
symbolizer/symbolref-frontend
branch
from
July 9, 2026 20:53
445de3d to
2c09212
Compare
jake-kramer
force-pushed
the
symbolizer/symbolref-integration
branch
from
July 9, 2026 20:53
6355a97 to
bac4cc6
Compare
jake-kramer
marked this pull request as ready for review
July 9, 2026 21:11
jake-kramer
force-pushed
the
symbolizer/symbolref-integration
branch
from
July 13, 2026 14:58
c35a816 to
dc8c837
Compare
jake-kramer
force-pushed
the
symbolizer/symbolref-frontend
branch
2 times, most recently
from
July 13, 2026 19:05
8507190 to
6e124dc
Compare
jake-kramer
force-pushed
the
symbolizer/symbolref-integration
branch
2 times, most recently
from
July 13, 2026 19:27
5f36a6d to
7e134fd
Compare
jake-kramer
force-pushed
the
symbolizer/symbolref-frontend
branch
from
July 13, 2026 19:27
6e124dc to
4fa35d0
Compare
jake-kramer
force-pushed
the
symbolizer/symbolref-integration
branch
from
July 13, 2026 19:48
7e134fd to
f2e117c
Compare
jake-kramer
force-pushed
the
symbolizer/symbolref-frontend
branch
2 times, most recently
from
July 14, 2026 19:46
ae84568 to
2585589
Compare
jake-kramer
requested review from
aleks-p,
bryanhuhta,
korniltsev-grafanista and
marcsanmi
as code owners
July 14, 2026 19:46
jake-kramer
force-pushed
the
symbolizer/symbolref-integration
branch
from
July 14, 2026 19:47
f2e117c to
b7fffcf
Compare
simonswine
approved these changes
Jul 15, 2026
Add end-to-end integration coverage for the symbol-aware tree path
behind symbolizer.symbol-ref-trees-enabled: queryless ({}) symbolization
via the tenant-wide index, span-filtered symbolization, mixed
symbolized/unsymbolized datasets, unknown-build-ID fallback rendering,
and a flag-on-vs-legacy equivalence check. Fixtures push unsymbolized
profiles through the real ingest path so the __unsymbolized__ label is
set authentically, exercising the common single-mapping shape.
Document the new per-tenant flag and resolve timeout, the now-working
queryless behavior, and the binary!0xaddr fallback, with a recommended
fallback-rate alert expression.
The equivalence test records a pre-existing defect in the legacy
pprof-detour tree path (a non-zero maxNodes routes the sub-query through
the truncating pprof builder, which drops line-less locations before
symbolization runs) and skips the legacy comparison while asserting the
new path's correctness unconditionally.
Part of grafana/pyroscope-squad#487.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… after compaction Mirror the post-compaction phase of the plain symbolization test on the symbol-ref path: after the first L0 compaction, the queryless tree query must still return symbolized frames. Filler pushes drive the planner, since age-based batch flushing is only evaluated when another block arrives at the level. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…flag The query-frontend symbolization section mentioned -symbolizer.enabled only in passing. Lead with how symbolization itself is enabled (the per-tenant default flag and the debuginfod URL) before describing the symbol-ref tree flag that builds on it. Part of grafana/pyroscope-squad#487. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jake-kramer
force-pushed
the
symbolizer/symbolref-frontend
branch
from
July 16, 2026 01:54
2585589 to
f2a55f0
Compare
jake-kramer
force-pushed
the
symbolizer/symbolref-integration
branch
from
July 16, 2026 01:54
b7fffcf to
532a7d7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of a series: symbol-aware tree references (7 of 8)
Full context: #5317 (PR 1). The final functional PR: end-to-end integration tests + docs.
ResolveAPI (feat(symbolizer): expose address-level symbol resolution as a public API #5317)SymbolRefTable+ tree fields (feat(query): add SymbolRefTable and symbol_refs tree fields to the query API #5318)model/symbolref: intern table + merge rebasing (feat(model): add symbolref package for symbol-aware tree references #5321)model/symbolref: grouping + rebuild (feat(model): add unresolved-binary grouping and tree rebuild to symbolref #5322)Based on #5334.
What
Integration coverage with
symbolizer.symbol-ref-trees-enabled=true, each mapped to a fix:{}symbolization via the tenant-wide index (the scenario that motivated grafana/pyroscope-squad#487).binary!0xaddrfallback, end to end.Fixtures push unsymbolized profiles through the real ingest path (authentic
__unsymbolized__label), using the common single-mapping shape. Docs: the new flag, resolve timeout, queryless-now-works, and the fallback rendering.Testing
The four symbol-ref integration tests pass; the existing symbolization test still passes; build/vet/gofmt clean.