Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
toumorokoshi committed Jul 22, 2020
2 parents 5c2a704 + e9527da commit 1b4fbcb
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 96 deletions.
27 changes: 17 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,8 @@ jobs:
docs:
executor: py38
steps:
- checkout
- setup_tox
- restore_tox_cache
- run: tox -e docs
- save_tox_cache
- run_tox_scenario:
pattern: docs

docker-tests:
machine:
Expand All @@ -92,11 +89,17 @@ jobs:
lint:
executor: py38
steps:
- checkout
- setup_tox
- restore_tox_cache
- run: tox -e lint
- save_tox_cache
- run_tox_scenario:
pattern: lint

build-py38:
parameters:
package:
type: string
executor: py38
steps:
- run_tox_scenario:
pattern: py38-<< parameters.package >>

build-py34:
parameters:
Expand Down Expand Up @@ -131,6 +134,10 @@ jobs:
workflows:
circleci-build:
jobs:
- build-py38:
matrix:
parameters:
package: ["core", "exporter", "instrumentation", "tracecontext", "mypy", "mypyinstalled"]
- build:
matrix:
parameters:
Expand Down
37 changes: 0 additions & 37 deletions .travis.yml

This file was deleted.

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
<img alt="license" src="https://img.shields.io/badge/license-Apache_2.0-green.svg?style=for-the-badge">
</a>
<br/>
<a href="https://travis-ci.org/open-telemetry/opentelemetry-python">
<img alt="Build Status" src="https://travis-ci.org/open-telemetry/opentelemetry-python.svg?branch=master">
<a href="https://circleci.com/gh/open-telemetry/opentelemetry-python">
<img alt="Build Status" src="https://circleci.com/gh/open-telemetry/opentelemetry-python.svg?style=shield">
</a>
<img alt="Beta" src="https://img.shields.io/badge/status-beta-informational?logo=data:image/png;base64,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">
</p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ def fn_task_parameters(user, force_logout=False):
)


@pytest.mark.skip(reason="inconsistent test results")
def test_concurrent_delays(celery_app, memory_exporter):
@celery_app.task
def fn_task():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,18 @@
import opentracing
from deprecated import deprecated

import opentelemetry.trace as trace_api
from opentelemetry import propagators
from opentelemetry.context import Context
from opentelemetry.correlationcontext import get_correlation, set_correlation
from opentelemetry.ext.opentracing_shim import util
from opentelemetry.ext.opentracing_shim.version import __version__
from opentelemetry.trace import DefaultSpan, set_span_in_context
from opentelemetry.trace import (
INVALID_SPAN_CONTEXT,
DefaultSpan,
Link,
get_current_span,
set_span_in_context,
)

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -130,6 +137,8 @@ class SpanContextShim(opentracing.SpanContext):

def __init__(self, otel_context):
self._otel_context = otel_context
# Context is being used here since it must be immutable.
self._baggage = Context()

def unwrap(self):
"""Returns the wrapped :class:`opentelemetry.trace.SpanContext`
Expand All @@ -144,17 +153,9 @@ def unwrap(self):

@property
def baggage(self):
"""Implements the ``baggage`` property from the base class.
"""Implements the ``baggage`` property from the base class."""

Warning:
Not implemented yet.
"""

logger.warning(
"Using unimplemented property baggage on class %s.",
self.__class__.__name__,
)
# TODO: Implement.
return self._baggage


class SpanShim(opentracing.Span):
Expand Down Expand Up @@ -270,31 +271,17 @@ def log(self, **kwargs):
def log_event(self, event, payload=None):
super().log_event(event, payload=payload)

def set_baggage_item(self, key, value): # pylint:disable=unused-argument
"""Implements the ``set_baggage_item()`` method from the base class.
Warning:
Not implemented yet.
"""

logger.warning(
"Calling unimplemented method set_baggage_item() on class %s",
self.__class__.__name__,
def set_baggage_item(self, key, value):
"""Implements the ``set_baggage_item`` method from the base class."""
# pylint: disable=protected-access
self._context._baggage = set_correlation(
key, value, context=self._context._baggage
)
# TODO: Implement.

def get_baggage_item(self, key): # pylint:disable=unused-argument
"""Implements the ``get_baggage_item()`` method from the base class.
Warning:
Not implemented yet.
"""

logger.warning(
"Calling unimplemented method get_baggage_item() on class %s",
self.__class__.__name__,
)
# TODO: Implement.
def get_baggage_item(self, key):
"""Implements the ``get_baggage_item`` method from the base class."""
# pylint: disable=protected-access
return get_correlation(key, context=self._context._baggage)


class ScopeShim(opentracing.Scope):
Expand Down Expand Up @@ -469,8 +456,8 @@ def active(self):
shim and is likely to be handled in future versions.
"""

