Closed nsrip-dd closed 1 month ago
Attention: Patch coverage is 3.27869%
with 59 lines
in your changes missing coverage. Please review.
Project coverage is 60.79%. Comparing base (
e5d6424
) to head (c688347
). Report is 1 commits behind head on main.
Files | Patch % | Lines |
---|---|---|
main.go | 3.27% | 56 Missing and 3 partials :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
What does this PR do?
Add hidden flags to enable profiling Orchestrion. Options for writing CPU and heap profiler, as well as execution traces, with a configurable path prefix. Enabling the profiler for the parent enables it for the children. There is one of each enabled profile type per process, and each file gets the PID in its name.
Note that CPU profiling adds a ~200ms delay at the end of the app to stop profiling. This might matter more for Orchestrion since there are many normally short-lived processes.
Execution tracing should be enabled with caution since traces can be quite large. Even the other profile types can produce significant amounts of data. The profiles will have redundant symbol data. The CPU and heap profiles can be combined into a single profile to eliminate the redundancy.
Example usage:
Motivation
Looking for hot spots & bottlenecks in Orchestrion
Reviewer's Checklist