I'm the author of fgtrace, happy to answer any questions :).<p>I've also posted a few more comments in this twitter thread: <a href="https://twitter.com/felixge/status/1571850160358965249" rel="nofollow">https://twitter.com/felixge/status/1571850160358965249</a>
> fgtrace may cause noticeable stop-the-world pauses in your applications.<p>Huh, I wonder if this is a temporary limitation or an issue with the approach. In my experience if you're doing profiling you probably better off getting something lighter weight that you can get more honest numbers from.<p>Edit: reading closer, it looks like the go team had similar concerns. I wonder if this can capture how long a goroutine was unmounted for.
The proposal[0] mentioned in the README has some good insight from rsc.<p>He notes the performance & scalability issues already noted here by other commenters.<p>> Probably the right thing to do is figure out more of a trace like the current trace profiles but perhaps less low level.<p>This is the key take away for me.<p>I think there's room for tracing support somewhere in-between runtime/trace and full blown distributed traces (e.g., OpenTelemetry[1]) - so I'm hopeful this effort may evolve into a good solution in that space.<p>From a usability point of view, my biggest gripe right now with the go tracer is that it's viewer is...painful. It uses the tracer that's built into chrome, which chrome itself is moving away from.<p>I'd hacked around a bit recently to try and get the existing go traces into perfetto[2], with some success. As I recall, I couldn't get user traces functioning.<p>The `go tool trace` server has an api to output compatible json, but it's limited in what it outputs. Unfortunately, the trace file itself is in some custom binary format. All the tools for manipulating it are in `internal/` folders, making them unavailable for import, so creating new tools for working with the traces is quite burdensome.<p>I'd debated copying the code out into a new project, and starting to hack on it, but at that point, I'd reached the end of my willingness to invest time. Perhaps I should open an issue or mesage the mailing list to see what the maintainers think the future of runtime tracing looks like.<p>[0] <a href="https://github.com/golang/go/issues/41324#issuecomment-703796820" rel="nofollow">https://github.com/golang/go/issues/41324#issuecomment-70379...</a><p>[1] <a href="https://opentelemetry.io" rel="nofollow">https://opentelemetry.io</a><p>[2] <a href="https://ui.perfetto.dev/" rel="nofollow">https://ui.perfetto.dev/</a>