←back to thread

257 points pmig | 5 comments | | HN request time: 1.1s | source
1. TheCycoONE ◴[] No.43097175[source]
We run mostly Java apps with a few Go apps. What I miss with Go, maybe just because I'm not as familiar and don't know where to look, is all the runtime analysis that's built in. Thread dumps, heap dumps, and even flight recorder profiling is all built in to the JVM so it works with all apps everywhere. When a Go app suddenly slows down it's very difficult to determine why unless the app was coded to provide the right metrics.
replies(1): >>43097850 #
2. burch45 ◴[] No.43097850[source]
I actually much prefer go ‘s runtime tooling. Pprof has everything I need built in; heap, cpu, blocking, mutex contention. And don’t need additional tools to visualize the collected data. https://pkg.go.dev/net/http/pprof@go1.24.0
replies(2): >>43097862 #>>43098461 #
3. cmrdporcupine ◴[] No.43097862[source]
I haven't done Java fulltime in almost 15 years, but I still haven't seen anything out there that is as good as JMX was, out of the box. For just getting decent metrics / observability without rolling in frameworks. Just part of the runtime.
4. metaltyphoon ◴[] No.43098461[source]
Does pprof work when CGO is enabled?
replies(1): >>43098837 #
5. fooster ◴[] No.43098837{3}[source]
Yes