Alex and Luke, thank you for your kind words! Regarding your questions, Luke. #3. Authors of async-profiler promise that it's quite low-overhead. Of course, some experimentation and benchmarking is needed, but I think it is possible to have the profiler always on. Some work would be required too: async-profiler doesn't flush intermediate data, so an "always on" profiler would probably have to restart repeatedly in predefined timespans, say every 1 minute.
Re: #2. That would be actually quite simple. The format of folded stacktraces before they hit the flamegraph is is the following: <stacktrace> <number-of-occurences> For example: clojure.core$main.invoke;my_app$_main;my_app$init-config; 1 clojure.core$main.invoke;my_app$_main;my_app$do_hard_work;my_app$burn_cpu; 254 You can mash such files from multiple machines together, adding the numbers where stacks match. Best regards, Alex On Monday, December 11, 2017 at 4:42:23 PM UTC+2, Alexander Yakushev wrote: > > I've just released a wrapper around > https://github.com/jvm-profiling-tools/async-profiler that allows > controlling the profiler directly from the REPL of the program you want to > profile. The JAR file ships the profiling agent and the flamegraph > generation script from https://github.com/brendangregg/FlameGraph, so > that you can profile your code and instantly generate flame graphs from it. > > Introductory blog post: > http://clojure-goes-fast.com/blog/profiling-tool-async-profiler/ > Repository: https://github.com/clojure-goes-fast/clj-async-profiler > > Hope you'll like it! > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.