Skip to content

Commit c487ff7

Browse files
Don't use pkg_resources.get_distribution(..).version (#256)
* Pin upstream version of opentelemetry when running tests Fix in #254 didn't apply to tox environments that run `pip install .` `test_detects_gce` was failing with opentelemetry-sdk version 1.19.0 instead of 1.18.0 * Don't use `pkg_resources.get_distribution(..).version` Similar to discussion at googleapis/python-api-core#27 I am using opentelemetry in an environment where modules are vendored without pip. So, pkg_resources can not be used to search for a module at runtime to get its version. --------- Co-authored-by: Aaron Abbott <aaronabbott@google.com>
1 parent 9e1d393 commit c487ff7

3 files changed

Lines changed: 7 additions & 11 deletions

File tree

‎opentelemetry-exporter-gcp-monitoring/src/opentelemetry/exporter/cloud_monitoring/__init__.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
from typing import Dict, List, NoReturn, Optional, Set, Union
2020

2121
import google.auth
22-
import pkg_resources
2322
from google.api.distribution_pb2 import Distribution
2423
from google.api.label_pb2 import LabelDescriptor
2524
from google.api.metric_pb2 import Metric as GMetric
@@ -44,6 +43,7 @@
4443
from opentelemetry.resourcedetector.gcp_resource_detector._mapping import (
4544
get_monitored_resource,
4645
)
46+
from opentelemetry.sdk import version as opentelemetry_sdk_version
4747
from opentelemetry.sdk.metrics.export import (
4848
Gauge,
4949
Histogram,
@@ -62,7 +62,7 @@
6262
UNIQUE_IDENTIFIER_KEY = "opentelemetry_id"
6363
NANOS_PER_SECOND = 10**9
6464

65-
_OTEL_SDK_VERSION = pkg_resources.get_distribution("opentelemetry-sdk").version
65+
_OTEL_SDK_VERSION = opentelemetry_sdk_version.__version__
6666
_USER_AGENT = f"opentelemetry-python {_OTEL_SDK_VERSION}; google-cloud-metric-exporter {__version__}"
6767

6868
# Set user-agent metadata, see https://github.com/grpc/grpc/issues/23644 and default options

‎opentelemetry-exporter-gcp-trace/src/opentelemetry/exporter/cloud_trace/__init__.py‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@
8787

8888
import google.auth
8989
import opentelemetry.trace as trace_api
90-
import pkg_resources
9190
from google.cloud.trace_v2 import BatchWriteSpansRequest, TraceServiceClient
9291
from google.cloud.trace_v2 import types as trace_types
9392
from google.cloud.trace_v2.services.trace_service.transports import (
@@ -108,6 +107,7 @@
108107
from opentelemetry.resourcedetector.gcp_resource_detector._mapping import (
109108
get_monitored_resource,
110109
)
110+
from opentelemetry.sdk import version as opentelemetry_sdk_version
111111
from opentelemetry.sdk.resources import Resource
112112
from opentelemetry.sdk.trace import Event
113113
from opentelemetry.sdk.trace.export import (
@@ -122,7 +122,7 @@
122122

123123
logger = logging.getLogger(__name__)
124124

125-
_OTEL_SDK_VERSION = pkg_resources.get_distribution("opentelemetry-sdk").version
125+
_OTEL_SDK_VERSION = opentelemetry_sdk_version.__version__
126126
_USER_AGENT = f"opentelemetry-python {_OTEL_SDK_VERSION}; google-cloud-trace-exporter {__version__}"
127127

128128
# Set user-agent metadata, see https://github.com/grpc/grpc/issues/23644 and default options
@@ -493,9 +493,7 @@ def _extract_attributes(
493493
if add_agent_attr:
494494
attributes_dict["g.co/agent"] = _format_attribute_value(
495495
"opentelemetry-python {}; google-cloud-trace-exporter {}".format(
496-
_strip_characters(
497-
pkg_resources.get_distribution("opentelemetry-sdk").version
498-
),
496+
_strip_characters(_OTEL_SDK_VERSION),
499497
_strip_characters(__version__),
500498
)
501499
)

‎opentelemetry-exporter-gcp-trace/tests/test_cloud_trace_exporter.py‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import unittest
1717
from unittest import mock
1818

19-
import pkg_resources
2019
from google.cloud.trace_v2.services.trace_service.transports import (
2120
TraceServiceGrpcTransport,
2221
)
@@ -43,6 +42,7 @@
4342
_truncate_str,
4443
)
4544
from opentelemetry.exporter.cloud_trace.version import __version__
45+
from opentelemetry.sdk import version as opentelemetry_sdk_version
4646
from opentelemetry.sdk.resources import Resource
4747
from opentelemetry.sdk.trace import Event
4848
from opentelemetry.sdk.trace import _Span as Span
@@ -94,9 +94,7 @@ def setUpClass(cls):
9494
)
9595
cls.agent_code = _format_attribute_value(
9696
"opentelemetry-python {}; google-cloud-trace-exporter {}".format(
97-
_strip_characters(
98-
pkg_resources.get_distribution("opentelemetry-sdk").version
99-
),
97+
_strip_characters(opentelemetry_sdk_version.__version__),
10098
_strip_characters(__version__),
10199
)
102100
)

0 commit comments

Comments
 (0)