open-telemetry / open-telemetry/opentelemetry-python

C++/python interoperability

Open
#2,691 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request
Dominant language
Python
Stars
2.6k
Forks
1k
Avg merge
4d 15h
Merged PRs (30d)
19

Description

My (quite large) employer requires distributed tracing in mixed cpp/python environments. From what I've read though, it appears that opentelemetry-python and opentelemetry (the cpp project) are completely separate implementations, correct?

This existing ticket describes the problem we're facing: https://github.com/open-telemetry/community/discussions/734

Do you have any thoughts on how we could most easily implement interoperability between the cpp and python projects? I am interested in interoperability specifically, rather than, say, improving performance by binding the entirety of opentelemetry to python as a separate project. Ideally there would be some way to bind only what is minimally necessary to correctly share state between the two implementations.

Is your feature request related to a problem?
Lack of ability to trace from cpp code through to python and vice versa.

Describe the solution you'd like
Minimally required py bindings to the cpp project that are compatible with the existing opentelemetry-python project.

Describe alternatives you've considered
There don't appear to be any.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked community discussion 734 and comparing the opentelemetry-python and opentelemetry C++ projects. Determine the minimal state-sharing boundary needed for mixed C++/Python tracing and how it could remain compatible with opentelemetry-python. Done means a concrete interoperability design and agreed implementation scope, but this issue does not name files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
distributed-systems, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.