Skip to content

Conversation

@seemk
Copy link

@seemk seemk commented Jan 23, 2026

New environment variables:

  • SPLUNK_SNAPSHOT_PROFILER_ENABLED default: false
  • SPLUNK_SNAPSHOT_SELECTION_PROBABILITY default: 0.01
  • SPLUNK_SNAPSHOT_SAMPLING_INTERVAL default: 10 (milliseconds)

The profiling is triggered in CallgraphsSpanProcessor which filters the stacktraces based on active traces (i.e. it only keeps stacktraces matching a trace that has been selected for profiling).

Changes to profiling:

  • Add the missing profiling.instrumentation.source attribute.
  • Use time.monotonic instead of time.time for consistent sleeping.
  • Add the ability to pause profiling - which hibernates the profiler thread. Can be resumed again via start. This is used for callgraphs when no traces have been selected for a minute.
  • Add support for multiple profiler instances. Context attach/detach wrapping is still done only once, meaning the profiler instances share the thread state mapping.

@seemk seemk requested review from a team as code owners January 23, 2026 12:55
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.

1 participant