Skip to content

Commit 9ba3b74

Browse files
author
David Grieve
committed
Merge branch 'main' of github.com:dsgrieve/opentelemetry-java-contrib
2 parents f555024 + d754367 commit 9ba3b74

File tree

142 files changed

+4412
-452
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+4412
-452
lines changed

.github/component_owners.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ components:
4141
- sfriberg
4242
jmx-metrics:
4343
- breedx-splk
44+
jmx-scraper:
45+
- breedx-splk
46+
- robsunday
47+
- sylvainjuge
4448
maven-extension:
4549
- cyrille-leclerc
4650
- kenfinnigan
@@ -61,6 +65,7 @@ components:
6165
- jeanbisutti
6266
samplers:
6367
- trask
68+
- jack-berg
6469
static-instrumenter:
6570
- anosek-an
6671
kafka-exporter:
@@ -74,3 +79,5 @@ components:
7479
- jackshirazi
7580
- jonaskunz
7681
- sylvainjuge
82+
opamp-client:
83+
- LikeTheSalad

.github/config/markdown-link-check-config.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
{
22
"retryOn429": true,
3+
"aliveStatusCodes": [
4+
200,
5+
403
6+
],
37
"ignorePatterns": [
48
{
59
"pattern": "^https://developer\\.mend\\.io/github/open-telemetry/opentelemetry-java-contrib$"

.github/renovate.json5

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@
2828
"matchPackagePrefixes": ["com.gradle.enterprise"],
2929
"groupName": "gradle enterprise packages"
3030
},
31+
{
32+
// prevent 3.0.1u2 -> 3.0.1
33+
"matchPackageNames": ["com.google.code.findbugs:annotations"],
34+
"allowedVersions": "!/^3\\.0\\.1$/"
35+
},
3136
{
3237
// disruptor 4+ requires Java 11+
3338
"matchPackageNames": ["com.lmax:disruptor"],
@@ -46,6 +51,12 @@
4651
"matchUpdateTypes": ["major"],
4752
"enabled": false
4853
},
54+
{
55+
// agrona 1.23+ requires Java 17+
56+
"matchPackageNames": ["org.agrona:agrona"],
57+
"matchUpdateTypes": ["major", "minor"],
58+
"enabled": false
59+
},
4960
{
5061
// system-stubs-jupiter 2.1+ requires Java 11+
5162
"matchPackageNames": ["uk.org.webcompere:system-stubs-jupiter"],

.github/workflows/release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,12 @@ jobs:
132132
env:
133133
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
134134
run: |
135+
instrumentation_version=$(grep -Po "val otelInstrumentationVersion = \"\K[0-9]+.[0-9]+.[0-9]+" dependencyManagement/build.gradle.kts)
136+
135137
# conditional blocks not indented because of the heredoc
136138
if [[ $VERSION == *.0 ]]; then
137139
cat > /tmp/release-notes.txt << EOF
138-
This release targets the OpenTelemetry SDK $VERSION.
140+
This release targets the OpenTelemetry Java Instrumentation [$instrumentation_version](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v$instrumentation_version).
139141
140142
EOF
141143
else

CHANGELOG.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,57 @@
22

33
## Unreleased
44

5+
## Version 1.39.0 (2024-09-17)
6+
7+
### AWS X-Ray propagator
8+
9+
- Handle too short `X-Amzn-Trace-Id` header
10+
([#1036](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1036))
11+
- Add declarative config support for aws xray propagators
12+
([#1442](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1442))
13+
14+
### AWS X-Ray SDK support
15+
16+
- Fix native mode error cause by static init of random
17+
([#862](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/862))
18+
19+
### Consistent sampling
20+
21+
- Composite Samplers prototype
22+
([#1443](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1443))
23+
24+
### Disk buffering
25+
26+
- Add debug mode for verbose logging
27+
([#1455](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1455))
28+
29+
### GCP Resources
30+
31+
- Fix incorrect `cloud.platform` value for GCF
32+
([#1454](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1454))
33+
34+
### JMX metrics
35+
36+
- Add option to aggregate across multiple MBeans
37+
([#1366](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1366))
38+
39+
### Samplers
40+
41+
- Add declarative config support for `RuleBasedRoutingSampler`
42+
([#1440](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1440))
43+
44+
### Span stack traces
45+
46+
- Add config option `otel.java.experimental.span-stacktrace.min.duration`
47+
([#1414](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1414))
48+
49+
## Version 1.38.0 (2024-08-19)
50+
51+
### JFR connection
52+
53+
- Recording close should not throw exception
54+
([#1412](https://github.com/open-telemetry/opentelemetry-java-contrib/pull/1412))
55+
556
## Version 1.37.0 (2024-07-18)
657

758
### AWS resources

README.md

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,37 @@ feature or via instrumentation, this project is hopefully for you.
99

1010
## Provided Libraries
1111

12-
* [AWS Resources](./aws-resources/README.md)
13-
* [AWS X-Ray SDK Support](./aws-xray/README.md)
14-
* [AWS X-Ray Propagator](./aws-xray-propagator/README.md)
15-
* [zstd Compressor](./compressors/compressor-zstd/README.md)
16-
* [Consistent Sampling](./consistent-sampling/README.md)
17-
* [Disk Buffering](./disk-buffering/README.md)
18-
* [GCP Resources](./gcp-resources/README.md)
19-
* [JMX Metric Gatherer](./jmx-metrics/README.md)
20-
* [No-Op API](./noop-api/README.md)
21-
* [OpenTelemetry Maven Extension](./maven-extension/README.md)
22-
* [Prometheus Client Bridge](./prometheus-client-bridge/README.md)
23-
* [Resource Providers](./resource-providers/README.md)
24-
* [Runtime Attach](./runtime-attach/README.md)
25-
* [Samplers](./samplers/README.md)
26-
* [Static Instrumenter](./static-instrumenter/README.md)
27-
* [Kafka Support](./kafka-exporter/README.md)
12+
| Status* | Library |
13+
| ------- | ----------------------------------------------------------------- |
14+
| beta | [AWS Resources](./aws-resources/README.md) |
15+
| stable | [AWS X-Ray SDK Support](./aws-xray/README.md) |
16+
| alpha | [AWS X-Ray Propagator](./aws-xray-propagator/README.md) |
17+
| alpha | [Baggage Span Processor](./baggage-processor/README.md) |
18+
| alpha | [zstd Compressor](./compressors/compressor-zstd/README.md) |
19+
| alpha | [Consistent Sampling](./consistent-sampling/README.md) |
20+
| alpha | [Disk Buffering](./disk-buffering/README.md) |
21+
| beta | [GCP Resources](./gcp-resources/README.md) |
22+
| beta | [Inferred Spans](./inferred-spans/README.md) |
23+
| alpha | [JFR Connection](./jfr-connection/README.md) |
24+
| alpha | [JFR Events](./jfr-events/README.md) |
25+
| alpha | [JMX Metric Gatherer](./jmx-metrics/README.md) |
26+
| alpha | [Kafka Support](./kafka-exporter/README.md) |
27+
| alpha | [OpenTelemetry Maven Extension](./maven-extension/README.md) |
28+
| alpha | [Micrometer MeterProvider](./micrometer-meter-provider/README.md) |
29+
| alpha | [No-Op API](./noop-api/README.md) |
30+
| alpha | [Intercept and Process Signals Globally](./processors/README.md) |
31+
| alpha | [Prometheus Client Bridge](./prometheus-client-bridge/README.md) |
32+
| alpha | [Resource Providers](./resource-providers/README.md) |
33+
| alpha | [Runtime Attach](./runtime-attach/README.md) |
34+
| alpha | [Samplers](./samplers/README.md) |
35+
| beta | [Span Stacktrace Capture](./span-stacktrace/README.md) |
36+
| alpha | [Static Instrumenter](./static-instrumenter/README.md) |
37+
38+
\* `alpha`, `beta` and `stable` are currently used to denote library status per [otep 0232](https://github.com/open-telemetry/oteps/blob/main/text/0232-maturity-of-otel.md).
39+
To reach stable status, the library needs to have stable APIs, stable semantic conventions, and be production ready.
40+
On reaching stable status, the `otel.stable` value in `gradle.properties` should be set to `true`.
41+
Note that currently all the libraries are released together with the version of this repo, so breaking changes (after stable
42+
status is reached) would bump the major version of all libraries together. This could get complicated so `stable` has a high bar.
2843

2944
## Getting Started
3045

aws-xray-propagator/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@ dependencies {
1313
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
1414
testImplementation("io.opentelemetry:opentelemetry-sdk-trace")
1515
testImplementation("io.opentelemetry:opentelemetry-sdk-testing")
16+
17+
testImplementation("io.opentelemetry:opentelemetry-sdk-extension-incubator")
1618
testImplementation("uk.org.webcompere:system-stubs-jupiter:2.0.3")
1719
}

aws-xray-propagator/src/main/java/io/opentelemetry/contrib/awsxray/propagator/AwsXrayLambdaPropagator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,11 @@ public <C> Context extract(Context context, @Nullable C carrier, TextMapGetter<C
7979
MapGetter.INSTANCE);
8080
}
8181

82+
@Override
83+
public String toString() {
84+
return "AwsXrayLambdaPropagator";
85+
}
86+
8287
private static boolean isEmptyOrNull(@Nullable String value) {
8388
return value == null || value.isEmpty();
8489
}

aws-xray-propagator/src/main/java/io/opentelemetry/contrib/awsxray/propagator/AwsXrayPropagator.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,11 @@ public <C> Context extract(Context context, @Nullable C carrier, TextMapGetter<C
169169
return getContextFromHeader(context, carrier, getter);
170170
}
171171

172+
@Override
173+
public String toString() {
174+
return "AwsXrayPropagator";
175+
}
176+
172177
private static <C> Context getContextFromHeader(
173178
Context context, @Nullable C carrier, TextMapGetter<C> getter) {
174179
String traceHeader = getter.get(carrier, TRACE_HEADER_KEY);
@@ -290,7 +295,8 @@ private static String parseShortTraceId(String xrayTraceId) {
290295
int secondDelimiter = xrayTraceId.indexOf(TRACE_ID_DELIMITER, firstDelimiter + 2);
291296
if (firstDelimiter != TRACE_ID_DELIMITER_INDEX_1
292297
|| secondDelimiter == -1
293-
|| secondDelimiter > TRACE_ID_DELIMITER_INDEX_2) {
298+
|| secondDelimiter > TRACE_ID_DELIMITER_INDEX_2
299+
|| xrayTraceId.length() < secondDelimiter + 25) {
294300
return TraceId.getInvalid();
295301
}
296302

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.contrib.awsxray.propagator;
6+
package io.opentelemetry.contrib.awsxray.propagator.internal;
77

88
import io.opentelemetry.context.propagation.TextMapPropagator;
9+
import io.opentelemetry.contrib.awsxray.propagator.AwsXrayPropagator;
910
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1011
import io.opentelemetry.sdk.autoconfigure.spi.ConfigurablePropagatorProvider;
1112

0 commit comments

Comments
 (0)