From 2bdeec8b1f1e69e0549ff6a959a1efde4c816a8c Mon Sep 17 00:00:00 2001 From: Alex Boten <223565+codeboten@users.noreply.github.com> Date: Thu, 1 Oct 2026 12:56:50 -0700 Subject: [PATCH 1/6] Add SDK wrapper project proposal Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com> --- projects/focused-sdk.md | 90 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 projects/focused-sdk.md diff --git a/projects/focused-sdk.md b/projects/focused-sdk.md new file mode 100644 index 000000000..f3fdde546 --- /dev/null +++ b/projects/focused-sdk.md @@ -0,0 +1,90 @@ +# OpenTelemetry SDK Wrapper + +## Background and description + +This project started as an investigation to mitigate some issues identified around memory allocations and global interpreter lock (GIL) contention in Python. As a result of testing an implementation that binds [Python to a C++ SDK](https://github.com/open-telemetry/community/issues/3483), a potential reduction in heap allocations by 10-15% and as much as 40% was observed. + +The project proposed here provides performance the benefits of an underlying SDK across Python initially and possibly other languages in the future. A secondary benefit, though not a goal, would be to allow end users and API implementers to experiment with features already supported in the underlying SDK, that may not yet be implemented in a native SDK. + +### Current challenges + +Reference implementation SDKs in every language offer the flexibility that includes every feature supported by OpenTelemetry. In some implementations, this comes at the cost of: + +* increased resource consumption (memory usage, artifact size) +* added complexity + +* in Python specifically, the contention with the global interpreter lock which may cause instrumented applications to introduce latency into the application + +This impacts end users by increasing the overhead required to use OpenTelemetry out of the box. + +### Goals, objectives, and requirements + +The OTel community is currently working across many languages to support reference implementations of all the features in every language. We have always proposed that the API/SDK separation would make it possible for end-users to swap SDKs without having to re-instrument their application/instrumentations code. The proposal for this project is to leverage that model as well as existing OpenTelemetry component to provide alternative SDKs for specific use-cases. + +An objective is to prove this approach as part of the project. A requirement of the project is that the performance improvements be worth the investment of time to produce and maintain artifacts moving forward. If the investigations from the project finds that the performance improvements are only applicable to one language or the improvements are negligible, then the deliverables may be changed. + +A non-goal of this project is to replace existing SDK implementations. There are always different use-cases for end users and a native implementation that offers flexibility is likely to always be needed. + +## Deliverables + +There are a few different approaches available to solve the issue. Phase 1 of the project will provide: + +* a library or artifact that can be used behind an existing language API. The initial proposal is to support at least Python, but support for other languages is not out of scope. +* benchmarks to compare the existing native SDK with the proposed alternative artifact +* documentation of the opinions and limitations of what this artifact supports, including decisions made to not support certain protocols or features of the native SDK + +The research for this project may produce small improvements to existing native SDKs, but it is not a requirement. + +## Staffing / Help Wanted + +### Industry outreach (Optional) + +The following vendors are interested in improving this area: + +* Dash0 (@ocelotl) +* Grafana Labs (@codeboten) +* Honeycomb (@MikeGoldsmith) + +### SIG + +New SIG needed with a new name + +### Required staffing + +#### Project Leads(s) + +* Alex Boten (@codeboten) +* Diego Hurtado (@ocelotl) + +#### Other Staffing + +Names and expected contribution of any other contributors. +Please also include maintainers or approvers from other SIGs committed to reviewing prototypes. + +### Sponsorship +See [Project Sponsorship](/project-management.md#project-sponsorship) + +#### TC Sponsor + +Alex Boten (@codeboten) + +#### GC Liaison + +TODO + +## Expected Timeline + +* Months 1-3: investigate various approaches to solving the problem and produce benchmarks for each comparing the performance in Python, Ruby, and Node +* Months 4-12: produce artifacts capable of providing users with alternative implementations + +## Labels (Optional) + +TODO + +## GitHub Project (Post-Approval) + +TODO: add project link + +## SIG Meetings, Roadmap, and Other Info (Post-Approval) + +TODO: add details here From 4c2e55a5733561ead01af52f144eae7b7a8b970a Mon Sep 17 00:00:00 2001 From: Alex Boten <223565+codeboten@users.noreply.github.com> Date: Fri, 2 Oct 2026 07:41:16 -0700 Subject: [PATCH 2/6] cspell Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com> --- .cspell.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.cspell.yaml b/.cspell.yaml index e933aee4c..a53a7e044 100644 --- a/.cspell.yaml +++ b/.cspell.yaml @@ -65,6 +65,7 @@ words: - Hendrik - Hostmetrics - Hrabusa + - Hurtado - Instrgen - Jaana - Jhin From 37bd18c8dfa6a3a19f861cb838a13547b5c31f5d Mon Sep 17 00:00:00 2001 From: Alex Boten <223565+codeboten@users.noreply.github.com> Date: Mon, 5 Oct 2026 07:15:03 -0700 Subject: [PATCH 3/6] Apply suggestion from @ocelotl Co-authored-by: Diego Hurtado --- projects/focused-sdk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/focused-sdk.md b/projects/focused-sdk.md index f3fdde546..d4b6502bf 100644 --- a/projects/focused-sdk.md +++ b/projects/focused-sdk.md @@ -4,7 +4,7 @@ This project started as an investigation to mitigate some issues identified around memory allocations and global interpreter lock (GIL) contention in Python. As a result of testing an implementation that binds [Python to a C++ SDK](https://github.com/open-telemetry/community/issues/3483), a potential reduction in heap allocations by 10-15% and as much as 40% was observed. -The project proposed here provides performance the benefits of an underlying SDK across Python initially and possibly other languages in the future. A secondary benefit, though not a goal, would be to allow end users and API implementers to experiment with features already supported in the underlying SDK, that may not yet be implemented in a native SDK. +The project proposed here provides the performance benefits of an underlying SDK across Python initially and possibly other languages in the future. A secondary benefit, though not a goal, would be to allow end users and API implementers to experiment with features already supported in the underlying SDK, that may not yet be implemented in a native SDK. ### Current challenges From f8e78a1511ae600d505f1521370aca7db56eec8c Mon Sep 17 00:00:00 2001 From: Alex Boten <223565+codeboten@users.noreply.github.com> Date: Mon, 5 Oct 2026 14:51:45 -0700 Subject: [PATCH 4/6] Update projects/focused-sdk.md Co-authored-by: Diego Hurtado --- projects/focused-sdk.md | 1 - 1 file changed, 1 deletion(-) diff --git a/projects/focused-sdk.md b/projects/focused-sdk.md index d4b6502bf..3893ba381 100644 --- a/projects/focused-sdk.md +++ b/projects/focused-sdk.md @@ -33,7 +33,6 @@ There are a few different approaches available to solve the issue. Phase 1 of th * benchmarks to compare the existing native SDK with the proposed alternative artifact * documentation of the opinions and limitations of what this artifact supports, including decisions made to not support certain protocols or features of the native SDK -The research for this project may produce small improvements to existing native SDKs, but it is not a requirement. ## Staffing / Help Wanted From 5be7c9371722796a75f9da2d16d3ec92a5c56b10 Mon Sep 17 00:00:00 2001 From: Alex Boten <223565+codeboten@users.noreply.github.com> Date: Thu, 8 Oct 2026 10:33:44 -0700 Subject: [PATCH 5/6] add reyang as tc sponsor Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com> --- projects/focused-sdk.md | 1 + 1 file changed, 1 insertion(+) diff --git a/projects/focused-sdk.md b/projects/focused-sdk.md index 3893ba381..7797658c6 100644 --- a/projects/focused-sdk.md +++ b/projects/focused-sdk.md @@ -66,6 +66,7 @@ See [Project Sponsorship](/project-management.md#project-sponsorship) #### TC Sponsor Alex Boten (@codeboten) +Reiley Yang (@reyang) #### GC Liaison From 4328c95511f82b89f7ecca33eb26ba63776ef251 Mon Sep 17 00:00:00 2001 From: Alex Boten <223565+codeboten@users.noreply.github.com> Date: Thu, 8 Oct 2026 10:34:50 -0700 Subject: [PATCH 6/6] update other staffing Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com> --- projects/focused-sdk.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/projects/focused-sdk.md b/projects/focused-sdk.md index 7797658c6..9eb347494 100644 --- a/projects/focused-sdk.md +++ b/projects/focused-sdk.md @@ -57,8 +57,7 @@ New SIG needed with a new name #### Other Staffing -Names and expected contribution of any other contributors. -Please also include maintainers or approvers from other SIGs committed to reviewing prototypes. +Engagement with the backing SDK is expected, level of involvement TBD. ### Sponsorship See [Project Sponsorship](/project-management.md#project-sponsorship)