diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0e8f00b1..8a0dea7d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -21,6 +21,10 @@ Version template:
-->
# Alfred Telemetry Changelog
+## [0.9.3] - 2023-01-13
+### Added
+* Added TomcatMetrics [#142]
+
## [0.9.2] - 2022-12-23
### Fixed
diff --git a/alfred-telemetry-platform/docs/README.md b/alfred-telemetry-platform/docs/README.md
index 311f67b9..919659ff 100644
--- a/alfred-telemetry-platform/docs/README.md
+++ b/alfred-telemetry-platform/docs/README.md
@@ -120,6 +120,29 @@ alfred.telemetry.export.prometheus.max-requests=1
```
# Supported metrics
+## Tomcat metrics
+The Tomcat metrics bindings will provide several tomcat metrics.
+
+**Control Property**: `alfred.telemetry.binder.tomcat.enabled`
+Metrics provided
+
+| Name |
+|:-------------------------------------|
+| tomcat.cache.access |
+| tomcat.cache.hit |
+| tomcat.connections.config.max |
+| tomcat.connections.current |
+| tomcat.connections.keepalive.current |
+| tomcat.global.error |
+| tomcat.global.received |
+| tomcat.global.request |
+| tomcat.global.request.max |
+| tomcat.global.sent |
+| tomcat.servlet.error |
+| tomcat.servlet.request |
+| tomcat.servlet.request.max |
+| tomcat.threads.busy |
+| tomcat.threads.config.max |
## Jvm metrics
The JVM metrics bindings will provide several jvm metrics.
diff --git a/alfred-telemetry-platform/src/main/java/eu/xenit/alfred/telemetry/binder/AlfrescoTomcatMetrics.java b/alfred-telemetry-platform/src/main/java/eu/xenit/alfred/telemetry/binder/AlfrescoTomcatMetrics.java
new file mode 100644
index 00000000..a19f1834
--- /dev/null
+++ b/alfred-telemetry-platform/src/main/java/eu/xenit/alfred/telemetry/binder/AlfrescoTomcatMetrics.java
@@ -0,0 +1,26 @@
+package eu.xenit.alfred.telemetry.binder;
+
+import io.micrometer.core.instrument.MeterRegistry;
+import io.micrometer.core.instrument.binder.tomcat.TomcatMetrics;
+
+import javax.annotation.Nonnull;
+import javax.management.MBeanServer;
+import java.util.ArrayList;
+
+public class AlfrescoTomcatMetrics implements NamedMeterBinder {
+ private MBeanServer mBeanServer;
+
+ public AlfrescoTomcatMetrics(MBeanServer mBeanServer) {
+ this.mBeanServer = mBeanServer;
+ }
+
+ @Override
+ public void bindTo(@Nonnull MeterRegistry registry) {
+ new TomcatMetrics(null, new ArrayList<>(), mBeanServer).bindTo(registry);
+ }
+
+ @Override
+ public String getName() {
+ return "tomcat";
+ }
+}
diff --git a/alfred-telemetry-platform/src/main/resources/alfresco/module/alfred-telemetry-platform/context/binder-context.xml b/alfred-telemetry-platform/src/main/resources/alfresco/module/alfred-telemetry-platform/context/binder-context.xml
index 2cf102d8..fa7ea2d2 100644
--- a/alfred-telemetry-platform/src/main/resources/alfresco/module/alfred-telemetry-platform/context/binder-context.xml
+++ b/alfred-telemetry-platform/src/main/resources/alfresco/module/alfred-telemetry-platform/context/binder-context.xml
@@ -10,7 +10,9 @@
-
+
+
+
diff --git a/build.gradle b/build.gradle
index 09e2b592..2ad72de3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -20,7 +20,7 @@ def copyPropertyValueIfExists(sourcePropertyName, targetPropertyName) {
allprojects {
group = 'eu.xenit.alfred.telemetry'
- version = '0.9.2'
+ version = '0.9.3'
apply plugin: 'java'
apply plugin: 'jacoco'