368 points by bluestreak 5 days ago | 78 comments | View on ycombinator
ot 5 days ago |
shermantanktop 5 days ago |
Me: looks at my code. "sure, ok, looks alright."
Me: looks at the resulting flamegraph. "what the hell is this?!?!?"
I've found all kinds of crazy stuff in codebases this way. Static initializers that aren't static, one-line logger calls that trigger expensive serialization, heavy string-parsing calls that don't memoize patterns, etc. Unfortunately some of those are my fault.
jerrinot 5 days ago |
jonasn 5 days ago |
Thanks for the write-up Jaromir :) For those interested, I explored memory overhead when reading /proc—including eBPF profiling and the history behind the poorly documented user-space ABI.
Full details in my write-up: https://norlinder.nu/posts/User-CPU-Time-JVM/
furyofantares 5 days ago |
> Click to zoom, open in a new tab for interactivity
I admit I did not expect "Open Image in New Tab" to do what it said on the tin. I guess I was aware that it was possible with SVG but I don't think I've ever seen it done and was really not expecting it.
pjmlp 5 days ago |
Very interesting read.
higherhalf 5 days ago |
goodroot 5 days ago |
Love the people and their software.
Great blog Jaromir!
burnt-resistor 5 days ago |
While I don't particularly like the IO overhead and churn consequences of real files for performance metrics, I get the 9p-like appeal of treating the virtual fs as a DBMS/API/ABI.
otterley 5 days ago |
Ono-Sendai 5 days ago |
ee99ee 5 days ago |
squirrellous 5 days ago |
mgaunard 5 days ago |
xthe 5 days ago |
amelius 5 days ago |
tomiezhang 5 days ago |
This is not well documented unfortunately, and I'm not aware of open-source implementations of this.
EDIT: Or maybe not, I'm not sure if PERF_COUNT_SW_TASK_CLOCK allows to select only user time. The kernel can definitely do it, but I don't know if the wiring is there. However this definitely works for overall thread CPU time.