github stagemonitor/stagemonitor 0.21.0
Release 0.21.0

latest releases: 0.89.1, 0.88.10, 0.89.0...
8 years ago

One of the top features is enhanced support for web analytics with stagemonitor including a brand new Kibana dashboard dedicated just for web analytics. Also there are many new configuration options which let you tweak privacy related settings.

Features

  • Web Analytics features
    • A brand new dashboard targeted for web analytics, which includes page view, unique visitors, most active users, referring domains and sites, popular use cases and pages as well as charts for devices, browsers, operating systems and user agent types.
    • Track referring sites (foreign domains that link to your site)
    • Track unique visitors.
if (userName != null) {
    uniqueVisitorId = sha1Hash(userName);
} else {
    uniqueVisitorId = sha1Hash(clientIp + sessionId + userAgent);
}
  • This release brings several configuration options for privacy:
  • Introduced @sla annotation. This annotation lets you define service level agreements within the code. It automatically creates checks for the annotated method. The method also has to be annotated with @MonitorRequests.

    See https://github.com/felixbarny/stagemonitor-standalone-test/blob/master/src/main/java/org/stagemonitor/standalone/Main.java for a example application.
  • Users can now programmatically set the request name via RequestMonitor.getRequest().setName(String)
  • You can now set multiple Elasticsearch URLs via stagemonitor.elasticsearch.url which will be used in a round-robin fashion.
  • Exclude the Call Tree from Elasticsearch reports on x% of the fastest requests. This feature was implemented by the newly added ability to register RequestTraceReporterInterceptors which allow to customize or omit reporting a request trace to Elasticsearch. See
  • Add ability to manually monitor Caches (see #127). Thx @yacota
  • Better support for Elasticsearch 2.0.
    • Make ES queries show up in the call tree again
    • ES 2.0 has the limitation that property names can't contain dots (.). So all dots (for example in request parameters) replaced with _(dot)_.
  • Add support to unnest certain exceptions. This makes the Exception table in the Request Analysis dashboard more useful. Previously, when using Spring, the Exception class was always org.springframework.web.util.NestedServletException. Now you can better analyze the top Exceptions of your application.
    unnest-exception
  • Stagemonitor now makes sure that metrics are always submitted at the same time on each server no matter when they where started (aka. quantization). This should fix a pitfall when reporting metrics to Elasticsearch or InfluxDB. See also my post that was recently published at raintank's blog: https://blog.raintank.io/how-to-effectively-use-the-elasticsearch-data-source-and-solutions-to-common-pitfalls/#incomplete
  • Allow custom host name value. Thx @marcust

Bug Fixes

  • Don't show hourglass in in-browser-widget if call tree is not available
  • Fixed a memory leak (see #126). Thx @ryanrupp for reporting
  • Fix a occasionally occurring java.io.CharConversionException on ajax requests 0253a6f
  • Updated p6spy to 2.2.0 to avoid a ConcurrentModificationException

Breaking Changes

  • stagemonitor.reporting.jmx is now false by default.

Internal Breaking Changes

  • Converted all service provider interfaces to abstract classes. This makes it possible to evolve the SPIs without further breaking changes. See c8295da and 04165d5.

Don't miss a new stagemonitor release

NewReleases is sending notifications on new releases.