span = trace_api.get_current_span()
if span.get_context() == trace_api.INVALID_SPAN_CONTEXT:
span = get_current_span()
if span.get_context() == INVALID_SPAN_CONTEXT:
return None

span_context = SpanContextShim(span.get_context())
Expand Down Expand Up @@ -643,7 +630,7 @@ def start_span(
links = []
if references:
for ref in references:
links.append(trace_api.Link(ref.referenced_context.unwrap()))
links.append(Link(ref.referenced_context.unwrap()))

# The OpenTracing API expects time values to be `float` values which
# represent the number of seconds since the epoch. OpenTelemetry
Expand Down Expand Up @@ -699,10 +686,10 @@ def get_as_list(dict_object, key):

propagator = propagators.get_global_httptextformat()
ctx = propagator.extract(get_as_list, carrier)
span = trace_api.get_current_span(ctx)
span = get_current_span(ctx)
if span is not None:
otel_context = span.get_context()
else:
otel_context = trace_api.INVALID_SPAN_CONTEXT
otel_context = INVALID_SPAN_CONTEXT

return SpanContextShim(otel_context)
36 changes: 29 additions & 7 deletions ext/opentelemetry-ext-opentracing-shim/tests/test_shim.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,17 @@

import time
from unittest import TestCase
from unittest.mock import Mock

import opentracing

import opentelemetry.ext.opentracing_shim as opentracingshim
from opentelemetry import propagators, trace
from opentelemetry.ext.opentracing_shim import util
from opentelemetry.ext.opentracing_shim import (
SpanContextShim,
SpanShim,
create_tracer,
util,
)
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.test.mock_httptextformat import (
MockHTTPTextFormat,
Expand All @@ -36,7 +41,7 @@ class TestShim(TestCase):
def setUp(self):
"""Create an OpenTelemetry tracer and a shim before every test case."""
trace.set_tracer_provider(TracerProvider())
self.shim = opentracingshim.create_tracer(trace.get_tracer_provider())
self.shim = create_tracer(trace.get_tracer_provider())

@classmethod
def setUpClass(cls):
Expand Down Expand Up @@ -448,7 +453,7 @@ def test_span_context(self):
"""Test construction of `SpanContextShim` objects."""

otel_context = trace.SpanContext(1234, 5678, is_remote=False)
context = opentracingshim.SpanContextShim(otel_context)
context = SpanContextShim(otel_context)

self.assertIsInstance(context, opentracing.SpanContext)
self.assertEqual(context.unwrap().trace_id, 1234)
Expand All @@ -473,7 +478,7 @@ def test_inject_http_headers(self):
otel_context = trace.SpanContext(
trace_id=1220, span_id=7478, is_remote=False
)
context = opentracingshim.SpanContextShim(otel_context)
context = SpanContextShim(otel_context)

headers = {}
self.shim.inject(context, opentracing.Format.HTTP_HEADERS, headers)
Expand All @@ -486,7 +491,7 @@ def test_inject_text_map(self):
otel_context = trace.SpanContext(
trace_id=1220, span_id=7478, is_remote=False
)
context = opentracingshim.SpanContextShim(otel_context)
context = SpanContextShim(otel_context)

# Verify Format.TEXT_MAP
text_map = {}
Expand All @@ -500,7 +505,7 @@ def test_inject_binary(self):
otel_context = trace.SpanContext(
trace_id=1220, span_id=7478, is_remote=False
)
context = opentracingshim.SpanContextShim(otel_context)
context = SpanContextShim(otel_context)

# Verify exception for non supported binary format.
with self.assertRaises(opentracing.UnsupportedFormatException):
Expand Down Expand Up @@ -550,3 +555,20 @@ def test_extract_binary(self):
# Verify exception for non supported binary format.
with self.assertRaises(opentracing.UnsupportedFormatException):
self.shim.extract(opentracing.Format.BINARY, bytearray())

def test_baggage(self):

span_context_shim = SpanContextShim(
trace.SpanContext(1234, 5678, is_remote=False)
)

baggage = span_context_shim.baggage

with self.assertRaises(ValueError):
baggage[1] = 3

span_shim = SpanShim(Mock(), span_context_shim, Mock())

span_shim.set_baggage_item(1, 2)

self.assertTrue(span_shim.get_baggage_item(1), 2)

0 comments on commit 1b4fbcb

Please sign in to comment.