Skip to content

Commit 46068b7

Browse files
committed
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.
1 parent 8f8d2f0 commit 46068b7

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),
10098
_strip_characters(__version__),
10199
)
102100
)

0 commit comments

Comments
 (0)