Skip to content

Commit 7e3f0de

Browse files
fix: change process.environ to semantic conventions (#30)
1 parent 4fef215 commit 7e3f0de

30 files changed

Lines changed: 297 additions & 462 deletions

File tree

Makefile

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,27 +77,29 @@ build/python: opt/python/distro/requirements.txt opt/python/Dockerfile $(PYTHON_
7777

7878

7979

80-
build/$(ZIP_NAME_PYTHON): build/lrap_x86_64 build/lrap_aarch64 opt/entrypoint opt/python/wrapper opt/python/otel_wrapper.py build/python
80+
build/$(ZIP_NAME_PYTHON): build/lrap_x86_64 build/lrap_aarch64 opt/entrypoint opt/shared.sh opt/python/wrapper opt/python/otel_wrapper.py build/python
8181
@rm -f build/$(ZIP_NAME_PYTHON)
8282
@rm -rf build/stage-python
8383
@mkdir -p build/stage-python/extensions
8484
@cp build/lrap_x86_64 build/stage-python/
8585
@cp build/lrap_aarch64 build/stage-python/
8686
@cp opt/entrypoint build/stage-python/extensions/lrap
87+
@cp opt/shared.sh build/stage-python/shared.sh
8788
@cp opt/python/wrapper build/stage-python/wrapper
8889
@cp -r build/python build/stage-python/python
8990
@cp opt/python/otel_wrapper.py build/stage-python/python/otel_wrapper.py
9091
@cd build/stage-python && zip -r ../$(ZIP_NAME_PYTHON) *
9192

9293

93-
build/$(ZIP_NAME_NODE): build/lrap_x86_64 build/lrap_aarch64 opt/entrypoint opt/node/package.json opt/node/wrapper opt/node/webpack.config.mjs opt/node/init.mjs $(NODE_DISTRO_SRC)
94+
build/$(ZIP_NAME_NODE): build/lrap_x86_64 build/lrap_aarch64 opt/entrypoint opt/shared.sh opt/node/package.json opt/node/wrapper opt/node/webpack.config.mjs opt/node/init.mjs $(NODE_DISTRO_SRC)
9495
@echo Building Node.js layer
9596
@rm -f build/$(ZIP_NAME_NODE)
9697
@rm -rf build/stage-node
9798
@mkdir -p build/stage-node/extensions
9899
@cp build/lrap_x86_64 build/stage-node/
99100
@cp build/lrap_aarch64 build/stage-node/
100101
@cp opt/entrypoint build/stage-node/extensions/lrap
102+
@cp opt/shared.sh build/stage-node/shared.sh
101103
@cp opt/node/wrapper build/stage-node/wrapper
102104
@bash opt/node/scripts/build-aws-sdk-tarball.sh
103105
@cd opt/node && npm install && npm run build
@@ -122,7 +124,7 @@ $(JAVA_DISTRO_JAR): $(JAVA_DISTRO_SRC)
122124
@echo Building Java distro
123125
@cd opt/java/opentelemetry-java-distro && ./gradlew clean -Pversion=1.0.0-SNAPSHOT assemble -x javadoc
124126

125-
build/$(ZIP_NAME_JAVA): build/lrap_x86_64 build/lrap_aarch64 opt/entrypoint opt/java/wrapper $(JAVA_DISTRO_JAR)
127+
build/$(ZIP_NAME_JAVA): build/lrap_x86_64 build/lrap_aarch64 opt/entrypoint opt/shared.sh opt/java/wrapper $(JAVA_DISTRO_JAR)
126128
@echo Building Java layer
127129
@rm -f build/$(ZIP_NAME_JAVA)
128130
@rm -rf build/stage-java
@@ -131,20 +133,22 @@ build/$(ZIP_NAME_JAVA): build/lrap_x86_64 build/lrap_aarch64 opt/entrypoint opt/
131133
@cp build/lrap_x86_64 build/stage-java/
132134
@cp build/lrap_aarch64 build/stage-java/
133135
@cp opt/entrypoint build/stage-java/extensions/lrap
136+
@cp opt/shared.sh build/stage-java/shared.sh
134137
@cp opt/java/wrapper build/stage-java/wrapper
135138
@cp $(JAVA_DISTRO_JAR) build/stage-java/java/lib/dash0-opentelemetry.jar
136139
@cp $(JAVA_CLASSPATH_LIBS_DIR)/*.jar build/stage-java/java/lib/
137140
@cd build/stage-java && zip -r ../$(ZIP_NAME_JAVA) *
138141

139142

140-
build/$(ZIP_NAME_MANUAL): build/lrap_x86_64 build/lrap_aarch64 opt/entrypoint opt/manual/wrapper
143+
build/$(ZIP_NAME_MANUAL): build/lrap_x86_64 build/lrap_aarch64 opt/entrypoint opt/shared.sh opt/manual/wrapper
141144
@echo Building Manual layer
142145
@rm -f build/$(ZIP_NAME_MANUAL)
143146
@rm -rf build/stage-manual
144147
@mkdir -p build/stage-manual/extensions
145148
@cp build/lrap_x86_64 build/stage-manual/
146149
@cp build/lrap_aarch64 build/stage-manual/
147150
@cp opt/entrypoint build/stage-manual/extensions/lrap
151+
@cp opt/shared.sh build/stage-manual/shared.sh
148152
@cp opt/manual/wrapper build/stage-manual/wrapper
149153
@cd build/stage-manual && zip -r ../$(ZIP_NAME_MANUAL) *
150154

integration-tests/iac/lib/integration-tests-stack.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,17 @@ function createLambdas(
7070
DASH0_ENDPOINT: "https://ingress.eu-west-1.aws.dash0-dev.com:4318",
7171
DASH0_EXTENSION_LOG_LEVEL: "info",
7272
DASH0_SEND_ON_INVOCATION_END: invocationEnd,
73-
DASH0_MASK_RULES: '[".*masked_field.*"]',
74-
MASKED_FIELD: "sensitive information",
7573
};
7674
if (traced === "false") {
7775
environment["DASH0_DISABLE_AUTO_INSTRUMENTATION"] = "true";
7876
}
7977
if (scenario === "timeout") {
8078
environment["SLEEP_DURATION_MS"] = "20000";
8179
}
80+
if (runtime.family === lambda.RuntimeFamily.NODEJS) {
81+
environment["DASH0_MASK_RULES"] = '[".*masked_field.*"]';
82+
environment["MASKED_FIELD"] = 'sensitive information';
83+
}
8284

8385
const functionName = `${prefix}${runtimeName}-${scenario}-${traced}-invocation-end-${invocationEnd}-${architecture.name}`;
8486
const handler = overrides?.handler ?? `${scenario}.handler`;

integration-tests/tests/src/test-node-success.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ const verifySuccessInvocation = async (functionName: string, invocationEnd: bool
5656
expect(spanAttributes['faas.invocation_id'].stringValue).toEqual(invocationId);
5757

5858
const resourceAttributes = getAttributesMap(lambdaResource!.attributes);
59-
expect(JSON.parse(resourceAttributes['process.environ'].stringValue)['MASKED_FIELD']).toEqual('****');
59+
expect(resourceAttributes['process.environment_variable.MASKED_FIELD'].stringValue).toEqual('****');
6060
checkResourceAttributes(lambdaResource!.attributes, functionName);
6161

6262
traceId = span.traceId;

integration-tests/tests/src/test-python-success.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ const verifySuccessInvocation = async (functionName: string, invocationEnd: bool
5454
expect(spanAttributes['faas.invocation_id'].stringValue).toEqual(invocationId);
5555

5656
checkResourceAttributes(lambdaResource!.attributes, functionName);
57+
const resourceAttributes = getAttributesMap(lambdaResource!.attributes);
58+
expect(resourceAttributes['process.environment_variable.DASH0_TOKEN'].stringValue).toEqual('****');
5759

5860
traceId = span.traceId;
5961
parentSpanId = span.spanId;

opt/docker/Dockerfile.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
# Copy entrypoint script (Lambda extension entry point)
2828
COPY opt/entrypoint /opt/extensions/lrap
2929

30-
# Copy wrapper script
30+
# Copy shared script and wrapper script
31+
COPY opt/shared.sh /opt/shared.sh
3132
COPY opt/java/wrapper /opt/wrapper
3233

3334
# Copy Java agent JAR (built locally from opt/java/opentelemetry-java-distro)

opt/docker/Dockerfile.node

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ COPY build/lrap_aarch64 /opt/lrap_aarch64
2626
# Copy entrypoint script (Lambda extension entry point)
2727
COPY opt/entrypoint /opt/extensions/lrap
2828

29-
# Copy wrapper script
29+
# Copy shared script and wrapper script
30+
COPY opt/shared.sh /opt/shared.sh
3031
COPY opt/node/wrapper /opt/wrapper
3132

3233
# Copy bundled Node.js SDK (webpack output)

opt/docker/Dockerfile.python

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ COPY build/lrap_aarch64 /opt/lrap_aarch64
4444
# Copy entrypoint script (Lambda extension entry point)
4545
COPY opt/entrypoint /opt/extensions/lrap
4646

47-
# Copy wrapper script
47+
# Copy shared script and wrapper script
48+
COPY opt/shared.sh /opt/shared.sh
4849
COPY opt/python/wrapper /opt/wrapper
4950

5051
# Copy Python SDK and dependencies

opt/java/opentelemetry-java-distro/agent/build.gradle

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,6 @@ tasks {
125125
def javaagentLibs = "$buildDir/isolated/javaagentLibs"
126126
into(javaagentLibs)
127127

128-
doLast {
129-
def file = file("${javaagentLibs}/inst/META-INF/services/io.opentelemetry.sdk.autoconfigure.spi.ResourceProvider")
130-
def lines = file.readLines()
131-
def newLines = lines.findAll { !it.contains("io.opentelemetry.contrib.aws.resource.Ec2ResourceProvider") }
132-
file.newWriter().withWriter { w ->
133-
w << newLines.join(System.getProperty("line.separator"))
134-
}
135-
}
136128
}
137129

138130
// 3. the relocated and isolated javaagent libs are merged together with the bootstrap libs (which undergo relocation

opt/java/opentelemetry-java-distro/custom/src/main/java/io/dash0/javaagent/resources/ProcessEnvironmentResource.java

Lines changed: 0 additions & 44 deletions
This file was deleted.

opt/java/opentelemetry-java-distro/custom/src/main/java/io/dash0/javaagent/resources/ProcessEnvironmentResourceProvider.java

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)