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.
Analyze a flame graph
Set the time range, then narrow the analysis in the filter row:
The line under the filters states what the analysis found: the hottest function with its self
share, the number of samples and services, and the time captured.
The flame graph merges the profiles of the selection. Select the profiles button, which shows
how many of the profiles are selected, to choose the profiles that take part. Click a row of that
panel to open one profile on its own, with Download pprof and the link to a correlated trace.
When the time range holds more profiles than one merge accepts, the flame graph shows an evenly
sampled subset and says so.
Three views read the same merged data:
The workspace also highlights frames by name, opens a fullscreen analysis, and refreshes a recent
window every 10 seconds while Live is on.
Compare two periods
Select Compare profiles on the analysis page. The comparison keeps the service and the profile type, and sets two periods against each other:
A baseline that follows the comparison period is available only while the two do not overlap. For a
comparison period of three days, Same time a day earlier is unavailable.
The page states the number of profiles in each period and the Overall change. A note appears
when the two periods share time, and when they hold different numbers of profiles, because part of
the change then comes from the amount captured.
The diff flame graph marks functions whose cost increased and functions whose cost decreased.
Most changed functions ranks functions by the change in self cost and marks a function that
exists in one period only as new or gone. Select a function in the list to mark it in the
flame graph. The comparison is useful after a release or a configuration change.
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.readdiscovers profile data.streams.queryrenders and compares flame graphs.streams.writeor an intake credential sends profiles.