Skip to main content
Continuous profiling shows where a service spends CPU time, allocates memory, or waits on locks. Open Profiles 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

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.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.
Last modified on October 13, 2026