Description
Feature Request
Note
AlwaysOn Profiler is the name used as a product feature in Splunk. Broadly it is more known as a continuous profiles. It takes small portion of data every few seconds/events.
Implement CPU and memory profiler for .NET based on description in Splunk repository:
- CPU profiler : https://github.com/signalfx/signalfx-dotnet-tracing/blob/main/docs/always-on-profiling.md
- Memory profiler: https://github.com/signalfx/signalfx-dotnet-tracing/blob/main/docs/internal/memory-profiling.md
Most of the native code is stored under: https://github.com/signalfx/signalfx-dotnet-tracing/blob/main/tracer/src/Datadog.Trace.ClrProfiler.Native/always_on_profiler.cpp (and other prefixed by always_on_*).
Most of the managed code part: https://github.com/signalfx/signalfx-dotnet-tracing/tree/main/tracer/src/Datadog.Trace/AlwaysOnProfiler
Integration tests: https://github.com/signalfx/signalfx-dotnet-tracing/blob/main/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/AlwaysOnProfilerPprofTests.cs
Tests application (covers all .NET languages): https://github.com/signalfx/signalfx-dotnet-tracing/tree/main/tracer/test/test-applications/integrations/Samples.AlwaysOnProfiler