Skip to content

Commit 8c69947

Browse files
committed
Remove Configuration
1 parent 09ac955 commit 8c69947

File tree

28 files changed

+98
-581
lines changed

28 files changed

+98
-581
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v0.16b1...HEAD)
88

9+
- Remove Configuration
10+
([#1523](https://github.com/open-telemetry/opentelemetry-python/pull/1523))
11+
912
- Add support for OTLP v0.6.0
1013
([#1472](https://github.com/open-telemetry/opentelemetry-python/pull/1472))
1114

exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/__init__.py

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -65,24 +65,14 @@
6565
"""
6666
# pylint: disable=protected-access
6767

68-
import base64
6968
import logging
70-
import socket
71-
from typing import Optional, Union
72-
73-
from grpc import (
74-
ChannelCredentials,
75-
insecure_channel,
76-
secure_channel,
77-
ssl_channel_credentials,
78-
)
79-
from thrift.protocol import TBinaryProtocol, TCompactProtocol
80-
from thrift.transport import THttpClient, TTransport
69+
from os import environ
70+
from typing import Optional
71+
72+
from grpc import ChannelCredentials, insecure_channel, secure_channel
8173

82-
from opentelemetry.configuration import Configuration
8374
from opentelemetry.exporter.jaeger import util
8475
from opentelemetry.exporter.jaeger.gen import model_pb2
85-
from opentelemetry.exporter.jaeger.gen.agent import Agent as agent
8676
from opentelemetry.exporter.jaeger.gen.collector_pb2 import PostSpansRequest
8777
from opentelemetry.exporter.jaeger.gen.collector_pb2_grpc import (
8878
CollectorServiceStub,
@@ -92,9 +82,7 @@
9282
from opentelemetry.exporter.jaeger.translate import Translate
9383
from opentelemetry.exporter.jaeger.translate.protobuf import ProtobufTranslator
9484
from opentelemetry.exporter.jaeger.translate.thrift import ThriftTranslator
95-
from opentelemetry.sdk.trace.export import Span, SpanExporter, SpanExportResult
96-
from opentelemetry.trace import SpanKind
97-
from opentelemetry.trace.status import StatusCode
85+
from opentelemetry.sdk.trace.export import SpanExporter, SpanExportResult
9886

9987
DEFAULT_AGENT_HOST_NAME = "localhost"
10088
DEFAULT_AGENT_PORT = 6831
@@ -142,30 +130,36 @@ def __init__(
142130
self.service_name = service_name
143131
self.agent_host_name = _parameter_setter(
144132
param=agent_host_name,
145-
env_variable=Configuration().EXPORTER_JAEGER_AGENT_HOST,
133+
env_variable=environ.get("OTEL_EXPORTER_JAEGER_AGENT_HOST"),
146134
default=DEFAULT_AGENT_HOST_NAME,
147135
)
136+
137+
environ_agent_port = environ.get("OTEL_EXPORTER_JAEGER_AGENT_PORT")
138+
environ_agent_port = (
139+
int(environ_agent_port) if environ_agent_port is not None else None
140+
)
141+
148142
self.agent_port = _parameter_setter(
149143
param=agent_port,
150-
env_variable=Configuration().EXPORTER_JAEGER_AGENT_PORT,
144+
env_variable=environ_agent_port,
151145
default=DEFAULT_AGENT_PORT,
152146
)
153147
self._agent_client = AgentClientUDP(
154148
host_name=self.agent_host_name, port=self.agent_port
155149
)
156150
self.collector_endpoint = _parameter_setter(
157151
param=collector_endpoint,
158-
env_variable=Configuration().EXPORTER_JAEGER_ENDPOINT,
152+
env_variable=environ.get("OTEL_EXPORTER_JAEGER_ENDPOINT"),
159153
default=None,
160154
)
161155
self.username = _parameter_setter(
162156
param=username,
163-
env_variable=Configuration().EXPORTER_JAEGER_USER,
157+
env_variable=environ.get("OTEL_EXPORTER_JAEGER_USER"),
164158
default=None,
165159
)
166160
self.password = _parameter_setter(
167161
param=password,
168-
env_variable=Configuration().EXPORTER_JAEGER_PASSWORD,
162+
env_variable=environ.get("OTEL_EXPORTER_JAEGER_PASSWORD"),
169163
default=None,
170164
)
171165
self._collector = None

exporter/opentelemetry-exporter-jaeger/src/opentelemetry/exporter/jaeger/util.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@
1313
# limitations under the License.
1414

1515
import logging
16+
from os import environ
1617

1718
from grpc import ChannelCredentials, ssl_channel_credentials
1819

19-
from opentelemetry.configuration import Configuration
20-
2120
logger = logging.getLogger(__name__)
2221

2322
DEFAULT_INSECURE = False
@@ -26,7 +25,7 @@
2625
def _get_insecure(param):
2726
if param is not None:
2827
return param
29-
insecure_env = Configuration().get("EXPORTER_JAEGER_INSECURE", None)
28+
insecure_env = environ.get("OTEL_EXPORTER_JAEGER_INSECURE")
3029
if insecure_env is not None:
3130
return insecure_env.lower() == "true"
3231
return DEFAULT_INSECURE
@@ -45,7 +44,7 @@ def _load_credential_from_file(path) -> ChannelCredentials:
4544
def _get_credentials(param):
4645
if param is not None:
4746
return param
48-
creds_env = Configuration().get("EXPORTER_JAEGER_CERTIFICATE", None)
47+
creds_env = environ.get("OTEL_EXPORTER_JAEGER_CERTIFICATE")
4948
if creds_env:
5049
return _load_credential_from_file(creds_env)
5150
return ssl_channel_credentials()

exporter/opentelemetry-exporter-jaeger/tests/test_jarget_exporter_protobuf.py renamed to exporter/opentelemetry-exporter-jaeger/tests/test_jaeger_exporter_protobuf.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import opentelemetry.exporter.jaeger.gen.model_pb2 as model_pb2
2323
import opentelemetry.exporter.jaeger.translate.protobuf as pb_translator
2424
from opentelemetry import trace as trace_api
25-
from opentelemetry.configuration import Configuration
2625
from opentelemetry.exporter.jaeger import JaegerSpanExporter
2726
from opentelemetry.exporter.jaeger.translate import Translate
2827
from opentelemetry.sdk import trace
@@ -45,16 +44,10 @@ def setUp(self):
4544
self._test_span.start()
4645
self._test_span.end()
4746
# pylint: disable=protected-access
48-
Configuration._reset()
49-
50-
def tearDown(self):
51-
# pylint: disable=protected-access
52-
Configuration._reset()
5347

5448
def test_constructor_by_environment_variables(self):
5549
"""Test using Environment Variables."""
5650
# pylint: disable=protected-access
57-
Configuration._reset()
5851
service = "my-opentelemetry-jaeger"
5952

6053
collector_endpoint = "localhost:14250"

exporter/opentelemetry-exporter-jaeger/tests/test_jaeger_exporter_thrift.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
# pylint:disable=import-error
2121
import opentelemetry.exporter.jaeger as jaeger_exporter
2222
from opentelemetry import trace as trace_api
23-
from opentelemetry.configuration import Configuration
2423
from opentelemetry.exporter.jaeger.gen.jaeger import ttypes as jaeger
2524
from opentelemetry.exporter.jaeger.translate import Translate
2625
from opentelemetry.exporter.jaeger.translate.thrift import ThriftTranslator
@@ -44,11 +43,6 @@ def setUp(self):
4443
self._test_span.start()
4544
self._test_span.end()
4645
# pylint: disable=protected-access
47-
Configuration._reset()
48-
49-
def tearDown(self):
50-
# pylint: disable=protected-access
51-
Configuration._reset()
5246

5347
def test_constructor_default(self):
5448
# pylint: disable=protected-access

exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/exporter.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import logging
1919
from abc import ABC, abstractmethod
2020
from collections.abc import Mapping, Sequence
21+
from os import environ
2122
from time import sleep
2223
from typing import Any, Callable, Dict, Generic, List, Optional
2324
from typing import Sequence as TypingSequence
@@ -35,7 +36,6 @@
3536
ssl_channel_credentials,
3637
)
3738

38-
from opentelemetry.configuration import Configuration
3939
from opentelemetry.proto.common.v1.common_pb2 import AnyValue, KeyValue
4040
from opentelemetry.proto.resource.v1.resource_pb2 import Resource
4141
from opentelemetry.sdk.resources import Resource as SDKResource
@@ -159,23 +159,23 @@ def __init__(
159159

160160
endpoint = (
161161
endpoint
162-
or Configuration().EXPORTER_OTLP_ENDPOINT
162+
or environ.get("OTEL_EXPORTER_OTLP_ENDPOINT")
163163
or "localhost:55680"
164164
)
165165

166166
if insecure is None:
167-
insecure = Configuration().EXPORTER_OTLP_INSECURE
167+
insecure = environ.get("OTEL_EXPORTER_OTLP_INSECURE")
168168
if insecure is None:
169169
insecure = False
170170

171-
self._headers = headers or Configuration().EXPORTER_OTLP_HEADERS
171+
self._headers = headers or environ.get("OTEL_EXPORTER_OTLP_HEADERS")
172172
if isinstance(self._headers, str):
173173
self._headers = tuple(
174174
tuple(item.split("=")) for item in self._headers.split(",")
175175
)
176176
self._timeout = (
177177
timeout
178-
or Configuration().EXPORTER_OTLP_TIMEOUT
178+
or int(environ.get("OTEL_EXPORTER_OTLP_TIMEOUT", 0))
179179
or 10 # default: 10 seconds
180180
)
181181
self._collector_span_kwargs = None
@@ -188,7 +188,9 @@ def __init__(
188188
):
189189
compression_algorithm = Compression.Gzip
190190
else:
191-
compression_str = Configuration().EXPORTER_OTLP_INSECURE or None
191+
compression_str = (
192+
environ.get("OTLP_EXPORTER_OTLP_INSECURE") or None
193+
)
192194
if compression_str is None:
193195
compression_algorithm = Compression.NoCompression
194196
elif (
@@ -210,13 +212,13 @@ def __init__(
210212
# secure mode
211213
if (
212214
credentials is None
213-
and Configuration().EXPORTER_OTLP_CERTIFICATE is None
215+
and environ.get("OTLP_EXPORTER_OTLP_CERTIFICATE") is None
214216
):
215217
# use the default location chosen by gRPC runtime
216218
credentials = ssl_channel_credentials()
217219
else:
218220
credentials = credentials or _load_credential_from_file(
219-
Configuration().EXPORTER_OTLP_CERTIFICATE
221+
environ.get("OTLP_EXPORTER_OTLP_CERTIFICATE")
220222
)
221223
self._client = self._stub(
222224
secure_channel(

exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/metrics_exporter/__init__.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
"""OTLP Metrics Exporter"""
1616

1717
import logging
18+
from os import environ
1819
from typing import List, Optional, Sequence, Type, TypeVar
1920

2021
from grpc import ChannelCredentials
2122

22-
from opentelemetry.configuration import Configuration
2323
from opentelemetry.exporter.otlp.exporter import (
2424
OTLPExporterMixin,
2525
_get_resource_data,
@@ -143,26 +143,31 @@ def __init__(
143143
timeout: Optional[int] = None,
144144
):
145145
if insecure is None:
146-
insecure = Configuration().EXPORTER_OTLP_METRIC_INSECURE
146+
insecure = environ.get("OTEL_EXPORTER_OTLP_METRIC_INSECURE")
147147

148148
if (
149149
not insecure
150-
and Configuration().EXPORTER_OTLP_METRIC_CERTIFICATE is not None
150+
and environ.get("OTEL_EXPORTER_OTLP_METRIC_CERTIFICATE")
151+
is not None
151152
):
152153
credentials = credentials or _load_credential_from_file(
153-
Configuration().EXPORTER_OTLP_METRIC_CERTIFICATE
154+
environ.get("OTEL_EXPORTER_OTLP_METRIC_CERTIFICATE")
154155
)
155156

157+
environ_timeout = environ.get("OTEL_EXPORTER_OTLP_METRIC_TIMEOUT")
158+
environ_timeout = (
159+
int(environ_timeout) if environ_timeout is not None else None
160+
)
161+
156162
super().__init__(
157163
**{
158164
"endpoint": endpoint
159-
or Configuration().EXPORTER_OTLP_METRIC_ENDPOINT,
165+
or environ.get("OTEL_EXPORTER_OTLP_METRIC_ENDPOINT"),
160166
"insecure": insecure,
161167
"credentials": credentials,
162168
"headers": headers
163-
or Configuration().EXPORTER_OTLP_METRIC_HEADERS,
164-
"timeout": timeout
165-
or Configuration().EXPORTER_OTLP_METRIC_TIMEOUT,
169+
or environ.get("OTEL_EXPORTER_OTLP_METRIC_HEADERS"),
170+
"timeout": timeout or environ_timeout,
166171
}
167172
)
168173

exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/trace_exporter/__init__.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
"""OTLP Span Exporter"""
1515

1616
import logging
17+
from os import environ
1718
from typing import Optional, Sequence
1819

1920
from grpc import ChannelCredentials
2021

21-
from opentelemetry.configuration import Configuration
2222
from opentelemetry.exporter.otlp.exporter import (
2323
OTLPExporterMixin,
2424
_get_resource_data,
@@ -73,26 +73,30 @@ def __init__(
7373
timeout: Optional[int] = None,
7474
):
7575
if insecure is None:
76-
insecure = Configuration().EXPORTER_OTLP_SPAN_INSECURE
76+
insecure = environ.get("OTEL_EXPORTER_OTLP_SPAN_INSECURE")
7777

7878
if (
7979
not insecure
80-
and Configuration().EXPORTER_OTLP_SPAN_CERTIFICATE is not None
80+
and environ.get("OTEL_EXPORTER_OTLP_SPAN_CERTIFICATE") is not None
8181
):
8282
credentials = credentials or _load_credential_from_file(
83-
Configuration().EXPORTER_OTLP_SPAN_CERTIFICATE
83+
environ.get("OTEL_EXPORTER_OTLP_SPAN_CERTIFICATE")
8484
)
8585

86+
environ_timeout = environ.get("OTEL_EXPORTER_OTLP_SPAN_TIMEOUT")
87+
environ_timeout = (
88+
int(environ_timeout) if environ_timeout is not None else None
89+
)
90+
8691
super().__init__(
8792
**{
8893
"endpoint": endpoint
89-
or Configuration().EXPORTER_OTLP_SPAN_ENDPOINT,
94+
or environ.get("OTEL_EXPORTER_OTLP_SPAN_ENDPOINT"),
9095
"insecure": insecure,
9196
"credentials": credentials,
9297
"headers": headers
93-
or Configuration().EXPORTER_OTLP_SPAN_HEADERS,
94-
"timeout": timeout
95-
or Configuration().EXPORTER_OTLP_SPAN_TIMEOUT,
98+
or environ.get("OTEL_EXPORTER_OTLP_SPAN_HEADERS"),
99+
"timeout": timeout or environ_timeout,
96100
}
97101
)
98102

exporter/opentelemetry-exporter-otlp/tests/test_otlp_metric_exporter.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
from grpc import ChannelCredentials
2121

22-
from opentelemetry.configuration import Configuration
2322
from opentelemetry.exporter.otlp.metrics_exporter import OTLPMetricsExporter
2423
from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import (
2524
ExportMetricsServiceRequest,
@@ -62,10 +61,6 @@ def setUp(self): # pylint: disable=arguments-differ
6261
self.meter = MeterProvider(resource=self.resource,).get_meter(
6362
"name", "version"
6463
)
65-
Configuration._reset() # pylint: disable=protected-access
66-
67-
def tearDown(self):
68-
Configuration._reset() # pylint: disable=protected-access
6964

7065
@patch.dict(
7166
"os.environ",

exporter/opentelemetry-exporter-otlp/tests/test_otlp_trace_exporter.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
from google.rpc.error_details_pb2 import RetryInfo
2323
from grpc import ChannelCredentials, StatusCode, server
2424

25-
from opentelemetry.configuration import Configuration
2625
from opentelemetry.exporter.otlp.trace_exporter import OTLPSpanExporter
2726
from opentelemetry.proto.collector.trace.v1.trace_service_pb2 import (
2827
ExportTraceServiceRequest,
@@ -160,11 +159,8 @@ def setUp(self):
160159
self.span.start()
161160
self.span.end()
162161

163-
Configuration._reset() # pylint: disable=protected-access
164-
165162
def tearDown(self):
166163
self.server.stop(None)
167-
Configuration._reset() # pylint: disable=protected-access
168164

169165
@patch.dict(
170166
"os.environ",

0 commit comments

Comments
 (0)