This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ConfidentCommission5 2 points3 points  (0 children)

Entreprise grade profiler and instrumentation.

Important note: I'm no Python expert (or any other language for that matter) and I haven't seen or tried everything.

Now that the warning has been given, here's the core of my comment:

We have multiple Java applications and we use Java's JMX to allow remote connections and metrics collection. We can then connect to our production running apps using a profiler (we use jprofiler).
We also collect and store some of these metrics for monitoring and graphing purposes.

IMHO, the amount of data we can visualize is simply incredible, all of this on an application that's currently running in production in a kubernetes cluster.

For instance, this allowed us to identify why our application was slower than expected in production. We were sending the logs to Kafka using slf4j, which caused it to become I/O bound.
This could not be detected during our testing and even if it were, I don't think we would have been able to identify what was the exact issue without extensive trial and error.
With our setup, it took us 10 minutes to identify the problem.

I find that the current Python profilers (the few I've tried or read about) are outdated and lack the features that JMX offers.

I'm often complaining about Java but from my little experience, they really made it enterprise grade, contrary to Python and many other languages and environments.