Skip to content

docs: [DOC] Update doc to reflect thread sampling logic required for tracin...#5238

Open
arnavnagzirkar wants to merge 2 commits into
grafana:mainfrom
arnavnagzirkar:fix-3482
Open

docs: [DOC] Update doc to reflect thread sampling logic required for tracin...#5238
arnavnagzirkar wants to merge 2 commits into
grafana:mainfrom
arnavnagzirkar:fix-3482

Conversation

@arnavnagzirkar

Copy link
Copy Markdown

Summary

In StackSamplerLoop::MainLoopIteration() (pyroscope-dotnet), the CodeHotspotIteration() function - which samples threads that carry a trace context and is the core of the trace-span profiles integration - is only called inside the IsWallTimeProfilingEnabled() guard: if...

Root cause

In StackSamplerLoop::MainLoopIteration() (pyroscope-dotnet), the CodeHotspotIteration() function - which samples threads that carry a trace context and is the core of the trace-span profiles integration - is only called inside the IsWallTimeProfilingEnabled() guard:

if (_pConfiguration->IsWallTimeProfilingEnabled())
{
 CodeHotspotIteration(); // samples threads with trace context
 WalltimeProfilingIteration();
}

PYROSCOPE_PROFILING_WALLTIME_ENABLED defaults to false, so users enabling the .NET tracing integration without explicitly turning on walltime profiling will get no profile data linked to their spans. This dependency was not documented anywhere.

What changed

docs/sources/configure-client/trace-span-profiles/dotnet-span-profiles.md

  • Removed the inaccurate "Only CPU profiling is supported at the moment" note (the tracing integration actually uses walltime profiling internally).
  • Added a warning admonition in the "Supported profile types" section explaining that walltime profiling must be enabled and pointing to the relevant env var.
  • Added a new "Required configuration for tracing integration" section with a minimal working config example that includes PYROSCOPE_PROFILING_WALLTIME_ENABLED=1.

docs/sources/configure-client/language-sdks/dotnet.md

  • Updated the PYROSCOPE_PROFILING_WALLTIME_ENABLED row in the configuration table to note it is required for the tracing integration, with a link to the span profiles doc.

Issue

Fixes #3482

Issue: #3482

Diffstat

.../configure-client/language-sdks/dotnet.md | 2 +-
 .../trace-span-profiles/dotnet-span-profiles.md | 29 +++++++++++++++++++++-
 2 files changed, 29 insertions(+), 2 deletions(-)

Testing

  • Ran the relevant tests and linter for the changed files while developing.

  • Kept the change minimal and focused on this one issue.

AI assistance

I used GitHub Copilot to help write parts of this change. I've reviewed and tested it myself, I understand what it does, and I'll follow up on any review feedback.

@arnavnagzirkar arnavnagzirkar requested review from a team as code owners June 3, 2026 21:49
@cla-assistant

cla-assistant Bot commented Jun 3, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@cla-assistant

cla-assistant Bot commented Jun 3, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

1 similar comment
@cla-assistant

cla-assistant Bot commented Jun 3, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DOC] Update doc to reflect thread sampling logic required for tracing integration on

1 participant