Closed lizthegrey closed 2 years ago
Default configuration only includes Go cpu
and mem
profiles but eventually we will extend the list. Although this part is not yet fully supported (and documented), it is possible to scrape arbitrary profiles – including mutex
, goroutines
, and block
:
scrape-configs:
- job-name: my-job
enabled-profiles: [cpu, mem, mutex]
profiles:
mutex:
path: /debug/pprof/mutex
sample-types:
mutex:
units: objects
aggregation: average
cumulative: true
We will add support for all of them soon!
@kolesnikovae Just out of curiosity, how far are we from supporting those?
@eh-am basically, we need a couple of little changes:
cpu
and heap
and know what to expect; meanwhile, new profiles can bring new issues, so we need to be very careful.cpu
). AFAIK, it's hardcoded, which is not great, but I don't think we have to change it (at least right now).mutex
and block
profiles can be empty – in some cases it can be confusing.Implemented in https://github.com/pyroscope-io/pyroscope/pull/1178
https://github.com/pyroscope-io/pyroscope/blob/9e6022b95e935e81ba6a3e6c028495d271a510bf/pkg/scrape/config/config.go#L40
needs an entry for mutex profiling.