Expose opentelemetry jvm metrics alongside dropwizard metrics [PLEN-67] (#16133)

This commit is contained in:
Nicu Reut 2023-01-24 19:58:20 +01:00 committed by GitHub
parent efcf62ac0a
commit 17596abd1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 0 deletions

View File

@ -45,6 +45,11 @@ final class MetricsReporting[M](
for {
openTelemetry <- OpenTelemetryOwner(registerGlobalOpenTelemetry, extraMetricsReporter)
.acquire()
_ = if (
registerGlobalOpenTelemetry
) // if no global lib is registered there is no point in registering them
JvmMetricSet
.registerObservers() // has to be registered after opentelemetry is created as it uses the global lib
slf4JReporter <- acquire(newSlf4jReporter(registry))
_ <- acquire(newJmxReporter(registry))
.map(_.start())

View File

@ -33,6 +33,7 @@ case class MetricsOwner(meter: Meter, config: MetricsConfig, name: String)
}
metricRegistry.registerAll(new JvmMetricSet)
JvmMetricSet.registerObservers()
Resource(
Future(

View File

@ -32,6 +32,7 @@ da_scala_library(
"@maven//:io_dropwizard_metrics_metrics_graphite",
"@maven//:io_dropwizard_metrics_metrics_jvm",
"@maven//:io_grpc_grpc_api",
"@maven//:io_opentelemetry_instrumentation_opentelemetry_runtime_metrics",
"@maven//:io_opentelemetry_opentelemetry_api",
"@maven//:io_opentelemetry_opentelemetry_context",
"@maven//:io_prometheus_simpleclient",

View File

@ -5,6 +5,7 @@ package com.daml.metrics
import java.util
import io.opentelemetry.instrumentation.runtimemetrics.{GarbageCollector, MemoryPools}
import com.codahale.metrics.jvm.{
ClassLoadingGaugeSet,
GarbageCollectorMetricSet,
@ -38,4 +39,13 @@ class JvmMetricSet extends MetricSet {
object JvmMetricSet {
private val Prefix = MetricName("jvm")
def registerObservers(): Unit = {
// BufferPools.registerObservers(openTelemetry)
// Classes.registerObservers(openTelemetry)
// Cpu.registerObservers(openTelemetry)
// Threads.registerObservers(openTelemetry)
MemoryPools.registerObservers()
GarbageCollector.registerObservers()
}
}