Ktor
OpenTelemetry Java agent instrumentation
This instrumentation provides HTTP server spans and HTTP server metrics for the Ktor server, and HTTP client spans and HTTP client metrics for the Ktor HTTP client.
- Name:
ktor-2.0 - Scope:
io.opentelemetry.ktor-2.0 - Target versions:
io.ktor:ktor-client-core:[2.0.0,3.0.0),io.ktor:ktor-server-core:[2.0.0,3.0.0) - Library: https://ktor.io/
Telemetry
- Metrics:
http.client.request.duration,http.server.request.duration - Span attributes:
error.type,http.request.method,http.request.method_original,http.request.resend_count,http.response.status_code,network.protocol.version,server.address,server.port,url.full,client.address,url.path,url.query,url.scheme,user_agent.original,http.route
Configuration
| Option | Type | Default | Description |
|---|---|---|---|
otel.instrumentation.common.peer-service-mapping | map | Used to specify a mapping from host names or IP addresses to peer services. | |
otel.instrumentation.http.client.capture-request-headers | list | List of HTTP request headers to capture in HTTP client telemetry. | |
otel.instrumentation.http.client.capture-response-headers | list | List of HTTP response headers to capture in HTTP client telemetry. | |
otel.instrumentation.http.client.emit-experimental-telemetry | boolean | false | Enable the capture of experimental HTTP client telemetry. Adds the http.request.body.size and http.response.body.size attributes to spans, and records http.client.request.body.size and http.client.response.body.size metrics. |
otel.instrumentation.http.known-methods | list | CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE | Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as _OTHER. |
otel.instrumentation.http.server.capture-request-headers | list | List of HTTP request headers to capture in HTTP server telemetry. | |
otel.instrumentation.http.server.capture-response-headers | list | List of HTTP response headers to capture in HTTP server telemetry. | |
otel.instrumentation.http.server.emit-experimental-telemetry | boolean | false | Enable the capture of experimental HTTP server telemetry. Adds the http.request.body.size and http.response.body.size attributes to spans, and records http.server.request.body.size and http.server.response.body.size metrics. |
java.common.http.client.url_template_rules | list | Rules for deriving low-cardinality URL templates (routes) from HTTP client request URLs. Only applied when experimental HTTP client telemetry is enabled. | |
otel.instrumentation.sanitization.url.experimental.sensitive-query-parameters | list | AWSAccessKeyId,Signature,sig,X-Goog-Signature | List of URL query parameter names whose values are redacted in URL attributes. See https://opentelemetry.io/docs/specs/semconv/http/http-spans. |