Skip to content

Commit

Permalink
Add tomcat connection metrics (#2248)
Browse files Browse the repository at this point in the history
This allows monitoring the current connections and keep alive connections for the Tomcat server.
  • Loading branch information
puppylpg authored Oct 29, 2020
1 parent b444dd1 commit 7b8eee5
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,24 @@ private void registerThreadPoolMetrics(MeterRegistry registry) {
.tags(allTags)
.baseUnit(BaseUnits.THREADS)
.register(registry);

Gauge.builder("tomcat.connections.current", mBeanServer,
s -> safeDouble(() -> s.getAttribute(name, "connectionCount")))
.tags(allTags)
.baseUnit(BaseUnits.CONNECTIONS)
.register(registry);

Gauge.builder("tomcat.connections.keepalive.current", mBeanServer,
s -> safeDouble(() -> s.getAttribute(name, "keepAliveCount")))
.tags(allTags)
.baseUnit(BaseUnits.CONNECTIONS)
.register(registry);

Gauge.builder("tomcat.connections.config.max", mBeanServer,
s -> safeDouble(() -> s.getAttribute(name, "maxConnections")))
.tags(allTags)
.baseUnit(BaseUnits.CONNECTIONS)
.register(registry);
});
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,9 @@ private void checkMbeansInitialState() {
assertThat(registry.get("tomcat.threads.config.max").gauge().value()).isGreaterThan(0.0);
assertThat(registry.get("tomcat.threads.busy").gauge().value()).isGreaterThanOrEqualTo(0.0);
assertThat(registry.get("tomcat.threads.current").gauge().value()).isGreaterThan(0.0);
assertThat(registry.get("tomcat.connections.current").gauge().value()).isGreaterThanOrEqualTo(0.0);
assertThat(registry.get("tomcat.connections.keepalive.current").gauge().value()).isGreaterThanOrEqualTo(0.0);
assertThat(registry.get("tomcat.connections.config.max").gauge().value()).isGreaterThan(0.0);
assertThat(registry.get("tomcat.cache.access").functionCounter().count()).isEqualTo(0.0);
assertThat(registry.get("tomcat.cache.hit").functionCounter().count()).isEqualTo(0.0);
assertThat(registry.get("tomcat.servlet.error").functionCounter().count()).isEqualTo(0.0);
Expand All @@ -360,6 +363,9 @@ private void checkMbeansAfterRequests(long expectedSentBytes) {
assertThat(registry.get("tomcat.threads.config.max").gauge().value()).isGreaterThan(0.0);
assertThat(registry.get("tomcat.threads.busy").gauge().value()).isGreaterThanOrEqualTo(0.0);
assertThat(registry.get("tomcat.threads.current").gauge().value()).isGreaterThan(0.0);
assertThat(registry.get("tomcat.connections.current").gauge().value()).isGreaterThanOrEqualTo(0.0);
assertThat(registry.get("tomcat.connections.keepalive.current").gauge().value()).isGreaterThanOrEqualTo(0.0);
assertThat(registry.get("tomcat.connections.config.max").gauge().value()).isGreaterThan(0.0);
assertThat(registry.get("tomcat.cache.access").functionCounter().count()).isEqualTo(0.0);
assertThat(registry.get("tomcat.cache.hit").functionCounter().count()).isEqualTo(0.0);
assertThat(registry.get("tomcat.servlet.error").functionCounter().count()).isEqualTo(1.0);
Expand Down

0 comments on commit 7b8eee5

Please sign in to comment.