Skip to content

Profile CPU + I/O #26

Open
Open
@Yamakaky

Description

@Yamakaky

By default, pprof only counts the CPU usage of a trace and not the I/O time. In my case, I have multiple microservices that spend the majority of their time calling themselves and the database, so the CPU flamegraph is of limited use. For example, one API endpoint takes 200ms to call another service, but only 0-1 samples are recorded in pyroscope since so little time is spent in CPU. This means the link for the opentelemetry trace is empty most of the time.

I see https://github.com/felixge/fgprof seems to do what I need. It is implemented as a standalone HTTP handler, so this would need extracting the relevant code from https://github.com/felixge/fgprof/blob/master/fgprof.go, or working with them to split the handler from the business code.

I could help for that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions