Skip to content

Commit 02bcc17

Browse files
xrmxlzchen
andauthored
opentelemetry-exporter-otlp-proto-http: enable typechecking (#5028)
Co-authored-by: Leighton Chen <lechen@microsoft.com>
1 parent 2448295 commit 02bcc17

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_common/__init__.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919

2020
from opentelemetry.sdk.environment_variables import (
2121
_OTEL_PYTHON_EXPORTER_OTLP_HTTP_CREDENTIAL_PROVIDER,
22-
_OTEL_PYTHON_EXPORTER_OTLP_HTTP_LOGS_CREDENTIAL_PROVIDER,
23-
_OTEL_PYTHON_EXPORTER_OTLP_HTTP_METRICS_CREDENTIAL_PROVIDER,
24-
_OTEL_PYTHON_EXPORTER_OTLP_HTTP_TRACES_CREDENTIAL_PROVIDER,
2522
)
2623
from opentelemetry.util._importlib_metadata import entry_points
2724

@@ -36,9 +33,9 @@ def _is_retryable(resp: requests.Response) -> bool:
3633

3734
def _load_session_from_envvar(
3835
cred_envvar: Literal[
39-
_OTEL_PYTHON_EXPORTER_OTLP_HTTP_LOGS_CREDENTIAL_PROVIDER,
40-
_OTEL_PYTHON_EXPORTER_OTLP_HTTP_TRACES_CREDENTIAL_PROVIDER,
41-
_OTEL_PYTHON_EXPORTER_OTLP_HTTP_METRICS_CREDENTIAL_PROVIDER,
36+
"OTEL_PYTHON_EXPORTER_OTLP_HTTP_LOGS_CREDENTIAL_PROVIDER",
37+
"OTEL_PYTHON_EXPORTER_OTLP_HTTP_TRACES_CREDENTIAL_PROVIDER",
38+
"OTEL_PYTHON_EXPORTER_OTLP_HTTP_METRICS_CREDENTIAL_PROVIDER",
4239
],
4340
) -> Optional[requests.Session]:
4441
_credential_env = environ.get(

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,11 @@ def _split_metrics_data(
443443

444444
# Rebuild metric dict generically using same approach as initial creation
445445
field_name = metric.WhichOneof("data")
446+
if field_name is None:
447+
_logger.warning(
448+
"Tried to split and export an unsupported metric type. Skipping."
449+
)
450+
continue
446451
data_container = getattr(metric, field_name)
447452
metric_dict = {
448453
"name": metric.name,
@@ -552,13 +557,13 @@ def _get_split_resource_metrics_pb2(
552557
new_resource_metrics = pb2.ResourceMetrics(
553558
resource=resource_metrics.get("resource"),
554559
scope_metrics=[],
555-
schema_url=resource_metrics.get("schema_url"),
560+
schema_url=resource_metrics.get("schema_url") or "",
556561
)
557562
for scope_metrics in resource_metrics.get("scope_metrics", []):
558563
new_scope_metrics = pb2.ScopeMetrics(
559564
scope=scope_metrics.get("scope"),
560565
metrics=[],
561-
schema_url=scope_metrics.get("schema_url"),
566+
schema_url=scope_metrics.get("schema_url") or "",
562567
)
563568

564569
for metric in scope_metrics.get("metrics", []):

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ include = [
120120
"opentelemetry-sdk",
121121
"opentelemetry-proto-json",
122122
"exporter/opentelemetry-exporter-otlp-proto-grpc",
123+
"exporter/opentelemetry-exporter-otlp-proto-http",
123124
"codegen/opentelemetry-codegen-json"
124125
]
125126

@@ -129,6 +130,7 @@ exclude = [
129130
"opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/",
130131
"opentelemetry-sdk/benchmarks",
131132
"exporter/opentelemetry-exporter-otlp-proto-grpc/tests",
133+
"exporter/opentelemetry-exporter-otlp-proto-http/tests",
132134
]
133135

134136
# When packages are correct typed add them to the strict list

0 commit comments

Comments
 (0)