Skip to content

Commit 45c6a64

Browse files
committed
Expand OpenTelemetry documentation: add Lambda layer inspection instructions and detailed layer contents.
1 parent f623059 commit 45c6a64

File tree

1 file changed

+98
-6
lines changed

1 file changed

+98
-6
lines changed

_articles/opentelemetry.md

Lines changed: 98 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,117 @@ lede: Vendor-neutral telemetry for infra and applications.
2020

2121
## Lambdas/serverless
2222

23-
opentelemetry-lambda:
23+
We can inspect what's inside each Lambda layer like this:
2424

25-
- See https://github.com/open-telemetry/opentelemetry-lambda/releases
25+
```shell
26+
URL=$(aws lambda get-layer-version --layer-name $LAYER_ARN \
27+
--version-number $LAYER_VERSION \
28+
--query 'Content.Location' \
29+
--region us-east-1 --output text) \
30+
&& curl -s "$URL" -o /tmp/layer.zip && unzip -l /tmp/layer.zip
31+
```
32+
33+
### OpenTelemetry Lambda Layer (upstream)
34+
35+
- https://github.com/open-telemetry/opentelemetry-lambda/releases
2636
- ARNs like:
2737
- `arn:aws:lambda:<region>:184161586896:layer:opentelemetry-javaagent-0_17_0:1`
2838
- `arn:aws:lambda:<region>:184161586896:layer:opentelemetry-nodejs-0_19_0:1`
2939
- `arn:aws:lambda:<region>:184161586896:layer:opentelemetry-collector-<amd64|arm64>-0_12_0:1` (a stripped-down version of OTel Collector inside an AWS Extension Layer)
3040

31-
ADOT (AWS Distribution of OpenTelemetry):
41+
#### What's inside
42+
43+
```shell
44+
export LAYER_ARN=arn:aws:lambda:us-east-1:184161586896:layer:opentelemetry-javaagent-0_17_0
45+
export LAYER_VERSION=1
46+
```
47+
48+
Gives:
49+
50+
```terminaloutput
51+
Length Date Time Name
52+
--------- ---------- ----- ----
53+
1164 11-27-2025 17:55 otel-handler
54+
23942900 11-27-2025 14:16 opentelemetry-javaagent.jar
55+
--------- -------
56+
23944064 2 files
57+
```
3258

59+
### AWS Distro for OpenTelemetry (ADOT)
60+
61+
- https://github.com/aws-observability/aws-otel-lambda
3362
- ADOT is a **downstream repo of opentelemetry-lambda**
63+
- Bundles a trimmed-down version of ADOT Collector
3464
- AWS-managed OpenTelemetry Lambda layers that are preconfigured for use with AWS services and bundle the reduced ADOT Collector
3565
- ARNs like:
3666
- `arn:aws:lambda:ca-central-1:901920570463:layer:aws-otel-nodejs-amd64-ver-1-18-0:1` - "legacy" layer which includes an embedded collector.
37-
- `arn:aws:lambda:eu-central-1:615299751070:layer:AWSOpenTelemetryDistroPython:21` - new-style layer which works with CloudWatch **only**.
67+
- `arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroJava:9` - new-style layer which works with CloudWatch **only**.
68+
69+
#### What's inside - Layer with Collector embedded
70+
71+
```shell
72+
export LAYER_ARN=arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-java-agent-amd64-ver-1-32-0
73+
export LAYER_VERSION=6
74+
```
75+
76+
Gives:
77+
78+
```terminaloutput
79+
Length Date Time Name
80+
--------- ---------- ----- ----
81+
0 05-29-2025 21:21 collector-config/
82+
364 05-29-2025 21:21 collector-config/config.yaml
83+
0 05-29-2025 21:21 extensions/
84+
42049720 05-29-2025 21:21 extensions/collector
85+
23958345 05-29-2025 21:21 opentelemetry-javaagent.jar
86+
520 05-29-2025 21:21 otel-handler
87+
1164 05-29-2025 21:17 otel-handler-upstream
88+
--------- -------
89+
66010113 7 files
90+
```
3891

39-
[grafana/collector-lambda-extension](https://github.com/grafana/collector-lambda-extension/):
92+
#### What's inside - New-style layer, exports in OTLP to X-Ray by default
93+
94+
```shell
95+
export LAYER_ARN=arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroJava
96+
export LAYER_VERSION=9
97+
```
98+
99+
Gives:
100+
101+
```terminaloutput
102+
Length Date Time Name
103+
--------- ---------- ----- ----
104+
46104116 01-30-2026 20:15 aws-opentelemetry-javaagent.jar
105+
3074 01-30-2026 20:15 otel-instrument
106+
--------- -------
107+
46107190 2 files
108+
```
109+
110+
### [grafana/collector-lambda-extension](https://github.com/grafana/collector-lambda-extension/)
40111

41112
- Custom distribution of the [opentelemetry-lambda collector](https://github.com/open-telemetry/opentelemetry-lambda/tree/main/collector) layer, built for Grafana Cloud
42113
- Designed to be used in conjunction with an opentelemetry-lambda instrumentation layer, like `arn:aws:lambda:<region>:184161586896:layer:opentelemetry-nodejs-0_19_0:1`
43114
- ARNs like:
44-
- `arn:aws:lambda:eu-west-2:050451360540:layer:opentelemetry-collector-grafana-arm64-v0_138_0:2`
115+
- `arn:aws:lambda:us-east-1:050451360540:layer:opentelemetry-collector-grafana-arm64-v0_138_0:2`
116+
117+
#### What's inside
118+
119+
```shell
120+
export LAYER_ARN=arn:aws:lambda:us-east-1:050451360540:layer:opentelemetry-collector-grafana-arm64-v0_138_0
121+
export LAYER_VERSION=2
122+
```
123+
124+
Gives:
125+
126+
```terminaloutput
127+
Length Date Time Name
128+
--------- ---------- ----- ----
129+
0 10-29-2025 07:54 collector-config/
130+
1167 10-29-2025 07:54 collector-config/config.yaml
131+
0 10-29-2025 07:54 extensions/
132+
48758968 10-29-2025 07:54 extensions/collector
133+
--------- -------
134+
48760135 4 files
135+
```
136+

0 commit comments

Comments
 (0)