Skip to content

Commit 7f9cc82

Browse files
authored
Merge branch 'main' into kafka-connect
2 parents 8dc904b + 38fefd8 commit 7f9cc82

File tree

23 files changed

+325
-92
lines changed

23 files changed

+325
-92
lines changed

.github/workflows/issue-management-stale-action.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,14 @@ jobs:
1717
pull-requests: write # for actions/stale to close stale PRs
1818
runs-on: ubuntu-latest
1919
steps:
20+
# Action #1: Handle issues/PRs awaiting author feedback
21+
# - After 7 days inactive: Adds "stale" label + warning comment
22+
# - After 7 more days inactive: Closes
2023
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
2124
with:
25+
only-labels: "needs author feedback"
2226
days-before-stale: 7
2327
days-before-close: 7
24-
only-labels: "needs author feedback"
2528
stale-issue-label: stale
2629
stale-issue-message: >
2730
This issue has been labeled as stale due to lack of activity and needing author feedback.
@@ -31,21 +34,27 @@ jobs:
3134
This PR has been labeled as stale due to lack of activity and needing author feedback.
3235
It will be automatically closed if there is no further activity over the next 7 days.
3336
37+
# Action #2: Close old enhancement requests
38+
# - Targets: Issues with "enhancement" label (but NOT "needs author feedback")
39+
# - After 365 days inactive: Adds "stale" label + closes immediately (no warning period)
40+
# - Skips: Issues with "needs author feedback" to avoid conflicts with Action #1
3441
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
3542
with:
43+
only-labels: "enhancement"
44+
# Skip issues that need author feedback (handled by the first action with 7+7 day policy)
45+
exempt-issue-labels: "needs author feedback"
46+
days-before-pr-stale: -1
47+
days-before-pr-close: -1
3648
days-before-stale: 365
3749
days-before-close: 0
3850
close-issue-label: stale
3951
close-issue-message: >
4052
Since there has been no activity on this enhancement for the past year we are closing it to help maintain our backlog.
4153
Anyone who would like to work on it is still welcome to do so, and we can re-open it at that time.
42-
days-before-pr-stale: -1
43-
days-before-pr-close: -1
44-
only-labels: "enhancement"
45-
# "stale" exemption: so that it won't close issues labeled as stale by "needs author feedback"
46-
# "needs author feedback" exemption: so that it won't remove the stale label added by the first action
47-
exempt-issue-labels: "stale,needs author feedback"
4854
55+
# Action #3: Handle stale PRs
56+
# - After 180 days inactive: Adds "stale" label + warning comment
57+
# - After 14 more days inactive: Closes
4958
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
5059
with:
5160
days-before-issue-stale: -1

docs/instrumentation-list.yaml

