Stagemonitor: Performance monitoring for Java web applications

Share
  • August 26, 2019

stagemonitor is an open source solution for performance monitoring (also called APM – application performance monitoring) of Java applications, which provides a developer with a lot of tools. stagemonitor can be used for development, as well as to monitor the performance of Java web applications. The toolset can also handle clusters or microservice architectures thanks to the Open Tracing APIs for distributed systems. As such, it’s not only possible to access live data, but historical data pools can also be accessed retroactively.

stagemonitor features

It is often the case when developing an application that certain problems don’t surface until it is used in production and thus already delivered to the customer. stagemonitor addresses this by providing functions that indicate performance problems during the development cycle. In order to access the data it needs, stagemonitor is embedded into the application via an agent and sends metrics and other data to a central (time series) database. In conjunction with Elasticsearch, InfluxDB, Prometheus, or Graphite, the data can then be analyzed and graphically processed, then displayed on Kibana or Grafana dashboards.

performance monitoring

The architecture of stagemonitor / Source: stagemonitor wiki

stagemonitor is specially optimized for use within and around Java web applications. However, this does not mean that the toolset is not suitable for other applications. A guide to integrate it into applications not based on servlet can be found on GitHub.

It’s not really “new” in the traditional sense, even though stagemonitor 1.0 has not yet been released. Lately, however, the solution has been more actively worked on again, after the project went through a quiet period. The current release, stagemonitor 0.89, brings some important improvements for users. If you want to read more about stagemonitor in general, then check out the project’s wiki.

What’s in stagemonitor 0.89?

So what’s new? If you look at the release notes on GitHub, you can see that a lot of work has been put into updating the components, meaning a lot of dependencies have been updated. But there’s a lot going on under the hood as well. For example, stagemonitor now no longer needs sun.misc.Unsafe. As a result, newer JDKs can finally be used together with stagemonitor.

Byte Buddy version 1.9.15 is supported as of the update, and users can also utilize Open Tracing API version 0.33 and jaeger version 0.35.5. Weasel has also been updated, the eum server now uses Spring Boot 2.1.7, and support for Elasticsearch 7 has also been implemented. Of course, these improvements come with a price: Java 8 is the minimum requirement for the use of tooling.

Outlook

This renewed activity on the project is definitely interesting due to the fact that application performance monitoring is highly topical in these times of microservices, the cloud, and serverless. We’ll be keeping an eye on this one. More information about stagemonitor can be found on the project website and, of course, on GitHub.

The post Stagemonitor: Performance monitoring for Java web applications appeared first on JAXenter.

Source : JAXenter