Small daemon threads implementation clean up (#6740)
This commit is contained in:
parent
bd6831ca43
commit
0e0bbf6564
|
@ -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());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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())))));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue