File tree 2 files changed +12
-1
lines changed
instrumentation/ktor/ktor-2-common/library/src/main/kotlin/io/opentelemetry/instrumentation/ktor
2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -13,7 +13,9 @@ import io.opentelemetry.api.common.AttributesBuilder
13
13
import io.opentelemetry.context.Context
14
14
import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpClientInstrumenterBuilder
15
15
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor
16
+ import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor
16
17
import io.opentelemetry.instrumentation.ktor.internal.KtorBuilderUtil
18
+ import java.util.function.Function
17
19
18
20
abstract class AbstractKtorClientTracingBuilder (
19
21
private val instrumentationName : String
@@ -169,4 +171,8 @@ abstract class AbstractKtorClientTracingBuilder(
169
171
fun emitExperimentalHttpClientMetrics () {
170
172
clientBuilder.setEmitExperimentalHttpClientMetrics(true )
171
173
}
174
+
175
+ fun spanNameExtractor (spanNameExtractorTransformer : Function <SpanNameExtractor <in HttpRequestData >, out SpanNameExtractor <in HttpRequestData >>) {
176
+ clientBuilder.setSpanNameExtractor(spanNameExtractorTransformer)
177
+ }
172
178
}
Original file line number Diff line number Diff line change 6
6
package io.opentelemetry.instrumentation.ktor.server
7
7
8
8
import io.ktor.http.*
9
- import io.ktor.server.application.*
10
9
import io.ktor.server.request.*
11
10
import io.ktor.server.response.*
12
11
import io.opentelemetry.api.OpenTelemetry
@@ -16,9 +15,11 @@ import io.opentelemetry.context.Context
16
15
import io.opentelemetry.instrumentation.api.incubator.builder.internal.DefaultHttpServerInstrumenterBuilder
17
16
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor
18
17
import io.opentelemetry.instrumentation.api.instrumenter.SpanKindExtractor
18
+ import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor
19
19
import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusBuilder
20
20
import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor
21
21
import io.opentelemetry.instrumentation.ktor.internal.KtorBuilderUtil
22
+ import java.util.function.Function
22
23
23
24
abstract class AbstractKtorServerTracingBuilder (private val instrumentationName : String ) {
24
25
companion object {
@@ -86,6 +87,10 @@ abstract class AbstractKtorServerTracingBuilder(private val instrumentationName:
86
87
}
87
88
}
88
89
90
+ fun spanNameExtractor (spanNameExtractorTransformer : Function <SpanNameExtractor <in ApplicationRequest >, out SpanNameExtractor <in ApplicationRequest >>) {
91
+ serverBuilder.setSpanNameExtractor(spanNameExtractorTransformer)
92
+ }
93
+
89
94
@Deprecated(" Please use method `attributeExtractor`" )
90
95
fun addAttributeExtractor (extractor : AttributesExtractor <in ApplicationRequest , in ApplicationResponse >) {
91
96
attributeExtractor {
You can’t perform that action at this time.
0 commit comments