diff --git a/docs/instrumentation-list.yaml b/docs/instrumentation-list.yaml index e707b6065c15..e20b84a2e648 100644 --- a/docs/instrumentation-list.yaml +++ b/docs/instrumentation-list.yaml @@ -834,6 +834,8 @@ libraries: description: | This instrumentation does not emit telemetry on its own. Instead, it augments existing HTTP server spans and HTTP server metrics with the HTTP route and Shenyu specific attributes. library_link: https://shenyu.apache.org/ + features: + - HTTP_ROUTE source_path: instrumentation/apache-shenyu-2.4 scope: name: io.opentelemetry.apache-shenyu-2.4 @@ -850,7 +852,14 @@ libraries: - name: armeria-1.3 description: | This instrumentation enables HTTP client spans and metrics for the Armeria HTTP client, and HTTP server spans and metrics for the Armeria HTTP server. + semantic_conventions: + - HTTP_CLIENT_SPANS + - HTTP_CLIENT_METRICS + - HTTP_SERVER_SPANS + - HTTP_SERVER_METRICS library_link: https://armeria.dev/ + features: + - HTTP_ROUTE source_path: instrumentation/armeria/armeria-1.3 scope: name: io.opentelemetry.armeria-1.3 @@ -859,6 +868,47 @@ libraries: - com.linecorp.armeria:armeria:[1.3.0,) library: - com.linecorp.armeria:armeria:1.3.0 + configurations: + - name: otel.instrumentation.http.known-methods + description: | + Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`. + type: list + default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE + - name: otel.instrumentation.http.client.capture-request-headers + description: List of HTTP request headers to capture in HTTP client telemetry. + type: list + default: '' + - name: otel.instrumentation.http.client.capture-response-headers + description: List of HTTP response headers to capture in HTTP client telemetry. + type: list + default: '' + - name: otel.instrumentation.common.peer-service-mapping + description: Used to specify a mapping from host names or IP addresses to peer + services. + type: map + default: '' + - name: otel.instrumentation.http.client.emit-experimental-telemetry + description: | + 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.size` and `http.client.response.size` metrics. + type: boolean + default: false + - name: otel.instrumentation.http.client.experimental.redact-query-parameters + description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans. + type: boolean + default: true + - name: otel.instrumentation.http.server.capture-request-headers + description: List of HTTP request headers to capture in HTTP server telemetry. + type: list + default: '' + - name: otel.instrumentation.http.server.capture-response-headers + description: List of HTTP response headers to capture in HTTP server telemetry. + type: list + default: '' + - name: otel.instrumentation.http.server.emit-experimental-telemetry + description: | + 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.size` and `http.server.response.size` metrics. + type: boolean + default: false telemetry: - when: default metrics: @@ -988,6 +1038,9 @@ libraries: - name: async-http-client-1.9 description: This instrumentation enables HTTP client spans and HTTP client metrics for version 1 of the AsyncHttpClient (AHC) HTTP client. + semantic_conventions: + - HTTP_CLIENT_SPANS + - HTTP_CLIENT_METRICS library_link: https://github.com/AsyncHttpClient/async-http-client source_path: instrumentation/async-http-client/async-http-client-1.9 scope: @@ -995,6 +1048,34 @@ libraries: target_versions: javaagent: - com.ning:async-http-client:[1.9.0,) + configurations: + - name: otel.instrumentation.http.known-methods + description: | + Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`. + type: list + default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE + - name: otel.instrumentation.http.client.capture-request-headers + description: List of HTTP request headers to capture in HTTP client telemetry. + type: list + default: '' + - name: otel.instrumentation.http.client.capture-response-headers + description: List of HTTP response headers to capture in HTTP client telemetry. + type: list + default: '' + - name: otel.instrumentation.common.peer-service-mapping + description: Used to specify a mapping from host names or IP addresses to peer + services. + type: map + default: '' + - name: otel.instrumentation.http.client.emit-experimental-telemetry + description: | + 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.size` and `http.client.response.size` metrics. + type: boolean + default: false + - name: otel.instrumentation.http.client.experimental.redact-query-parameters + description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans. + type: boolean + default: true telemetry: - when: default metrics: @@ -1031,6 +1112,9 @@ libraries: - name: async-http-client-2.0 description: This instrumentation enables HTTP client spans and HTTP client metrics for version 2 of the AsyncHttpClient (AHC) HTTP client. + semantic_conventions: + - HTTP_CLIENT_SPANS + - HTTP_CLIENT_METRICS library_link: https://github.com/AsyncHttpClient/async-http-client source_path: instrumentation/async-http-client/async-http-client-2.0 scope: @@ -1038,6 +1122,34 @@ libraries: target_versions: javaagent: - org.asynchttpclient:async-http-client:[2.0.0,) + configurations: + - name: otel.instrumentation.http.known-methods + description: | + Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`. + type: list + default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE + - name: otel.instrumentation.http.client.capture-request-headers + description: List of HTTP request headers to capture in HTTP client telemetry. + type: list + default: '' + - name: otel.instrumentation.http.client.capture-response-headers + description: List of HTTP response headers to capture in HTTP client telemetry. + type: list + default: '' + - name: otel.instrumentation.common.peer-service-mapping + description: Used to specify a mapping from host names or IP addresses to peer + services. + type: map + default: '' + - name: otel.instrumentation.http.client.emit-experimental-telemetry + description: | + 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.size` and `http.client.response.size` metrics. + type: boolean + default: false + - name: otel.instrumentation.http.client.experimental.redact-query-parameters + description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans. + type: boolean + default: true telemetry: - when: default metrics: @@ -1084,6 +1196,8 @@ libraries: description: | This instrumentation does not emit telemetry on its own. Instead, it hooks into the Avaje Jex Context to extract the HTTP route and attach it to existing HTTP server spans and HTTP server metrics. library_link: https://avaje.io/jex/ + features: + - HTTP_ROUTE source_path: instrumentation/avaje-jex-3.0 minimum_java_version: 21 scope: diff --git a/instrumentation/apache-shenyu-2.4/metadata.yaml b/instrumentation/apache-shenyu-2.4/metadata.yaml index ab95d42e9305..4343a6f5fd72 100644 --- a/instrumentation/apache-shenyu-2.4/metadata.yaml +++ b/instrumentation/apache-shenyu-2.4/metadata.yaml @@ -2,6 +2,8 @@ description: > This instrumentation does not emit telemetry on its own. Instead, it augments existing HTTP server spans and HTTP server metrics with the HTTP route and Shenyu specific attributes. library_link: https://shenyu.apache.org/ +features: + - HTTP_ROUTE configurations: - name: otel.instrumentation.apache-shenyu.experimental-span-attributes description: > diff --git a/instrumentation/armeria/armeria-1.3/metadata.yaml b/instrumentation/armeria/armeria-1.3/metadata.yaml index 2193e2b895ad..e37a50a93d02 100644 --- a/instrumentation/armeria/armeria-1.3/metadata.yaml +++ b/instrumentation/armeria/armeria-1.3/metadata.yaml @@ -2,3 +2,55 @@ description: > This instrumentation enables HTTP client spans and metrics for the Armeria HTTP client, and HTTP server spans and metrics for the Armeria HTTP server. library_link: https://armeria.dev/ +semantic_conventions: + - HTTP_CLIENT_SPANS + - HTTP_CLIENT_METRICS + - HTTP_SERVER_SPANS + - HTTP_SERVER_METRICS +features: + - HTTP_ROUTE +configurations: + - name: otel.instrumentation.http.known-methods + description: > + Configures the instrumentation to recognize an alternative set of HTTP request methods. All + other methods will be treated as `_OTHER`. + type: list + default: "CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE" + - name: otel.instrumentation.http.client.capture-request-headers + description: List of HTTP request headers to capture in HTTP client telemetry. + type: list + default: "" + - name: otel.instrumentation.http.client.capture-response-headers + description: List of HTTP response headers to capture in HTTP client telemetry. + type: list + default: "" + - name: otel.instrumentation.common.peer-service-mapping + description: Used to specify a mapping from host names or IP addresses to peer services. + type: map + default: "" + - name: otel.instrumentation.http.client.emit-experimental-telemetry + description: > + 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.size` and + `http.client.response.size` metrics. + type: boolean + default: false + - name: otel.instrumentation.http.client.experimental.redact-query-parameters + description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans. + type: boolean + default: true + - name: otel.instrumentation.http.server.capture-request-headers + description: List of HTTP request headers to capture in HTTP server telemetry. + type: list + default: "" + - name: otel.instrumentation.http.server.capture-response-headers + description: List of HTTP response headers to capture in HTTP server telemetry. + type: list + default: "" + - name: otel.instrumentation.http.server.emit-experimental-telemetry + description: > + 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.size` and + `http.server.response.size` metrics. + type: boolean + default: false diff --git a/instrumentation/async-http-client/async-http-client-1.9/metadata.yaml b/instrumentation/async-http-client/async-http-client-1.9/metadata.yaml index 1ff1e4f33ad2..6fbd5e9706db 100644 --- a/instrumentation/async-http-client/async-http-client-1.9/metadata.yaml +++ b/instrumentation/async-http-client/async-http-client-1.9/metadata.yaml @@ -1,2 +1,35 @@ description: This instrumentation enables HTTP client spans and HTTP client metrics for version 1 of the AsyncHttpClient (AHC) HTTP client. library_link: https://github.com/AsyncHttpClient/async-http-client +semantic_conventions: + - HTTP_CLIENT_SPANS + - HTTP_CLIENT_METRICS +configurations: + - name: otel.instrumentation.http.known-methods + description: > + Configures the instrumentation to recognize an alternative set of HTTP request methods. All + other methods will be treated as `_OTHER`. + type: list + default: "CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE" + - name: otel.instrumentation.http.client.capture-request-headers + description: List of HTTP request headers to capture in HTTP client telemetry. + type: list + default: "" + - name: otel.instrumentation.http.client.capture-response-headers + description: List of HTTP response headers to capture in HTTP client telemetry. + type: list + default: "" + - name: otel.instrumentation.common.peer-service-mapping + description: Used to specify a mapping from host names or IP addresses to peer services. + type: map + default: "" + - name: otel.instrumentation.http.client.emit-experimental-telemetry + description: > + 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.size` and + `http.client.response.size` metrics. + type: boolean + default: false + - name: otel.instrumentation.http.client.experimental.redact-query-parameters + description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans. + type: boolean + default: true diff --git a/instrumentation/async-http-client/async-http-client-2.0/metadata.yaml b/instrumentation/async-http-client/async-http-client-2.0/metadata.yaml index c965d8494436..f6b0d23af87f 100644 --- a/instrumentation/async-http-client/async-http-client-2.0/metadata.yaml +++ b/instrumentation/async-http-client/async-http-client-2.0/metadata.yaml @@ -1,2 +1,35 @@ description: This instrumentation enables HTTP client spans and HTTP client metrics for version 2 of the AsyncHttpClient (AHC) HTTP client. library_link: https://github.com/AsyncHttpClient/async-http-client +semantic_conventions: + - HTTP_CLIENT_SPANS + - HTTP_CLIENT_METRICS +configurations: + - name: otel.instrumentation.http.known-methods + description: > + Configures the instrumentation to recognize an alternative set of HTTP request methods. All + other methods will be treated as `_OTHER`. + type: list + default: "CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE" + - name: otel.instrumentation.http.client.capture-request-headers + description: List of HTTP request headers to capture in HTTP client telemetry. + type: list + default: "" + - name: otel.instrumentation.http.client.capture-response-headers + description: List of HTTP response headers to capture in HTTP client telemetry. + type: list + default: "" + - name: otel.instrumentation.common.peer-service-mapping + description: Used to specify a mapping from host names or IP addresses to peer services. + type: map + default: "" + - name: otel.instrumentation.http.client.emit-experimental-telemetry + description: > + 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.size` and + `http.client.response.size` metrics. + type: boolean + default: false + - name: otel.instrumentation.http.client.experimental.redact-query-parameters + description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans. + type: boolean + default: true diff --git a/instrumentation/avaje-jex-3.0/metadata.yaml b/instrumentation/avaje-jex-3.0/metadata.yaml index 298a92934ea2..ecd61b7fedd6 100644 --- a/instrumentation/avaje-jex-3.0/metadata.yaml +++ b/instrumentation/avaje-jex-3.0/metadata.yaml @@ -3,3 +3,5 @@ description: > Context to extract the HTTP route and attach it to existing HTTP server spans and HTTP server metrics. library_link: https://avaje.io/jex/ +features: + - HTTP_ROUTE