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.

Reply via email to