Coverage Summary for Class: OTelKt (dev.suresh.plugins)
Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
OTelKt |
0%
(0/1)
|
0%
(0/3)
|
|
0%
(0/10)
|
0%
(0/23)
|
package dev.suresh.plugins
import io.ktor.server.application.*
import io.opentelemetry.api.OpenTelemetry
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk
import io.opentelemetry.semconv.ServiceAttributes
fun Application.configureOTel() {
// install(OTelExtnPlugin) { enabled = true }
//
// install(KtorServerTracing) {
// setOpenTelemetry(GlobalOpenTelemetry.get())
// attributeExtractor {
// onStart { attributes.put("start-time", Clock.System.now().toEpochMilliseconds()) }
// onEnd { attributes.put("end-time", Clock.System.now().toEpochMilliseconds()) }
// }
// }
}
/**
* [Manual
* instrumentation](https://opentelemetry.io/docs/languages/java/instrumentation/#acquiring-a-tracer-in-java-agent)
*/
fun getOpenTelemetry(serviceName: String): OpenTelemetry {
return AutoConfiguredOpenTelemetrySdk.builder()
.addResourceCustomizer { oldResource, _ ->
oldResource
.toBuilder()
.putAll(oldResource.attributes)
.put(ServiceAttributes.SERVICE_NAME, serviceName)
.build()
}
.build()
.openTelemetrySdk
}