-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
Problem Statement
We want to decouple profiles from the current transaction model and expose a way for users to profile code that is longer than 30s (current max profile duration )
Solution Brainstorm
Introduce a continuous profiling mode.
The continuous profiling mode is exclusive from the current profiling mode. We want to allow developers to start and stop the profiler as they please, yielding full control over what is profiled. The current API design docs are here and have not been finalized.
- Implement continuous profiling mode functionality without exposing it (feat(node): add continuous profiling mode #12124)
- Implement profile context on spans (tbd if via startSpan or some global context)
- Standardize on the API and mode selection mechanism
- Document and expose the API
- Clarify self hosted support feat(node): add continuous profiling mode #12124 (comment)
An implementation details of the continuous profiling mode is that each span that is started during a profiling session has a profile context that includes the thread id, name and the profiler id that was currently active (we need this so we can stitch back the profile chunks back together.
Fwiw, the product is currently not handling this yet as we do not have a way to visualize continuous profiles yet. The plan is to implement the functionality and keep it hidden while we work on the in-product support for this.
Metadata
Metadata
Assignees
Labels
Projects
Status