Skip to content

Commit 09ac955

Browse files
authored
Move idsgenerator from api into sdk package (#1514)
1 parent cd39fc1 commit 09ac955

File tree

16 files changed

+54
-46
lines changed

16 files changed

+54
-46
lines changed

Diff for: .github/workflows/test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ env:
1010
# Otherwise, set variable to the commit of your branch on
1111
# opentelemetry-python-contrib which is compatible with these Core repo
1212
# changes.
13-
CONTRIB_REPO_SHA: master
13+
CONTRIB_REPO_SHA: 32cac7a9ff6c831aa0e9514bb38c430fce819141
1414

1515
jobs:
1616
build:

Diff for: CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3636
([#1285](https://github.com/open-telemetry/opentelemetry-python/pull/1285))
3737
- Added `__repr__` for `DefaultSpan`, added `trace_flags` to `__repr__` of
3838
`SpanContext` ([#1485](https://github.com/open-telemetry/opentelemetry-python/pull/1485)])
39+
3940
### Changed
4041
- `opentelemetry-exporter-zipkin` Updated zipkin exporter status code and error tag
4142
([#1486](https://github.com/open-telemetry/opentelemetry-python/pull/1486))
@@ -46,6 +47,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4647
([#1507](https://github.com/open-telemetry/opentelemetry-python/pull/1507))
4748
- `opentelemetry-exporter-jaeger` Updated Jaeger exporter status code tag
4849
([#1488](https://github.com/open-telemetry/opentelemetry-python/pull/1488))
50+
- `opentelemetry-api` `opentelemety-sdk` Moved `idsgenerator` into sdk
51+
([#1514](https://github.com/open-telemetry/opentelemetry-python/pull/1514))
4952

5053
## [0.16b1](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.16b1) - 2020-11-26
5154
### Added

Diff for: docs/api/trace.ids_generator.rst

-7
This file was deleted.

Diff for: docs/api/trace.rst

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ Submodules
88

99
trace.status
1010
trace.span
11-
trace.ids_generator
1211

1312
Module contents
1413
---------------

Diff for: docs/sdk/trace.ids_generator.rst

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
opentelemetry.sdk.trace.ids_generator
2+
=====================================
3+
4+
.. automodule:: opentelemetry.sdk.trace.ids_generator
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:

Diff for: docs/sdk/trace.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
opentelemetry.sdk.trace package
2-
==========================================
2+
===============================
33

44
Submodules
55
----------
66

77
.. toctree::
88

99
trace.export
10+
trace.ids_generator
1011
trace.sampling
1112
util.instrumentation
1213

Diff for: opentelemetry-api/setup.cfg

-2
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,6 @@ opentelemetry_tracer_provider =
5858
opentelemetry_propagator =
5959
tracecontext = opentelemetry.trace.propagation.tracecontext:TraceContextTextMapPropagator
6060
baggage = opentelemetry.baggage.propagation:BaggagePropagator
61-
opentelemetry_ids_generator =
62-
random = opentelemetry.trace.ids_generator:RandomIdsGenerator
6361

6462
[options.extras_require]
6563
test =

Diff for: opentelemetry-api/src/opentelemetry/trace/__init__.py

-3
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@
8181
from logging import getLogger
8282

8383
from opentelemetry.context.context import Context
84-
from opentelemetry.trace.ids_generator import IdsGenerator, RandomIdsGenerator
8584
from opentelemetry.trace.propagation import (
8685
get_current_span,
8786
set_span_in_context,
@@ -459,7 +458,6 @@ def get_tracer_provider() -> TracerProvider:
459458
__all__ = [
460459
"DEFAULT_TRACE_OPTIONS",
461460
"DEFAULT_TRACE_STATE",
462-
"IdsGenerator",
463461
"INVALID_SPAN",
464462
"INVALID_SPAN_CONTEXT",
465463
"INVALID_SPAN_ID",
@@ -469,7 +467,6 @@ def get_tracer_provider() -> TracerProvider:
469467
"DefaultTracerProvider",
470468
"Link",
471469
"LinkBase",
472-
"RandomIdsGenerator",
473470
"Span",
474471
"SpanContext",
475472
"SpanKind",

Diff for: opentelemetry-sdk/setup.cfg

+2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ opentelemetry_exporter =
6060
console_metrics = opentelemetry.sdk.metrics.export:ConsoleMetricsExporter
6161
opentelemetry_configurator =
6262
sdk_configurator = opentelemetry.sdk.configuration:Configurator
63+
opentelemetry_ids_generator =
64+
random = opentelemetry.sdk.trace.ids_generator:RandomIdsGenerator
6365

6466
[options.extras_require]
6567
test =

Diff for: opentelemetry-sdk/src/opentelemetry/sdk/configuration/__init__.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
BatchExportSpanProcessor,
2828
SpanExporter,
2929
)
30+
from opentelemetry.sdk.trace.ids_generator import IdsGenerator
3031

3132
logger = getLogger(__file__)
3233

@@ -64,7 +65,7 @@ def _get_exporter_names() -> Sequence[str]:
6465

6566

6667
def _init_tracing(
67-
exporters: Sequence[SpanExporter], ids_generator: trace.IdsGenerator
68+
exporters: Sequence[SpanExporter], ids_generator: IdsGenerator
6869
):
6970
service_name = _get_service_name()
7071
provider = TracerProvider(
@@ -137,15 +138,15 @@ def _import_exporters(
137138
return trace_exporters, metric_exporters
138139

139140

140-
def _import_ids_generator(ids_generator_name: str) -> trace.IdsGenerator:
141+
def _import_ids_generator(ids_generator_name: str) -> IdsGenerator:
141142
# pylint: disable=unbalanced-tuple-unpacking
142143
[
143144
(ids_generator_name, ids_generator_impl)
144145
] = _import_tracer_provider_config_components(
145146
[ids_generator_name.strip()], "opentelemetry_ids_generator"
146147
)
147148

148-
if issubclass(ids_generator_impl, trace.IdsGenerator):
149+
if issubclass(ids_generator_impl, IdsGenerator):
149150
return ids_generator_impl
150151

151152
raise RuntimeError("{0} is not an IdsGenerator".format(ids_generator_name))

Diff for: opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@
4141
from opentelemetry.sdk import util
4242
from opentelemetry.sdk.resources import Resource
4343
from opentelemetry.sdk.trace import sampling
44+
from opentelemetry.sdk.trace.ids_generator import (
45+
IdsGenerator,
46+
RandomIdsGenerator,
47+
)
4448
from opentelemetry.sdk.util import BoundedDict, BoundedList
4549
from opentelemetry.sdk.util.instrumentation import InstrumentationInfo
4650
from opentelemetry.trace import SpanContext
@@ -733,7 +737,7 @@ def __init__(
733737
span_processor: Union[
734738
SynchronousMultiSpanProcessor, ConcurrentMultiSpanProcessor
735739
],
736-
ids_generator: trace_api.IdsGenerator,
740+
ids_generator: IdsGenerator,
737741
instrumentation_info: InstrumentationInfo,
738742
) -> None:
739743
self.sampler = sampler
@@ -893,13 +897,13 @@ def __init__(
893897
active_span_processor: Union[
894898
SynchronousMultiSpanProcessor, ConcurrentMultiSpanProcessor
895899
] = None,
896-
ids_generator: trace_api.IdsGenerator = None,
900+
ids_generator: IdsGenerator = None,
897901
):
898902
self._active_span_processor = (
899903
active_span_processor or SynchronousMultiSpanProcessor()
900904
)
901905
if ids_generator is None:
902-
self.ids_generator = trace_api.RandomIdsGenerator()
906+
self.ids_generator = RandomIdsGenerator()
903907
else:
904908
self.ids_generator = ids_generator
905909
self.resource = resource

Diff for: opentelemetry-sdk/tests/configuration/test_configurator.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@
2424
_init_tracing,
2525
)
2626
from opentelemetry.sdk.resources import Resource
27-
from opentelemetry.trace.ids_generator import RandomIdsGenerator
27+
from opentelemetry.sdk.trace.ids_generator import (
28+
IdsGenerator,
29+
RandomIdsGenerator,
30+
)
2831

2932

3033
class Provider:
@@ -54,12 +57,12 @@ class OTLPExporter:
5457
pass
5558

5659

57-
class IdsGenerator:
58-
pass
59-
60-
6160
class CustomIdsGenerator(IdsGenerator):
62-
pass
61+
def generate_span_id(self):
62+
pass
63+
64+
def generate_trace_id(self):
65+
pass
6366

6467

6568
class IterEntryPoint:
@@ -130,9 +133,6 @@ def test_trace_init_otlp(self):
130133
del environ["OTEL_SERVICE_NAME"]
131134

132135
@patch.dict(environ, {"OTEL_IDS_GENERATOR": "custom_ids_generator"})
133-
@patch(
134-
"opentelemetry.sdk.configuration.trace.IdsGenerator", new=IdsGenerator,
135-
)
136136
@patch("opentelemetry.sdk.configuration.iter_entry_points")
137137
def test_trace_init_custom_ids_generator(self, mock_iter_entry_points):
138138
mock_iter_entry_points.configure_mock(

Diff for: opentelemetry-sdk/tests/trace/propagation/test_b3_format.py

+10-9
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from unittest.mock import Mock, patch
1717

1818
import opentelemetry.sdk.trace as trace
19+
import opentelemetry.sdk.trace.ids_generator as ids_generator
1920
import opentelemetry.sdk.trace.propagation.b3_format as b3_format
2021
import opentelemetry.trace as trace_api
2122
from opentelemetry.context import get_current
@@ -37,7 +38,7 @@ def get_child_parent_new_carrier(old_carrier):
3738
"child",
3839
trace_api.SpanContext(
3940
parent_span_context.trace_id,
40-
trace_api.RandomIdsGenerator().generate_span_id(),
41+
ids_generator.RandomIdsGenerator().generate_span_id(),
4142
is_remote=False,
4243
trace_flags=parent_span_context.trace_flags,
4344
trace_state=parent_span_context.trace_state,
@@ -55,15 +56,15 @@ def get_child_parent_new_carrier(old_carrier):
5556
class TestB3Format(unittest.TestCase):
5657
@classmethod
5758
def setUpClass(cls):
58-
ids_generator = trace_api.RandomIdsGenerator()
59+
id_generator = ids_generator.RandomIdsGenerator()
5960
cls.serialized_trace_id = b3_format.format_trace_id(
60-
ids_generator.generate_trace_id()
61+
id_generator.generate_trace_id()
6162
)
6263
cls.serialized_span_id = b3_format.format_span_id(
63-
ids_generator.generate_span_id()
64+
id_generator.generate_span_id()
6465
)
6566
cls.serialized_parent_id = b3_format.format_span_id(
66-
ids_generator.generate_span_id()
67+
id_generator.generate_span_id()
6768
)
6869

6970
def setUp(self) -> None:
@@ -255,10 +256,10 @@ def test_missing_trace_id(self):
255256
self.assertEqual(span_context.trace_id, trace_api.INVALID_TRACE_ID)
256257

257258
@patch(
258-
"opentelemetry.sdk.trace.propagation.b3_format.trace.RandomIdsGenerator.generate_trace_id"
259+
"opentelemetry.sdk.trace.ids_generator.RandomIdsGenerator.generate_trace_id"
259260
)
260261
@patch(
261-
"opentelemetry.sdk.trace.propagation.b3_format.trace.RandomIdsGenerator.generate_span_id"
262+
"opentelemetry.sdk.trace.ids_generator.RandomIdsGenerator.generate_span_id"
262263
)
263264
def test_invalid_trace_id(
264265
self, mock_generate_span_id, mock_generate_trace_id
@@ -281,10 +282,10 @@ def test_invalid_trace_id(
281282
self.assertEqual(span_context.span_id, 2)
282283

283284
@patch(
284-
"opentelemetry.sdk.trace.propagation.b3_format.trace.RandomIdsGenerator.generate_trace_id"
285+
"opentelemetry.sdk.trace.ids_generator.RandomIdsGenerator.generate_trace_id"
285286
)
286287
@patch(
287-
"opentelemetry.sdk.trace.propagation.b3_format.trace.RandomIdsGenerator.generate_span_id"
288+
"opentelemetry.sdk.trace.ids_generator.RandomIdsGenerator.generate_span_id"
288289
)
289290
def test_invalid_span_id(
290291
self, mock_generate_span_id, mock_generate_trace_id

Diff for: opentelemetry-sdk/tests/trace/propagation/test_jaeger_propagator.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from unittest.mock import Mock
1717

1818
import opentelemetry.sdk.trace as trace
19+
import opentelemetry.sdk.trace.ids_generator as ids_generator
1920
import opentelemetry.sdk.trace.propagation.jaeger_propagator as jaeger
2021
import opentelemetry.trace as trace_api
2122
from opentelemetry import baggage
@@ -40,7 +41,7 @@ def get_context_new_carrier(old_carrier, carrier_baggage=None):
4041
"child",
4142
trace_api.SpanContext(
4243
parent_span_context.trace_id,
43-
trace_api.RandomIdsGenerator().generate_span_id(),
44+
ids_generator.RandomIdsGenerator().generate_span_id(),
4445
is_remote=False,
4546
trace_flags=parent_span_context.trace_flags,
4647
trace_state=parent_span_context.trace_state,
@@ -65,10 +66,10 @@ def _format_uber_trace_id(trace_id, span_id, parent_span_id, flags):
6566
class TestJaegerPropagator(unittest.TestCase):
6667
@classmethod
6768
def setUpClass(cls):
68-
ids_generator = trace_api.RandomIdsGenerator()
69-
cls.trace_id = ids_generator.generate_trace_id()
70-
cls.span_id = ids_generator.generate_span_id()
71-
cls.parent_span_id = ids_generator.generate_span_id()
69+
id_generator = ids_generator.RandomIdsGenerator()
70+
cls.trace_id = id_generator.generate_trace_id()
71+
cls.span_id = id_generator.generate_span_id()
72+
cls.parent_span_id = id_generator.generate_span_id()
7273
cls.serialized_uber_trace_id = _format_uber_trace_id(
7374
cls.trace_id, cls.span_id, cls.parent_span_id, 11
7475
)

Diff for: opentelemetry-sdk/tests/trace/test_trace.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from opentelemetry.context import Context
2929
from opentelemetry.sdk import resources, trace
3030
from opentelemetry.sdk.trace import Resource, sampling
31+
from opentelemetry.sdk.trace.ids_generator import RandomIdsGenerator
3132
from opentelemetry.sdk.util import ns_to_iso_str
3233
from opentelemetry.sdk.util.instrumentation import InstrumentationInfo
3334
from opentelemetry.trace.status import StatusCode
@@ -715,7 +716,7 @@ def test_invalid_event_attributes(self):
715716
self.assertEqual(root.events[3].attributes, {"attr2": (1, 2)})
716717

717718
def test_links(self):
718-
ids_generator = trace_api.RandomIdsGenerator()
719+
ids_generator = RandomIdsGenerator()
719720
other_context1 = trace_api.SpanContext(
720721
trace_id=ids_generator.generate_trace_id(),
721722
span_id=ids_generator.generate_span_id(),
@@ -1241,7 +1242,7 @@ def tearDown(self):
12411242
def test_span_environment_limits(self):
12421243
reload(trace)
12431244
tracer = new_tracer()
1244-
ids_generator = trace_api.RandomIdsGenerator()
1245+
ids_generator = RandomIdsGenerator()
12451246
some_links = [
12461247
trace_api.Link(
12471248
trace_api.SpanContext(

0 commit comments

Comments
 (0)