JavaRush /Java Blog /Random EN /Coffee break #82. 41 Tools to Monitor JVM and Java Applic...

Coffee break #82. 41 Tools to Monitor JVM and Java Application Performance

Published in the Random EN group
Source: JVMwhisperer I have tried to create a comprehensive list of JVM monitoring tools and related products. Hope this helps you in your work. The tools are listed in alphabetical order, with no preference given to place in the list. Coffee break #82.  41 tools for monitoring JVM and performance of Java applications - 1
  1. Apache Netbeans can be used not only as an IDE, but also as a debugger. Works on all operating systems that support Java: Windows, Linux, Mac OSX and BSD.

  2. Apache Skywalking is a distributed systems application performance monitoring tool specifically designed for microservices, cloud and container (Docker, Kubernetes, Mesos) architectures, including Java.

  3. When it comes to free tools for monitoring Java applications, JConsole and VisualVM are usually chosen. AppDynamics provides a third option to help you monitor web application performance.

  4. Cobertura is more of a development tool than a monitoring tool, but I believe that all code should be tested before going into production, and Cobertura is a free Java tool that calculates the percentage of code available for testing. It can be used to determine which parts of your Java program are not covered by tests. Based on jcoverage.

  5. Flamegraph Datadog analyzes every Java request to detect and fix application performance issues in a distributed system.

  6. Dynatrace monitors and optimizes Java application performance across the entire application stack, including databases and services.

  7. Eclipse Memory Analyzer is a general purpose toolkit for analyzing Java heap dumps. It also reports possible memory leaks and anti-patterns. The main area of ​​application is errors associated with a shortage or increased memory consumption.

  8. Fusion Reactor is a Java monitoring tool that allows you to find performance issues in a Java application or server by analyzing code, flow, and memory.

  9. GCeasy is the first garbage collection log analysis tool powered by machine learning. GCeasy automatically detects problems in the JVM and Android GC logs and recommends a solution.

  10. Glowroot provides an information summary about the application, has flexible settings, and generates charts to visualize the breakdown by response time. With its interactive user interface, you can control your Java application from both desktops and mobile devices.

  11. JavaMelody monitors Java or Java EE applications in quality control and production environments. This is not a tool for simulating requests from users - it is a tool for measuring and calculating statistics of the actual operation of the application, depending on the degree of its use.

  12. The Jet Brains Memory View plugin shows the total number of objects on the heap, grouped by their class name. As you step through the program, the Diff column shows how the number of objects changes between debugger stops. This way you can easily see how the code affects the heap.

  13. JProfiler is a simple and powerful profiling tool. Setting up sessions is easy, third-party integrations make it easy to get started, and profiling data is presented in a natural way.

  14. JRat Java Runtime Analysis Toolkit is an open source performance profiler for the Java platform. JRat tracks application execution and stores performance measurements. This data can then be viewed and analyzed using JRat Desktop, a Swing application.

  15. Using the Kamon tool , you can determine the cause of slow queries and other errors. A developer can simply point and click to find the endpoints, database queries, and API calls that affect the user experience.

  16. Lightstep automatically detects changes in the application, infrastructure, and user experience and highlights specific causes.

  17. The Applications Manager JRE monitors various metrics, including JVM memory, garbage collection, threads, and more. An excellent tool for closely monitoring JRE performance.

  18. MoSKito Monitoring checks the health of the application. It is open source, supports microservices, and is a great choice for DevOps professionals and SR engineers.

  19. Nagios is a directory of modules, scripts, and plugins for Java applications and servers.

  20. New Relic lets you track just about everything, from performance issues to minor bugs in your code. Every minute, the Java agent sends metric timeslots and event data to the New Relic user interface, where the owner of this data can log in and use this information to see how the site or application is performing.

  21. Java VisualVM is a tool that provides a visual interface for viewing detailed information about Java applications as they run on the Java Virtual Machine (JVM), and for troubleshooting and profiling those applications. Various additional tools, including Java VisualVM, are provided with the Sun Java Development Kit (JDK) distribution.

  22. JConsole is a monitoring tool that conforms to the Java Management Extensions (JMX) specification. JConsole uses the extensive Java Virtual Machine (Java VM) toolkit to provide information about the performance and resource consumption of applications running on the Java platform.

  23. Java Flight Recorder and JDK Mission Control are a combination of tools to continuously collect detailed runtime information, allowing you to analyze incidents after the fact. Java Flight Recorder is a profiling and event collection framework built into the Oracle JDK. It can be used to collect detailed, low-level information about the behavior of the Java Virtual Machine (JVM) and Java application. JDK Mission Control is an advanced set of tools that allows you to analyze the vast amount of data collected by Java Flight Recorder efficiently and in detail.

  24. JMap is a utility that, when using jmap with a process file or kernel without any command line options, prints a list of loaded shared objects (the output is similar to the pmap utility in the Oracle Solaris operating system). For specific information, the -heap, -histo, or -permstat options can be used.

  25. Jps is a utility useful in environments with an embedded virtual machine. Allows you to easily recognize Java processes in the process list.

  26. JStack is a command-line utility that attaches to a specified process or kernel file and prints a stack trace of all threads that are attached to the virtual machine. The utility also detects deadlocks.

  27. JStat is a utility that provides information about the performance and resource consumption of running applications.

  28. The jstatd Daemon is an RMI application server that controls the creation and termination of each instrumented Java HotSpot and provides an interface that allows remote monitoring tools to connect to JVMs running on the local host.

  29. Visualgc is a tool that provides a graphical representation of the garbage collection system. Uses built-in Java HotSpot virtual machine tools.

  30. Pinpoint is an APM (Application Performance Management) tool for large scale distributed systems written in Java, PHP or Python. Pinpoint provides a solution that helps you analyze the overall structure of the system and how the components in them are interconnected by tracking transactions in distributed applications.

  31. Scouter is another open source APM (application performance management) tool.

  32. Sematext Experience is a monitoring tool that allows you to monitor application performance and receive alerts whenever it detects anomalies affecting the end user experience.

  33. Sematext Logs is a logging service that allows you to centralize logs from various sources such as applications, microservices, operating systems, various devices, and of course Java-based applications.

  34. Sematext Cloud is a surveillance platform with a wide range of features. Thanks to simple and convenient setup, monitoring a Java application is quick and easy. With the pre-built prebuilt dashboards, you can start monitoring your JVM-based application as soon as the agent installation is complete. Sematext Logs also allows you to parse the logs using automatic log discovery for Java applications or send them through one of the supported log providers.

  35. Site24x7 is a tool that developers can use to easily identify slow internal calls (methods) in Java code and view the whole path in a tree view. The trace will show the sequence of URL calls, including user-defined methods.

  36. Java Solar Winds are tools that help improve and optimize the performance of Java applications.

  37. Stackify is a set of tools for monitoring the performance of Java applications.

  38. Stage Monitor is an open source solution for monitoring the performance of server-side Java applications.

  39. VisualVM is a visual tool with Java 16 and Apple M1 support that combines JDK command line tools and lightweight profiling capabilities. Designed for both development and production use.

  40. XRebel does things traditional profiling tools can't. It allows developers to track the impact of their code from start to finish—even across distributed applications.

  41. YourKit Java Profiler is a Java application profiling tool for both development and production stages.

Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION