Skip to content

Commit b23aa53

Browse files
Merge branch 'open-telemetry:main' into main
2 parents b8ba47a + b079b13 commit b23aa53

File tree

95 files changed

+1082
-3363
lines changed

Some content is hidden

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

95 files changed

+1082
-3363
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ body:
2828
- resource-providers
2929
- runtime-attach
3030
- samplers
31-
- static-instrumenter
3231
- type: textarea
3332
attributes:
3433
label: What happened?

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ body:
2828
- resource-providers
2929
- runtime-attach
3030
- samplers
31-
- static-instrumenter
3231
- type: textarea
3332
attributes:
3433
label: Is your feature request related to a problem? Please describe.

.github/component_owners.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ components:
7474
samplers:
7575
- trask
7676
- jack-berg
77-
static-instrumenter:
78-
- anosek-an
7977
kafka-exporter:
8078
- spockz
8179
- vincentfree

.github/renovate.json5

Lines changed: 112 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,119 +1,163 @@
11
{
2-
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3-
"extends": [
4-
"config:recommended",
5-
"docker:pinDigests",
6-
"helpers:pinGitHubActionDigests"
2+
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
3+
extends: [
4+
'config:recommended',
5+
'docker:pinDigests',
6+
'helpers:pinGitHubActionDigests',
77
],
8-
"ignorePresets": [":ignoreModulesAndTests"], // needed to keep maven-extension test pom files up-to-date
9-
"packageRules": [
8+
ignorePresets: [
9+
':ignoreModulesAndTests', // needed to keep maven-extension test pom files up-to-date
10+
],
11+
packageRules: [
1012
{
1113
// this is to reduce the number of renovate PRs
12-
"matchManagers": [
13-
"github-actions",
14-
"dockerfile"
14+
matchManagers: [
15+
'github-actions',
16+
'dockerfile',
17+
],
18+
extends: [
19+
'schedule:weekly',
1520
],
16-
"extends": ["schedule:weekly"],
17-
"groupName": "weekly update"
21+
groupName: 'weekly update',
1822
},
1923
{
20-
"matchPackageNames": [
21-
"io.opentelemetry:**",
22-
"io.opentelemetry.instrumentation:**",
23-
"io.opentelemetry.semconv:**",
24-
"io.opentelemetry.proto:**"
24+
matchPackageNames: [
25+
'io.opentelemetry:**',
26+
'io.opentelemetry.instrumentation:**',
27+
'io.opentelemetry.semconv:**',
28+
'io.opentelemetry.proto:**',
2529
],
2630
// Renovate's default behavior is only to update from unstable -> unstable if it's for the
2731
// major.minor.patch, under the assumption that you would want to update to the stable version
2832
// of that release instead of the unstable version for a future release
29-
"ignoreUnstable": false
33+
ignoreUnstable: false,
3034
},
3135
{
3236
// prevent 3.0.1u2 -> 3.0.1
33-
"matchPackageNames": ["com.google.code.findbugs:annotations"],
34-
"allowedVersions": "!/^3\\.0\\.1$/"
37+
matchPackageNames: [
38+
'com.google.code.findbugs:annotations',
39+
],
40+
allowedVersions: '!/^3\\.0\\.1$/',
3541
},
3642
{
3743
// disruptor 4+ requires Java 11+
38-
"matchPackageNames": ["com.lmax:disruptor"],
39-
"matchUpdateTypes": ["major"],
40-
"enabled": false
44+
matchPackageNames: [
45+
'com.lmax:disruptor',
46+
],
47+
matchUpdateTypes: [
48+
'major',
49+
],
50+
enabled: false,
4151
},
4252
{
4353
// junit-pioneer 2+ requires Java 11+
44-
"matchPackageNames": ["org.junit-pioneer:junit-pioneer"],
45-
"matchUpdateTypes": ["major"],
46-
"enabled": false
54+
matchPackageNames: [
55+
'org.junit-pioneer:junit-pioneer',
56+
],
57+
matchUpdateTypes: [
58+
'major',
59+
],
60+
enabled: false,
4761
},
4862
{
4963
// mockito 5+ requires Java 11+
50-
"matchPackagePrefixes": ["org.mockito:"],
51-
"matchUpdateTypes": ["major"],
52-
"enabled": false
64+
matchUpdateTypes: [
65+
'major',
66+
],
67+
enabled: false,
68+
matchPackageNames: [
69+
'org.mockito:{/,}**',
70+
],
5371
},
5472
{
5573
// agrona 1.23+ requires Java 17+
56-
"matchPackageNames": ["org.agrona:agrona"],
57-
"matchUpdateTypes": ["major", "minor"],
58-
"enabled": false
74+
matchPackageNames: [
75+
'org.agrona:agrona',
76+
],
77+
matchUpdateTypes: [
78+
'major',
79+
'minor',
80+
],
81+
enabled: false,
5982
},
6083
{
6184
// system-stubs-jupiter 2.1+ requires Java 11+
62-
"matchPackageNames": ["uk.org.webcompere:system-stubs-jupiter"],
63-
"matchUpdateTypes": ["major", "minor"],
64-
"enabled": false
85+
matchPackageNames: [
86+
'uk.org.webcompere:system-stubs-jupiter',
87+
],
88+
matchUpdateTypes: [
89+
'major',
90+
'minor',
91+
],
92+
enabled: false,
6593
},
6694
{
6795
// pinned version for compatibility
68-
"matchPackageNames": ["io.micrometer:micrometer-core"],
69-
"matchCurrentVersion": "1.5.0",
70-
"enabled": false
96+
matchPackageNames: [
97+
'io.micrometer:micrometer-core',
98+
],
99+
matchCurrentVersion: '1.5.0',
100+
enabled: false,
71101
},
72102
{
73103
// pinned version for compatibility
74-
"matchPackagePrefixes": ["org.apache.maven:"],
75-
"matchCurrentVersion": "3.5.0",
76-
"enabled": false
104+
matchCurrentVersion: '3.5.0',
105+
enabled: false,
106+
matchPackageNames: [
107+
'org.apache.maven:{/,}**',
108+
],
77109
},
78110
{
79-
"matchPackagePrefixes": ["com.diffplug.spotless"],
80-
"groupName": "spotless packages"
111+
groupName: 'spotless packages',
112+
matchPackageNames: [
113+
'com.diffplug.spotless{/,}**',
114+
],
81115
},
82116
{
83117
// pinned version for compatibility with java 8 JFR parsing
84-
"matchPackagePrefixes": ["org.openjdk.jmc"],
85-
"matchUpdateTypes": ["major"],
86-
"enabled": false
118+
matchUpdateTypes: [
119+
'major',
120+
],
121+
enabled: false,
122+
matchPackageNames: [
123+
'org.openjdk.jmc{/,}**',
124+
],
87125
},
88126
{
89127
// pinned version for compatibility
90-
"matchFileNames": ["jmx-scraper/test-webapp/build.gradle.kts"],
91-
"matchPackagePrefixes": ["jakarta.servlet:"],
92-
"matchCurrentVersion": "5.0.0",
93-
"enabled": false
128+
matchFileNames: [
129+
'jmx-scraper/test-webapp/build.gradle.kts',
130+
],
131+
matchCurrentVersion: '5.0.0',
132+
enabled: false,
133+
matchPackageNames: [
134+
'jakarta.servlet:{/,}**',
135+
],
94136
},
95137
{
96138
// intentionally using Spring Boot 2 in gcp-auth-extension in order to test with Java 8+
97-
"matchFileNames": [
98-
"gcp-auth-extension/build.gradle.kts"
139+
matchFileNames: [
140+
'gcp-auth-extension/build.gradle.kts',
99141
],
100-
"matchPackagePrefixes": [
101-
"org.springframework.boot"
142+
matchUpdateTypes: [
143+
'major',
102144
],
103-
"matchUpdateTypes": ["major"],
104-
"enabled": false,
105-
}
145+
enabled: false,
146+
matchPackageNames: [
147+
'org.springframework.boot{/,}**',
148+
],
149+
},
106150
],
107-
"customManagers": [
151+
customManagers: [
108152
{
109-
"customType": "regex",
110-
"datasourceTemplate": "npm",
111-
"fileMatch": [
112-
"^.github/workflows/"
113-
],
114-
"matchStrings": [
115-
"npx (?<depName>[^@]+)@(?<currentValue>[^\\s]+)"
116-
]
117-
}
118-
]
153+
customType: 'regex',
154+
datasourceTemplate: 'npm',
155+
fileMatch: [
156+
'^.github/workflows/',
157+
],
158+
matchStrings: [
159+
'npx (?<depName>[^@]+)@(?<currentValue>[^\\s]+)',
160+
],
161+
},
162+
],
119163
}

.github/workflows/build.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ jobs:
4343
- 8
4444
- 11
4545
- 17
46-
- 20
46+
- 21
47+
- 23
4748
fail-fast: false
4849
steps:
4950
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ feature or via instrumentation, this project is hopefully for you.
1515
## Provided Libraries
1616

1717
| Status* | Library |
18-
| ------- |-------------------------------------------------------------------|
18+
|---------|-------------------------------------------------------------------|
1919
| beta | [AWS Resources](./aws-resources/README.md) |
2020
| stable | [AWS X-Ray SDK Support](./aws-xray/README.md) |
2121
| alpha | [AWS X-Ray Propagator](./aws-xray-propagator/README.md) |
22-
| alpha | [Baggage Processors](./baggage-processor/README.md) |
22+
| alpha | [Baggage Processors](./baggage-processor/README.md) |
2323
| alpha | [zstd Compressor](./compressors/compressor-zstd/README.md) |
2424
| alpha | [Consistent Sampling](./consistent-sampling/README.md) |
2525
| alpha | [Disk Buffering](./disk-buffering/README.md) |
@@ -29,6 +29,7 @@ feature or via instrumentation, this project is hopefully for you.
2929
| alpha | [JFR Connection](./jfr-connection/README.md) |
3030
| alpha | [JFR Events](./jfr-events/README.md) |
3131
| alpha | [JMX Metric Gatherer](./jmx-metrics/README.md) |
32+
| alpha | [JMX Metric Scraper](./jmx-scraper/README.md) |
3233
| alpha | [Kafka Support](./kafka-exporter/README.md) |
3334
| alpha | [OpenTelemetry Maven Extension](./maven-extension/README.md) |
3435
| alpha | [Micrometer MeterProvider](./micrometer-meter-provider/README.md) |
@@ -39,7 +40,6 @@ feature or via instrumentation, this project is hopefully for you.
3940
| alpha | [Runtime Attach](./runtime-attach/README.md) |
4041
| alpha | [Samplers](./samplers/README.md) |
4142
| beta | [Span Stacktrace Capture](./span-stacktrace/README.md) |
42-
| alpha | [Static Instrumenter](./static-instrumenter/README.md) |
4343

4444
\* `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).
4545
To reach stable status, the library needs to have stable APIs, stable semantic conventions, and be production ready.

aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/EcsResource.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,8 @@ static void parseResponse(
192192
DockerImage parsedImage = DockerImage.parse(value);
193193
if (parsedImage != null) {
194194
attrBuilders.put(CONTAINER_IMAGE_NAME, parsedImage.getRepository());
195-
// TODO: CONTAINER_IMAGE_TAG has been replaced with CONTAINER_IMAGE_TAGS
196195
attrBuilders.put(
197-
io.opentelemetry.semconv.ResourceAttributes.CONTAINER_IMAGE_TAG,
196+
io.opentelemetry.contrib.aws.resource.IncubatingAttributes.CONTAINER_IMAGE_TAGS,
198197
parsedImage.getTag());
199198
}
200199
break;

aws-resources/src/main/java/io/opentelemetry/contrib/aws/resource/IncubatingAttributes.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ private IncubatingAttributes() {}
2626
public static final AttributeKey<String> CLOUD_REGION = AttributeKey.stringKey("cloud.region");
2727
public static final AttributeKey<String> CLOUD_RESOURCE_ID =
2828
AttributeKey.stringKey("cloud.resource_id");
29+
public static final AttributeKey<List<String>> CONTAINER_IMAGE_TAGS =
30+
AttributeKey.stringArrayKey("container.image.tags");
2931

3032
public static final class CloudPlatformIncubatingValues {
3133
public static final String AWS_EC2 = "aws_ec2";

aws-resources/src/test/java/io/opentelemetry/contrib/aws/resource/EcsResourceTest.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
import static io.opentelemetry.semconv.incubating.CloudIncubatingAttributes.CLOUD_RESOURCE_ID;
2525
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_ID;
2626
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_IMAGE_NAME;
27+
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_IMAGE_TAGS;
2728
import static io.opentelemetry.semconv.incubating.ContainerIncubatingAttributes.CONTAINER_NAME;
29+
import static java.util.Collections.singletonList;
2830
import static org.assertj.core.api.Assertions.entry;
2931
import static org.mockito.Mockito.when;
3032

@@ -52,8 +54,6 @@ class EcsResourceTest {
5254

5355
@Mock private SimpleHttpClient mockHttpClient;
5456

55-
// Suppression is required for CONTAINER_IMAGE_TAG until we are ready to upgrade.
56-
@SuppressWarnings("deprecation")
5757
@Test
5858
void testCreateAttributesV3() throws IOException {
5959
Map<String, String> mockSysEnv = new HashMap<>();
@@ -78,7 +78,7 @@ void testCreateAttributesV3() throws IOException {
7878
entry(CONTAINER_NAME, "ecs-nginx-5-nginx-curl-ccccb9f49db0dfe0d901"),
7979
entry(CONTAINER_ID, "43481a6ce4842eec8fe72fc28500c6b52edcc0917f105b83379f88cac1ff3946"),
8080
entry(CONTAINER_IMAGE_NAME, "nrdlngr/nginx-curl"),
81-
entry(io.opentelemetry.semconv.ResourceAttributes.CONTAINER_IMAGE_TAG, "latest"),
81+
entry(CONTAINER_IMAGE_TAGS, singletonList("latest")),
8282
entry(AWS_ECS_CLUSTER_ARN, "arn:aws:ecs:us-east-2:012345678910:cluster/default"),
8383
entry(
8484
AttributeKey.stringKey("aws.ecs.container.image.id"),
@@ -90,8 +90,6 @@ void testCreateAttributesV3() throws IOException {
9090
entry(AWS_ECS_TASK_REVISION, "5"));
9191
}
9292

93-
// Suppression is required for CONTAINER_IMAGE_TAG until we are ready to upgrade.
94-
@SuppressWarnings("deprecation")
9593
@Test
9694
void testCreateAttributesV4() throws IOException {
9795
Map<String, String> mockSysEnv = new HashMap<>();
@@ -119,25 +117,22 @@ void testCreateAttributesV4() throws IOException {
119117
entry(CONTAINER_NAME, "ecs-curltest-26-curl-cca48e8dcadd97805600"),
120118
entry(CONTAINER_ID, "ea32192c8553fbff06c9340478a2ff089b2bb5646fb718b4ee206641c9086d66"),
121119
entry(CONTAINER_IMAGE_NAME, "111122223333.dkr.ecr.us-west-2.amazonaws.com/curltest"),
122-
entry(io.opentelemetry.semconv.ResourceAttributes.CONTAINER_IMAGE_TAG, "latest"),
120+
entry(CONTAINER_IMAGE_TAGS, singletonList("latest")),
123121
entry(
124122
AttributeKey.stringKey("aws.ecs.container.image.id"),
125123
"sha256:d691691e9652791a60114e67b365688d20d19940dde7c4736ea30e660d8d3553"),
126124
entry(AWS_ECS_CLUSTER_ARN, "arn:aws:ecs:us-west-2:111122223333:cluster/default"),
127125
entry(
128126
AWS_ECS_CONTAINER_ARN,
129127
"arn:aws:ecs:us-west-2:111122223333:container/0206b271-b33f-47ab-86c6-a0ba208a70a9"),
130-
entry(AWS_LOG_GROUP_NAMES, Collections.singletonList("/ecs/metadata")),
128+
entry(AWS_LOG_GROUP_NAMES, singletonList("/ecs/metadata")),
131129
entry(
132130
AWS_LOG_GROUP_ARNS,
133-
Collections.singletonList(
134-
"arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata")),
135-
entry(
136-
AWS_LOG_STREAM_NAMES,
137-
Collections.singletonList("ecs/curl/8f03e41243824aea923aca126495f665")),
131+
singletonList("arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata")),
132+
entry(AWS_LOG_STREAM_NAMES, singletonList("ecs/curl/8f03e41243824aea923aca126495f665")),
138133
entry(
139134
AWS_LOG_STREAM_ARNS,
140-
Collections.singletonList(
135+
singletonList(
141136
"arn:aws:logs:us-west-2:111122223333:log-group:/ecs/metadata:log-stream:ecs/curl/8f03e41243824aea923aca126495f665")),
142137
entry(
143138
AWS_ECS_TASK_ARN,

0 commit comments

Comments
 (0)