Skip to content

Commit 0d4428f

Browse files
jmsundarclaude
andcommitted
chore: drop python/, link fork analysis, track otel-upstream
- Remove python/ entirely. Only nodejs layers ship; if Python autoinstrumentation is needed later, start from origin/python-instrumentation. Drop the commented-out pip block in dependabot.yml and the python/README.md link in README.md. - UPSTREAM.md: replace the scratch-path reference to the fork-research doc with the Confluence page link. Add remote-setup block (remotes aren't checked in, fresh clones only have origin). Add a third fork-points row for open-telemetry/opentelemetry-lambda with the tag (layer-nodejs/0.10.0, c9e67c4) coralogix last merged in via 436f3d0. Add sync block + note that coralogix absorbs upstream-upstream selectively (tags or cherry-picks) so the sync skill should walk by patch-id, not merge-base. - .gitignore: add .claude/worktrees/ and extend/plan-*.md so transient agent scaffolding doesn't leak into commits again. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent fc9550c commit 0d4428f

19 files changed

+39
-738
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,21 +54,6 @@ updates:
5454
patterns:
5555
- "*"
5656

57-
# - package-ecosystem: "pip"
58-
# directories:
59-
# - "/python/src/otel"
60-
# - "/python/src/otel/otel_sdk"
61-
# - "/python/src/otel/tests"
62-
# schedule:
63-
# interval: "weekly"
64-
# groups:
65-
# opentelemetry-deps-python:
66-
# patterns:
67-
# - "opentelemetry-*"
68-
# python-other:
69-
# patterns:
70-
# - "*"
71-
7257
registries:
7358
codeartifact:
7459
type: npm-registry

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,6 @@ build-sandbox/
3131

3232
.envrc
3333
mise.toml
34+
35+
.claude/worktrees/
36+
extend/plan-*.md

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ Ticket: [DEVOPS-2394](https://helloextend.atlassian.net/browse/DEVOPS-2394).
88

99
## Scope
1010

11-
This fork supports **Node.js** and **Python** runtimes only. Upstream's Java, .NET, Ruby, and Go Lambda layers have been removed — we don't ship them and don't need to track their CI.
11+
This fork ships **Node.js** Lambda layers only. Upstream's Python, Java, .NET, Ruby, and Go layers have been removed — we don't build them. If we need Python autoinstrumentation later, start from `origin/python-instrumentation` rather than reviving the upstream dir.
1212

13-
The collector extension (in `collector/`) is language-agnostic and powers both Node.js and Python layers.
13+
The collector extension (in `collector/`) is language-agnostic.
1414

1515
## Layout
1616

@@ -19,7 +19,6 @@ The collector extension (in `collector/`) is language-agnostic and powers both N
1919
| `collector/` | Go collector extension + Makefile (`package-extend` target) |
2020
| `extend/` | Extend-specific collector configs + README for consumers |
2121
| `nodejs/` | Node.js wrapper + cx-wrapper package |
22-
| `python/` | Python wrapper |
2322
| `scripts/` | Build & dev scripts (`build_nodejs_layer.sh`, `publish-sandbox.sh`, `check_size.sh`, `build-nodejs.sh`, `deploy-nodejs.sh`) |
2423
| `.github/workflows/publish-extend-otel-layer.yml` | Extend publish pipeline (Node.js + collector layer) |
2524
| `UPSTREAM.md` | Fork point + upstream sync status |
@@ -55,4 +54,4 @@ Tracked in [`UPSTREAM.md`](UPSTREAM.md). DEVOPS-2502: automate via a repo-level
5554

5655
## Contributing
5756

58-
Internal docs: [`extend/README.md`](extend/README.md), [`collector/README.md`](collector/README.md), [`nodejs/README.md`](nodejs/README.md), [`python/README.md`](python/README.md).
57+
Internal docs: [`extend/README.md`](extend/README.md), [`collector/README.md`](collector/README.md), [`nodejs/README.md`](nodejs/README.md).

UPSTREAM.md

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,66 @@ This repo is a fork of [`coralogix/opentelemetry-lambda`](https://github.com/cor
44

55
We also consume [`coralogix/opentelemetry-js-contrib`](https://github.com/coralogix/opentelemetry-js-contrib) (branch `coralogix-autoinstrumentation`) at build time — pinned separately in `scripts/publish-sandbox.sh` and `.github/workflows/publish-extend-otel-layer.yml`.
66

7-
Why we fork cx-contrib: upstream OpenTelemetry has declined the Lambda-specific PRs (trigger subsystem, early-spans-on-timeout, `cx.internal.*` reconciliation attrs — see contrib#1349, contrib#1295, contrib#1309). See `~/workspace/scratch/otel-fork-research/summary.md` for the full rationale.
7+
Why we fork cx-contrib: upstream OpenTelemetry has declined the Lambda-specific PRs (trigger subsystem, early-spans-on-timeout, `cx.internal.*` reconciliation attrs — see contrib#1349, contrib#1295, contrib#1309). Full rationale: [DEVOPS-2394: OTel Lambda fork analysis](https://helloextend.atlassian.net/wiki/spaces/ENG/pages/3529080850/DEVOPS-2394+OTel+Lambda+fork+analysis).
88

99
## Fork points
1010

1111
| Upstream | Branch | Fork SHA | Forked on |
1212
|---|---|---|---|
1313
| `coralogix/opentelemetry-lambda` | `coralogix-nodejs-autoinstrumentation` | `8838714287b2d8a1d1c037b5f098f9bd96e8fdd3` | 2026-03-12 |
1414
| `coralogix/opentelemetry-js-contrib` | `coralogix-autoinstrumentation` | `3a9691a699ddd06c3644eec70bf4b50cc4217ba3` | 2026-04-18 |
15+
| `open-telemetry/opentelemetry-lambda` | `main` @ tag `layer-nodejs/0.10.0` | `c9e67c4d8e208000ddbcbab0b8cfe56fc5cf58b6` | 2024-09-24 |
1516

16-
Upstream remote in this repo is configured as `upstream``coralogix/opentelemetry-lambda`:
17+
The `open-telemetry/...` row is transitive — last time Coralogix pulled from OTel-upstream into `coralogix-nodejs-autoinstrumentation` was merge commit [`436f3d0`](https://github.com/coralogix/opentelemetry-lambda/commit/436f3d0) (`Merge tag 'layer-nodejs/0.10.0' into merge`, 2024-10-28), whose second parent is `c9e67c4`. To catch up, start walking OTel-upstream from that SHA:
18+
19+
```
20+
https://github.com/open-telemetry/opentelemetry-lambda/compare/c9e67c4...main
21+
```
22+
23+
~416 OTel-`main` commits have landed since. Coralogix merges selectively — whole tags (`436f3d0`) or cherry-picks that rewrite SHAs — so don't rely on `git merge-base` alone when checking what's already in. The sync skill (DEVOPS-2502) should diff by `git patch-id` across the walk.
24+
25+
## Remote setup (one-time, per clone)
26+
27+
Remotes aren't checked into the repo. After cloning, run:
1728

1829
```bash
19-
git remote -v | grep upstream
20-
# upstream https://github.com/coralogix/opentelemetry-lambda.git (fetch)
21-
# upstream https://github.com/coralogix/opentelemetry-lambda.git (push)
30+
git remote add upstream https://github.com/coralogix/opentelemetry-lambda.git
31+
git remote add otel-upstream https://github.com/open-telemetry/opentelemetry-lambda.git
32+
git fetch upstream otel-upstream
2233
```
2334

2435
## Manual sync process
2536

26-
Until the sync skill lands (see DEVOPS-2502), upstream changes are pulled in manually:
37+
Until the sync skill lands (see DEVOPS-2502), upstream changes are pulled in manually. Walk both upstreams — coralogix adds CX-specific features; open-telemetry adds core fixes/security patches that coralogix hasn't yet absorbed.
38+
39+
**coralogix/opentelemetry-lambda** (direct parent):
2740

2841
```bash
2942
git fetch upstream
3043
git log 8838714287b2d8a1d1c037b5f098f9bd96e8fdd3..upstream/coralogix-nodejs-autoinstrumentation --oneline
31-
# review each commit for relevance — most upstream churn is CX-internal or
32-
# language-specific (Java/Ruby/.NET/Go) and doesn't affect our layer
44+
# most churn here is CX-internal or language-specific (Java/Ruby/.NET/Go) — skip those
3345
```
3446

35-
After pulling upstream changes, bump the fork SHA row in this file and note the date.
47+
**open-telemetry/opentelemetry-lambda** (upstream-upstream):
3648

37-
For `coralogix/opentelemetry-js-contrib`:
49+
```bash
50+
git fetch otel-upstream
51+
git log c9e67c4d8e208000ddbcbab0b8cfe56fc5cf58b6..otel-upstream/main --oneline -- nodejs/ collector/
52+
# scope the path filter to dirs we ship; Node wrapper + collector only
53+
```
54+
55+
**coralogix/opentelemetry-js-contrib** (build-time dep):
3856

3957
```bash
40-
cd .build-cache/opentelemetry-js-contrib # or your override path
58+
cd .build-cache/opentelemetry-js-contrib # or your OPENTELEMETRY_JS_CONTRIB_PATH override
4159
git fetch origin
4260
git log 3a9691a699ddd06c3644eec70bf4b50cc4217ba3..origin/coralogix-autoinstrumentation --oneline
4361
```
4462

45-
When bumping, update **both** places in sync:
63+
After pulling changes, bump the matching row in the fork-points table. When bumping the cx-contrib SHA specifically, update **three** places in sync:
64+
4665
- `scripts/publish-sandbox.sh``CX_CONTRIB_SHA`
66+
- `scripts/build-nodejs.sh``CX_CONTRIB_SHA`
4767
- `.github/workflows/publish-extend-otel-layer.yml``ref:` on the cx-contrib checkout step
4868
- This file's fork-points table
4969

@@ -55,5 +75,6 @@ The following language-specific upstream directories were removed in this fork
5575
- `java/`
5676
- `ruby/`
5777
- `go/` (Go-language Lambda layer; the Go collector build in `collector/` is unrelated)
78+
- `python/` — if Python autoinstrumentation is needed, start from `origin/python-instrumentation`, not the upstream dir
5879

5980
If upstream eventually adds new languages, decide fork-in vs drop at sync time.

python/README.md

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

python/src/build.sh

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

python/src/otel/Dockerfile

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

python/src/otel/Makefile

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

python/src/otel/otel_sdk/nodeps-requirements.txt

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

python/src/otel/otel_sdk/otel-instrument

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

0 commit comments

Comments
 (0)