

Show HN: Java Mini Profiler - alvins
https://github.com/alvins82/java-mini-profiler-core

======
spicyj
Nice! If anyone's looking for a Python one that works on Google App Engine,
you can use this one:

<https://github.com/kamens/gae_mini_profiler>

------
jtheory
This looks interesting, particularly when the current field of Java profilers
is mostly taken up by "enterprise" (read: hugely expensive) and open source
projects that were abandoned at least a year or two ago.

I'm most interested on what kind of use this is getting -- @alvins, are you
using it on production? If so, do you have any measurements on the performance
penalty of running the profiler with a particular config (e.g., with all
public methods profiled)?

And/or: a general roadmap and summary of status/stability...

~~~
alvins
Haven't run it in production as yet. You can definitely run it in production
if your not using the annotations/aop or sql profiling (i.e. using manual
Step()). With the annotation/aop I'ld be wary of overhead it adds - I haven't
looked at it myself. The SQL profiling again would need some investigation.

I've gained large amounts of benefit out of it in development of my startup
Pocketbook (<https://getpocketbook.com>). Because of it's 'live on-page'
nature you can quite quickly see 'intensive' areas that you need to look at.

I would class it as beta and have been using/iterating it for over 4 months.
However - the initial code-base was seeded from gae-mini-profiler which
already had some mileage. I've added the annotation and sql profiling and made
it non-gae based so we can all use it.

I don't have any roadmap as yet - if people want specific features out of it -
happy to help.

~~~
jtheory
Cool, thanks for the added detail!

I suspect the main additions you'll need for this to be useful in a production
environment will be around logging and accessing stats -- showing the end user
that a particular page performed poorly doesn't help you unless you _also_
know about it, with enough info to reproduce the problem. Also, with higher
volumes, you don't want to be flooded with almost-identical data, so you can
dig into strategies like only sampling a subset of actual requests, different
handling for poorly-performing queries, etc..

I'll keep an eye on this, and if we do decide to integrate it I'll be in
touch; thanks!

------
jimr
If anyone's interested - this is the original project this is based off of:
<https://github.com/jriecken/gae-java-mini-profiler>

------
cgag
I never saw that initial post or the Ruby versions until, this looks really
cool, I'll probably be trying it out in the next couple of days, thanks.

------
supercoder
The profiler of the x origin should always be left alone. Why does Java not
understand ? Yuck, yuck in the most ways. Yes ?

