Continuous profiling shows where a service spends CPU time, allocates memory, or waits on locks.
Open Continuous Profiling from the main navigation.
Profile intake
MoleSignal accepts:
- OTLP profiles on the external OTLP gRPC receiver;
- Pyroscope-compatible intake at
/api/v1/profiles/intake;
- direct pprof uploads at
/api/v1/profiles/upload;
- individual profile files uploaded from the UI.
Profile metadata is queryable. Canonical pprof blobs are compressed and stored in object storage.
Analyze a flame graph
Select a service, profile type, and time range. Choose one or more profiles to merge into the
analysis.
The flame graph supports:
- zooming into a stack frame;
- searching and highlighting functions;
- self and cumulative sample values;
- a ranked top-functions view;
- per-function details and stack context;
- live refresh for recent windows.
Compare two windows
Open Compare profiles to select a baseline and comparison range. The diff flame graph highlights
functions that became hotter or cooler, which is useful after a release or configuration change.
Differential profiling requires the profiling_enhanced entitlement in Enterprise Edition.
Profile intake, listing, downloads, trace correlation, and single-window flame graphs remain
available without the entitlement.
Separate application and node profiling
Application profiles belong to organization streams and appear in the product UI. MoleSignal also
has a node-local pprof listener for platform operations. That listener is disabled by default and
should normally remain bound to loopback.
See Self-observability for the node listener and scheduled
_molesignal profiles.
Permissions
streams.read discovers profile data.
streams.query renders and compares flame graphs.
streams.write or an intake credential sends profiles.
Profiles can reveal function names, code layout, and resource-use patterns. Protect profile
intake, downloads, and the node pprof listener as sensitive operational data.