Skip to content

Commit

Permalink
Update JVM metrics
Browse files Browse the repository at this point in the history
- generate a metric for total Threads started since Jvm start time
  • Loading branch information
lenin-jaganathan committed Feb 17, 2023
1 parent 54f89f4 commit 128aa0c
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@ public void bindTo(MeterRegistry registry) {
.description("The current number of live threads including both daemon and non-daemon threads")
.baseUnit(BaseUnits.THREADS).register(registry);

Gauge.builder("jvm.threads.started", threadBean, ThreadMXBean::getTotalStartedThreadCount).tags(tags)
.description(
"The total number of threads created and also started since the Java virtual machine started")
.baseUnit(BaseUnits.THREADS).register(registry);

try {
threadBean.getAllThreadIds();
for (Thread.State state : Thread.State.values()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class JvmThreadMetricsTest {
void threadMetrics() {
MeterRegistry registry = new SimpleMeterRegistry();
new JvmThreadMetrics().bindTo(registry);
double initialThreadCount = registry.get("jvm.threads.started").gauge().value();

assertThat(registry.get("jvm.threads.live").gauge().value()).isGreaterThan(0);
assertThat(registry.get("jvm.threads.daemon").gauge().value()).isGreaterThan(0);
Expand All @@ -51,6 +52,7 @@ void threadMetrics() {

createTimedWaitingThread();
assertThat(registry.get("jvm.threads.states").tag("state", "timed-waiting").gauge().value()).isGreaterThan(0);
assertThat(registry.get("jvm.threads.started").gauge().value()).isGreaterThan(initialThreadCount);
}

@Test
Expand Down

0 comments on commit 128aa0c

Please sign in to comment.