Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research integrating auto- and manual instrumentations #300

Closed
Oberon00 opened this issue Nov 21, 2019 · 2 comments · Fixed by #327
Closed

Research integrating auto- and manual instrumentations #300

Oberon00 opened this issue Nov 21, 2019 · 2 comments · Fixed by #327
Assignees
Labels
discussion Issue or PR that needs/is extended discussion.

Comments

@Oberon00
Copy link
Member

The https://github.com/open-telemetry/opentelemetry-auto-instr-python/ (currently actually https://github.com/lightstep/opentelemetry-auto-instr-python/) repository contains an auto-injecting & auto-instrumenting agent (injection = executing code automatically at interpreter startup; instrumentation = modifying code to automatically create traces at runtime). We also currently have some integrations in our ext/ folder (e.g. for WSGI, requests, mongodb) and in PRs (MySQL, PostreSQL, flask, ...). We should look into how we can integrate these with the agent. Probably we should start by looking at https://github.com/lightstep/opentelemetry-auto-instr-python/tree/master/oteltrace/contrib and comparing our existing (or proposed) integrations with the packages there.

It seems that the interface that the agent uses is a single parameterless patch function: https://github.com/lightstep/opentelemetry-auto-instr-python/blob/9c401c58a54640891c9c59f9f69663288e93e6e7/oteltrace/monkey.py#L186-L194

Basically we can start out with that exact interface and look whether our or the auto-integration looks like a better starting point. Then we can integrate any parts that are still better from one in the other and make sure it follows the auto-instrumentation interface and OpenTracing semantic conventions.

Some integrations, e.g., wsgi, may need special handling (there is no equivalent to patch in ext-wsgi, but it might be usable from contrib.django.patch.)

@Oberon00 Oberon00 added discussion Issue or PR that needs/is extended discussion. ext labels Nov 21, 2019
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Nov 25, 2019
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Dec 10, 2019
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Dec 11, 2019
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Dec 18, 2019
@ocelotl ocelotl mentioned this issue Dec 18, 2019
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Jan 3, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Jan 7, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Jan 7, 2020
@toumorokoshi
Copy link
Member

@ocelotl has made a lot of progress in this area, and I think feedback can also be sent over to his first PR with a proof of concept: #327

ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Jan 27, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Feb 3, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Feb 5, 2020
@c24t
Copy link
Member

c24t commented Feb 6, 2020

See open-telemetry/opentelemetry-python-contrib#1, which adds datadog's python integrations to the new repo.

ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Feb 17, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Feb 19, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Feb 20, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Feb 24, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Feb 28, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Mar 2, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Mar 16, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Mar 17, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Mar 17, 2020
ocelotl added a commit to ocelotl/opentelemetry-python that referenced this issue Mar 18, 2020
srikanthccv pushed a commit to srikanthccv/opentelemetry-python that referenced this issue Nov 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Issue or PR that needs/is extended discussion.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants