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

Test PR #6

Closed
wants to merge 54 commits into from
Closed

Test PR #6

wants to merge 54 commits into from

Conversation

codeboten
Copy link
Owner

No description provided.

Alex Boten and others added 30 commits April 16, 2020 12:48
Co-Authored-By: Mauricio Vásquez <[email protected]>
Co-Authored-By: Mauricio Vásquez <[email protected]>
Couple of examples were missing import statements.
…try#579)

Fixes open-telemetry#554

This makes it possible to call the instrument method with arguments that make programmatic instrumentation possible.

This also makes the children of BaseInstrumentors to be singletons. In this way regardless of how many times the programmatic instrumentation or uninstrumentation methods are called they will only be executed once.
The current version of the exporter prints everything in a single line, making
it difficult to read. It's also missing events, links and attributes.

This commit changes the console span exporter to use multiple lines and also
adds the missing information about attributes, events and links.
…elemetry#602)

Standardize the interface that trace providers are specified in integrations, as specified in open-telemetry#585.

Adding a helper to create and return a configured TracerProvider with a the span
processor and the memory exporter

api: Add tracer provider parameter to trace.get_tracer(). This eliminates the need for a helper function and boilerplate code to retrieve the appropriate tracer from a passed tracer_provider.
Alex Boten and others added 24 commits April 24, 2020 15:31
Fixes open-telemetry#613

some packages depend on the newest dev version of dbapi, which isn't published yet
when a package in a virtualenv is installed, it will attempt to install those dependencies, which searches on pypi

Installing the local package ensures that 0.7 is installed, so pip sees that and skips trying to resolve against pypi (when it won't find the version).
Pinning the version of pylint as it's causing failures in our build. Related issue: pylint-dev/pylint#3524
…y#595)

Porting the existing redis instrumentation from the contrib repo to using the OpenTelemetry API and the OpenTelemetry Auto-instrumentation Instrumentor interface.

Similiar to the sqlalchemy PR, the main thing that will need updating is to remove the patch/unpatch methods once the instrumentor interface changes have been merged.

This is replacing open-telemetry/opentelemetry-python-contrib#21

Co-authored-by: Mauricio Vásquez <[email protected]>
Co-authored-by: Leighton Chen <[email protected]>
Co-authored-by: Diego Hurtado <[email protected]>
Co-authored-by: Chris Kleinknecht <[email protected]>
Fixes open-telemetry#582

This makes the attributes of the configuration object case sensitive in order to match better the environment variables that are too.

This makes the attributes of the configuration object accept any legal Python variable name (Configuration().some_2_attribute) is valid now.

This makes non-defined attributes return None when queried instead of raising an AttributeError. This makes it easier to use the configuration object because the user won't have to check for the existence of the attribute beforehand:

if Configuration().some_attribute == "value":
    # do stuff

instead of

if hasattr(Configuration(), "some_attribute") and Configuration().some_attribute == "value":
    # do stuff
Implement the BaseInstrumentor interface to make this library compatible with the opentelemetry-auto-instr command.

There is an issue about getting the span when the global tracer provider hasn't been configured, this should be changed in the future once we extend the opentelemetry-auto-instr command to also configure the SDK.
The current Pymongo integration uses the monitoring.register() [1] to hook
the different internal calls of Pymongo. This integration doesn't allow to
unregister a monitor. This commit workaround that limitation by adding an
enable flag to the CommandTracer class and adds a logic to disable the
integration.  This solution is not perfect becasue there will be some overhead
even when the instrumentation is disabled, but that's what we can do with
the current approach.

[1] https://api.mongodb.com/python/current/api/pymongo/monitoring.html#pymongo.monitoring.register

Co-authored-by: Alex Boten <[email protected]>
…#626)

Currently builds take roughly 15 minutes, as the longest job (pypy3) isn't
kicked off until one of the other jobs is finished running (max 5 concurrent
jobs). Prioritizing the longer jobs first should reduce the build time by about
5 minutes.
@codeboten codeboten closed this Apr 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants