Small daemon threads implementation clean up (#6740)

This commit is contained in:
Trask Stalnaker 2022-09-28 02:05:39 -07:00 committed by GitHub
parent bd6831ca43
commit 0e0bbf6564
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 13 deletions

View File

@ -6,6 +6,7 @@
package io.opentelemetry.instrumentation.runtimemetrics; package io.opentelemetry.instrumentation.runtimemetrics;
import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.common.AttributeKey;
import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.metrics.Meter; import io.opentelemetry.api.metrics.Meter;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
@ -32,7 +33,7 @@ public final class Threads {
// Visible for testing // Visible for testing
static final Threads INSTANCE = new Threads(); static final Threads INSTANCE = new Threads();
static final String DAEMON_KEY = "daemon"; static final AttributeKey<Boolean> DAEMON = AttributeKey.booleanKey("daemon");
/** Register observers for java runtime class metrics. */ /** Register observers for java runtime class metrics. */
public static void registerObservers(OpenTelemetry openTelemetry) { public static void registerObservers(OpenTelemetry openTelemetry) {
@ -51,10 +52,10 @@ public final class Threads {
observableMeasurement -> { observableMeasurement -> {
observableMeasurement.record( observableMeasurement.record(
threadBean.getDaemonThreadCount(), threadBean.getDaemonThreadCount(),
Attributes.builder().put(DAEMON_KEY, true).build()); Attributes.builder().put(DAEMON, true).build());
observableMeasurement.record( observableMeasurement.record(
threadBean.getThreadCount() - threadBean.getDaemonThreadCount(), threadBean.getThreadCount() - threadBean.getDaemonThreadCount(),
Attributes.builder().put(DAEMON_KEY, false).build()); Attributes.builder().put(DAEMON, false).build());
}); });
} }

View File

@ -5,11 +5,11 @@
package io.opentelemetry.instrumentation.runtimemetrics; package io.opentelemetry.instrumentation.runtimemetrics;
import static io.opentelemetry.instrumentation.runtimemetrics.Threads.DAEMON_KEY; import static io.opentelemetry.instrumentation.runtimemetrics.Threads.DAEMON;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat; import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.equalTo;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.InstrumentationExtension;
import io.opentelemetry.instrumentation.testing.junit.LibraryInstrumentationExtension; import io.opentelemetry.instrumentation.testing.junit.LibraryInstrumentationExtension;
import java.lang.management.ThreadMXBean; import java.lang.management.ThreadMXBean;
@ -50,16 +50,11 @@ class ThreadsTest {
point -> point ->
point point
.hasValue(2) .hasValue(2)
.hasAttributes( .hasAttributesSatisfying(equalTo(DAEMON, true)),
Attributes.builder()
.put(DAEMON_KEY, true)
.build()),
point -> point ->
point point
.hasValue(5) .hasValue(5)
.hasAttributes( .hasAttributesSatisfying(
Attributes.builder() equalTo(DAEMON, false))))));
.put(DAEMON_KEY, false)
.build())))));
} }
} }