Lines changed: 77 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,25 @@ libraries:
2121
target_versions:
2222
javaagent:
2323
- io.activej:activej-http:[6.0,)
24+
configurations:
25+
- name: otel.instrumentation.http.known-methods
26+
description: |
27+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`.
28+
type: list
29+
default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE
30+
- name: otel.instrumentation.http.server.capture-request-headers
31+
description: List of HTTP request headers to capture in HTTP server telemetry.
32+
type: list
33+
default: ''
34+
- name: otel.instrumentation.http.server.capture-response-headers
35+
description: List of HTTP response headers to capture in HTTP server telemetry.
36+
type: list
37+
default: ''
38+
- name: otel.instrumentation.http.server.emit-experimental-telemetry
39+
description: |
40+
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.
41+
type: boolean
42+
default: false
2443
telemetry:
2544
- when: default
2645
metrics:
@@ -107,6 +126,7 @@ libraries:
107126
library_link: https://doc.akka.io/docs/akka-http/current/index.html
108127
features:
109128
- HTTP_ROUTE
129+
- CONTEXT_PROPAGATION
110130
source_path: instrumentation/akka/akka-http-10.0
111131
scope:
112132
name: io.opentelemetry.akka-http-10.0
@@ -115,6 +135,47 @@ libraries:
115135
- com.typesafe.akka:akka-http_2.12:[10,)
116136
- com.typesafe.akka:akka-http_2.13:[10,)
117137
- com.typesafe.akka:akka-http_2.11:[10,)
138+
configurations:
139+
- name: otel.instrumentation.http.known-methods
140+
description: |
141+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All other methods will be treated as `_OTHER`.
142+
type: list
143+
default: CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE
144+
- name: otel.instrumentation.http.client.capture-request-headers
145+
description: List of HTTP request headers to capture in HTTP client telemetry.
146+
type: list
147+
default: ''
148+
- name: otel.instrumentation.http.client.capture-response-headers
149+
description: List of HTTP response headers to capture in HTTP client telemetry.
150+
type: list
151+
default: ''
152+
- name: otel.instrumentation.common.peer-service-mapping
153+
description: Used to specify a mapping from host names or IP addresses to peer
154+
services.
155+
type: map
156+
default: ''
157+
- name: otel.instrumentation.http.client.emit-experimental-telemetry
158+
description: |
159+
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.
160+
type: boolean
161+
default: false
162+
- name: otel.instrumentation.http.client.experimental.redact-query-parameters
163+
description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans.
164+
type: boolean
165+
default: true
166+
- name: otel.instrumentation.http.server.capture-request-headers
167+
description: List of HTTP request headers to capture in HTTP server telemetry.
168+
type: list
169+
default: ''
170+
- name: otel.instrumentation.http.server.capture-response-headers
171+
description: List of HTTP response headers to capture in HTTP server telemetry.
172+
type: list
173+
default: ''
174+
- name: otel.instrumentation.http.server.emit-experimental-telemetry
175+
description: |
176+
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.
177+
type: boolean
178+
default: false
118179
telemetry:
119180
- when: default
120181
metrics:
@@ -206,6 +267,12 @@ libraries:
206267
- com.alibaba:druid:(,)
207268
library:
208269
- com.alibaba:druid:1.0.0
270+
configurations:
271+
- name: otel.semconv-stability.opt-in
272+
description: |
273+
Opt-in to emit stable semantic conventions instead of the old experimental semantic conventions. Accepts a comma-separated list of semantic convention groups (e.g., `database`, `http`, `messaging`). Use `<group>/dup` to emit both old and new conventions simultaneously. Stable semantic conventions will become the default in version 3.0 of the agent.
274+
type: list
275+
default: ''
209276
telemetry:
210277
- when: default
211278
metrics:
@@ -305,6 +372,12 @@ libraries:
305372
- org.apache.commons:commons-dbcp2:[2,)
306373
library:
307374
- org.apache.commons:commons-dbcp2:2.0
375+
configurations:
376+
- name: otel.semconv-stability.opt-in
377+
description: |
378+
Opt-in to emit stable semantic conventions instead of the old experimental semantic conventions. Accepts a comma-separated list of semantic convention groups (e.g., `database`, `http`, `messaging`). Use `<group>/dup` to emit both old and new conventions simultaneously. Stable semantic conventions will become the default in version 3.0 of the agent.
379+
type: list
380+
default: ''
308381
telemetry:
309382
- when: default
310383
metrics:
@@ -374,13 +447,13 @@ libraries:
374447
type: STRING
375448
- name: apache-dubbo-2.7
376449
display_name: Apache Dubbo
377-
description: The Apache Dubbo instrumentation provides RPC client spans and RPC
378-
server spans for Apache Dubbo RPC calls. Each call produces a span named after
379-
the Dubbo method, enriched with standard RPC attributes (system, service, method),
380-
network attributes, and error details if an exception occurs.
450+
description: |
451+
The Apache Dubbo instrumentation provides RPC client spans and metrics, and RPC server spans and metrics for Apache Dubbo RPC calls.
381452
semantic_conventions:
382453
- RPC_CLIENT_SPANS
454+
- RPC_CLIENT_METRICS
383455
- RPC_SERVER_SPANS
456+
- RPC_SERVER_METRICS
384457
library_link: https://github.com/apache/dubbo/
385458
source_path: instrumentation/apache-dubbo-2.7
386459
scope:

instrumentation/activej-http-6.0/metadata.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,25 @@ library_link: https://activej.io/
44
semantic_conventions:
55
- HTTP_SERVER_SPANS
66
- HTTP_SERVER_METRICS
7+
configurations:
8+
- name: otel.instrumentation.http.known-methods
9+
description: >
10+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All
11+
other methods will be treated as `_OTHER`.
12+
type: list
13+
default: "CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE"
14+
- name: otel.instrumentation.http.server.capture-request-headers
15+
description: List of HTTP request headers to capture in HTTP server telemetry.
16+
type: list
17+
default: ""
18+
- name: otel.instrumentation.http.server.capture-response-headers
19+
description: List of HTTP response headers to capture in HTTP server telemetry.
20+
type: list
21+
default: ""
22+
- name: otel.instrumentation.http.server.emit-experimental-telemetry
23+
description: >
24+
Enable the capture of experimental HTTP server telemetry. Adds the `http.request.body.size`
25+
and `http.response.body.size` attributes to spans, and records `http.server.request.size` and
26+
`http.server.response.size` metrics.
27+
type: boolean
28+
default: false

instrumentation/akka/akka-http-10.0/metadata.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,49 @@ semantic_conventions:
1010
- HTTP_SERVER_METRICS
1111
features:
1212
- HTTP_ROUTE
13+
- CONTEXT_PROPAGATION
14+
configurations:
15+
- name: otel.instrumentation.http.known-methods
16+
description: >
17+
Configures the instrumentation to recognize an alternative set of HTTP request methods. All
18+
other methods will be treated as `_OTHER`.
19+
type: list
20+
default: "CONNECT,DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT,TRACE"
21+
- name: otel.instrumentation.http.client.capture-request-headers
22+
description: List of HTTP request headers to capture in HTTP client telemetry.
23+
type: list
24+
default: ""
25+
- name: otel.instrumentation.http.client.capture-response-headers
26+
description: List of HTTP response headers to capture in HTTP client telemetry.
27+
type: list
28+
default: ""
29+
- name: otel.instrumentation.common.peer-service-mapping
30+
description: Used to specify a mapping from host names or IP addresses to peer services.
31+
type: map
32+
default: ""
33+
- name: otel.instrumentation.http.client.emit-experimental-telemetry
34+
description: >
35+
Enable the capture of experimental HTTP client telemetry. Adds the `http.request.body.size`
36+
and `http.response.body.size` attributes to spans, and records `http.client.request.size` and
37+
`http.client.response.size` metrics.
38+
type: boolean
39+
default: false
40+
- name: otel.instrumentation.http.client.experimental.redact-query-parameters
41+
description: Redact sensitive URL parameters. See https://opentelemetry.io/docs/specs/semconv/http/http-spans.
42+
type: boolean
43+
default: true
44+
- name: otel.instrumentation.http.server.capture-request-headers
45+
description: List of HTTP request headers to capture in HTTP server telemetry.
46+
type: list
47+
default: ""
48+
- name: otel.instrumentation.http.server.capture-response-headers
49+
description: List of HTTP response headers to capture in HTTP server telemetry.
50+
type: list
51+
default: ""
52+
- name: otel.instrumentation.http.server.emit-experimental-telemetry
53+
description: >
54+
Enable the capture of experimental HTTP server telemetry. Adds the `http.request.body.size`
55+
and `http.response.body.size` attributes to spans, and records `http.server.request.size` and
56+
`http.server.response.size` metrics.
57+
type: boolean
58+
default: false

instrumentation/alibaba-druid-1.0/metadata.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,13 @@ description: >
44
library_link: https://github.com/alibaba/druid
55
semantic_conventions:
66
- DATABASE_POOL_METRICS
7+
configurations:
8+
- name: otel.semconv-stability.opt-in
9+
description: >
10+
Opt-in to emit stable semantic conventions instead of the old
11+
experimental semantic conventions. Accepts a comma-separated list of semantic convention
12+
groups (e.g., `database`, `http`, `messaging`). Use `<group>/dup` to emit both old and new
13+
conventions simultaneously. Stable semantic conventions will become the default in version
14+
3.0 of the agent.
15+
type: list
16+
default: ""

instrumentation/apache-dbcp-2.0/metadata.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,13 @@ description: >
99
library_link: https://commons.apache.org/proper/commons-dbcp/
1010
semantic_conventions:
1111
- DATABASE_POOL_METRICS
12+
configurations:
13+
- name: otel.semconv-stability.opt-in
14+
description: >
15+
Opt-in to emit stable semantic conventions instead of the old
16+
experimental semantic conventions. Accepts a comma-separated list of semantic convention
17+
groups (e.g., `database`, `http`, `messaging`). Use `<group>/dup` to emit both old and new
18+
conventions simultaneously. Stable semantic conventions will become the default in version
19+
3.0 of the agent.
20+
type: list
21+
default: ""

instrumentation/apache-dubbo-2.7/metadata.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
display_name: Apache Dubbo
2-
description: The Apache Dubbo instrumentation provides RPC client spans and RPC server spans for
3-
Apache Dubbo RPC calls. Each call produces a span named after the Dubbo method, enriched with
4-
standard RPC attributes (system, service, method), network attributes, and error details if an
5-
exception occurs.
2+
description: >
3+
The Apache Dubbo instrumentation provides RPC client spans and metrics, and RPC server spans and
4+
metrics for Apache Dubbo RPC calls.
65
semantic_conventions:
76
- RPC_CLIENT_SPANS
7+
- RPC_CLIENT_METRICS
88
- RPC_SERVER_SPANS
9+
- RPC_SERVER_METRICS
910
library_link: https://github.com/apache/dubbo/
1011
configurations:
1112
- name: otel.instrumentation.common.peer-service-mapping

instrumentation/log4j/log4j-appender-1.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/appender/v1_2/Log4jAppenderInstrumentation.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,23 +46,23 @@ public void transform(TypeTransformer transformer) {
4646
public static class ForcedLogAdvice {
4747

4848
@Advice.OnMethodEnter(suppress = Throwable.class)
49-
public static void methodEnter(
49+
public static CallDepth methodEnter(
5050
@Advice.This Category logger,
5151
@Advice.Argument(0) String fqcn,
5252
@Advice.Argument(1) Priority level,
5353
@Advice.Argument(2) Object message,
54-
@Advice.Argument(3) Throwable t,
55-
@Advice.Local("otelCallDepth") CallDepth callDepth) {
54+
@Advice.Argument(3) Throwable t) {
5655
// need to track call depth across all loggers to avoid double capture when one logging
5756
// framework delegates to another
58-
callDepth = CallDepth.forClass(LoggerProvider.class);
57+
CallDepth callDepth = CallDepth.forClass(LoggerProvider.class);
5958
if (callDepth.getAndIncrement() == 0) {
6059
LogEventMapper.INSTANCE.capture(fqcn, logger, level, message, t);
6160
}
61+
return callDepth;
6262
}
6363

6464
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
65-
public static void methodExit(@Advice.Local("otelCallDepth") CallDepth callDepth) {
65+
public static void methodExit(@Advice.Enter CallDepth callDepth) {
6666
callDepth.decrementAndGet();
6767
}
6868
}

instrumentation/log4j/log4j-appender-1.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/log4j/appender/v1_2/Log4jAppenderInstrumentationModule.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
import com.google.auto.service.AutoService;
1111
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1212
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
13+
import io.opentelemetry.javaagent.extension.instrumentation.internal.ExperimentalInstrumentationModule;
1314
import java.util.List;
1415

1516
@AutoService(InstrumentationModule.class)
16-
public class Log4jAppenderInstrumentationModule extends InstrumentationModule {
17+
public class Log4jAppenderInstrumentationModule extends InstrumentationModule
18+
implements ExperimentalInstrumentationModule {
1719

1820
public Log4jAppenderInstrumentationModule() {
1921
super("log4j-appender", "log4j-appender-1.2");
@@ -23,4 +25,9 @@ public Log4jAppenderInstrumentationModule() {
2325
public List<TypeInstrumentation> typeInstrumentations() {
2426
return singletonList(new Log4jAppenderInstrumentation());
2527
}
28+
29+
@Override
30+
public boolean isIndyReady() {
31+
return true;
32+
}
2633
}

0 commit comments

Comments
 (0)