Skip to content

Commit 956e5ad

Browse files
authored
Refactors for constants (#36696)
1 parent 25b5c8f commit 956e5ad

File tree

8 files changed

+54
-33
lines changed

8 files changed

+54
-33
lines changed

sdk/monitor/azure-monitor-opentelemetry-exporter/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010

1111
### Other Changes
1212

13+
- Update instrumentation constants info
14+
([#36696](https://github.com/Azure/azure-sdk-for-python/pull/36696))
15+
1316
## 1.0.0b28 (2024-07-29)
1417

1518
### Other Changes

sdk/monitor/azure-monitor-opentelemetry-exporter/azure/monitor/opentelemetry/exporter/_constants.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,15 @@
153153
"urllib",
154154
"urllib3",
155155
_AZURE_SDK_OPENTELEMETRY_NAME,
156+
# Instrumentations below this line have not been added to statsbeat report yet
156157
"cassandra",
157158
"tortoiseorm",
159+
"aiohttp-server",
160+
"asyncio",
161+
"mysqlclient",
162+
"psycopg",
163+
"threading",
164+
"wsgi",
158165
]
159166

160167
_INSTRUMENTATIONS_BIT_MAP = {_INSTRUMENTATIONS_LIST[i]: _BASE**i for i in range(len(_INSTRUMENTATIONS_LIST))}
@@ -174,6 +181,7 @@
174181

175182
# Temporary solution for checking which instrumentations support metric collection
176183
_INSTRUMENTATION_SUPPORTING_METRICS_LIST = (
184+
"opentelemetry.instrumentation.asgi",
177185
"opentelemetry.instrumentation.django",
178186
"opentelemetry.instrumentation.falcon",
179187
"opentelemetry.instrumentation.fastapi",

sdk/monitor/azure-monitor-opentelemetry-exporter/azure/monitor/opentelemetry/exporter/_utils.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import warnings
1212
from typing import Callable, Dict, Any
1313

14+
from opentelemetry.semconv.attributes.service_attributes import SERVICE_NAME
1415
from opentelemetry.semconv.resource import ResourceAttributes
1516
from opentelemetry.sdk.resources import Resource
1617
from opentelemetry.sdk.util import ns_to_iso_str
@@ -212,7 +213,7 @@ def _create_telemetry_item(timestamp: int) -> TelemetryItem:
212213
def _populate_part_a_fields(resource: Resource):
213214
tags = {}
214215
if resource and resource.attributes:
215-
service_name = resource.attributes.get(ResourceAttributes.SERVICE_NAME)
216+
service_name = resource.attributes.get(SERVICE_NAME)
216217
service_namespace = resource.attributes.get(ResourceAttributes.SERVICE_NAMESPACE)
217218
service_instance_id = resource.attributes.get(ResourceAttributes.SERVICE_INSTANCE_ID)
218219
device_id = resource.attributes.get(ResourceAttributes.DEVICE_ID)

sdk/monitor/azure-monitor-opentelemetry-exporter/azure/monitor/opentelemetry/exporter/export/logs/_exporter.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44
from typing import Optional, Sequence, Any
55

66
from opentelemetry._logs.severity import SeverityNumber
7-
from opentelemetry.semconv.trace import SpanAttributes
7+
from opentelemetry.semconv.attributes.exception_attributes import (
8+
EXCEPTION_ESCAPED,
9+
EXCEPTION_MESSAGE,
10+
EXCEPTION_STACKTRACE,
11+
EXCEPTION_TYPE,
12+
)
813
from opentelemetry.sdk._logs import LogData
914
from opentelemetry.sdk._logs.export import LogExporter, LogExportResult
1015

@@ -126,10 +131,10 @@ def _convert_log_to_envelope(log_data: LogData) -> TelemetryItem:
126131
)
127132
exc_type = exc_message = stack_trace = None
128133
if log_record.attributes:
129-
exc_type = log_record.attributes.get(SpanAttributes.EXCEPTION_TYPE)
130-
exc_message = log_record.attributes.get(SpanAttributes.EXCEPTION_MESSAGE)
134+
exc_type = log_record.attributes.get(EXCEPTION_TYPE)
135+
exc_message = log_record.attributes.get(EXCEPTION_MESSAGE)
131136
# pylint: disable=line-too-long
132-
stack_trace = log_record.attributes.get(SpanAttributes.EXCEPTION_STACKTRACE)
137+
stack_trace = log_record.attributes.get(EXCEPTION_STACKTRACE)
133138
severity_level = _get_severity_level(log_record.severity_number)
134139

135140
# Event telemetry
@@ -206,10 +211,10 @@ def _is_ignored_attribute(key: str) -> bool:
206211

207212
_IGNORED_ATTRS = frozenset(
208213
(
209-
SpanAttributes.EXCEPTION_TYPE,
210-
SpanAttributes.EXCEPTION_MESSAGE,
211-
SpanAttributes.EXCEPTION_STACKTRACE,
212-
SpanAttributes.EXCEPTION_ESCAPED,
214+
EXCEPTION_TYPE,
215+
EXCEPTION_MESSAGE,
216+
EXCEPTION_STACKTRACE,
217+
EXCEPTION_ESCAPED,
213218
_APPLICATION_INSIGHTS_EVENT_MARKER_ATTRIBUTE,
214219
)
215220
)

sdk/monitor/azure-monitor-opentelemetry-exporter/tests/logs/test_logs.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88
from functools import partial
99

1010
# pylint: disable=import-error
11-
from opentelemetry.semconv.trace import SpanAttributes
11+
from opentelemetry.semconv.attributes.exception_attributes import (
12+
EXCEPTION_MESSAGE,
13+
EXCEPTION_STACKTRACE,
14+
EXCEPTION_TYPE,
15+
)
1216
from opentelemetry.sdk import _logs
1317
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
1418
from opentelemetry.sdk.resources import Resource
@@ -136,9 +140,9 @@ def setUpClass(cls):
136140
),
137141
attributes={
138142
"test": "attribute",
139-
SpanAttributes.EXCEPTION_TYPE: "ZeroDivisionError",
140-
SpanAttributes.EXCEPTION_MESSAGE: "division by zero",
141-
SpanAttributes.EXCEPTION_STACKTRACE: 'Traceback (most recent call last):\n File "test.py", line 38, in <module>\n raise ZeroDivisionError()\nZeroDivisionError\n'
143+
EXCEPTION_TYPE: "ZeroDivisionError",
144+
EXCEPTION_MESSAGE: "division by zero",
145+
EXCEPTION_STACKTRACE: 'Traceback (most recent call last):\n File "test.py", line 38, in <module>\n raise ZeroDivisionError()\nZeroDivisionError\n'
142146
},
143147
),
144148
InstrumentationScope("test_name"),
@@ -157,9 +161,9 @@ def setUpClass(cls):
157161
),
158162
attributes={
159163
"test": "attribute",
160-
SpanAttributes.EXCEPTION_TYPE: "ZeroDivisionError",
161-
SpanAttributes.EXCEPTION_MESSAGE: "division by zero",
162-
SpanAttributes.EXCEPTION_STACKTRACE: 'Traceback (most recent call last):\n File "test.py", line 38, in <module>\n raise ZeroDivisionError()\nZeroDivisionError\n'
164+
EXCEPTION_TYPE: "ZeroDivisionError",
165+
EXCEPTION_MESSAGE: "division by zero",
166+
EXCEPTION_STACKTRACE: 'Traceback (most recent call last):\n File "test.py", line 38, in <module>\n raise ZeroDivisionError()\nZeroDivisionError\n'
163167
},
164168
),
165169
InstrumentationScope("test_name"),
@@ -178,9 +182,9 @@ def setUpClass(cls):
178182
),
179183
attributes={
180184
"test": "attribute",
181-
SpanAttributes.EXCEPTION_TYPE: "",
182-
SpanAttributes.EXCEPTION_MESSAGE: "",
183-
SpanAttributes.EXCEPTION_STACKTRACE: ""
185+
EXCEPTION_TYPE: "",
186+
EXCEPTION_MESSAGE: "",
187+
EXCEPTION_STACKTRACE: ""
184188
},
185189
),
186190
InstrumentationScope("test_name"),
@@ -199,9 +203,9 @@ def setUpClass(cls):
199203
),
200204
attributes={
201205
"test": "attribute",
202-
SpanAttributes.EXCEPTION_TYPE: "",
203-
SpanAttributes.EXCEPTION_MESSAGE: "",
204-
SpanAttributes.EXCEPTION_STACKTRACE: ""
206+
EXCEPTION_TYPE: "",
207+
EXCEPTION_MESSAGE: "",
208+
EXCEPTION_STACKTRACE: ""
205209
},
206210
),
207211
InstrumentationScope("test_name"),

sdk/monitor/azure-monitor-opentelemetry-exporter/tests/metrics/test_metrics.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
from opentelemetry.sdk.resources import Resource
1212
from opentelemetry.sdk.metrics.export import (
1313
AggregationTemporality,
14-
Gauge,
15-
Histogram,
1614
HistogramDataPoint,
1715
Metric,
1816
MetricExportResult,

sdk/monitor/azure-monitor-opentelemetry-exporter/tests/test_base_exporter.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@
1616
BaseExporter,
1717
ExportResult,
1818
)
19-
from azure.monitor.opentelemetry.exporter.statsbeat._state import (
20-
_REQUESTS_MAP,
21-
_STATSBEAT_STATE,
22-
)
19+
from azure.monitor.opentelemetry.exporter.statsbeat._state import _REQUESTS_MAP
2320
from azure.monitor.opentelemetry.exporter._constants import (
2421
_REQ_DURATION_NAME,
2522
_REQ_EXCEPTION_NAME,

sdk/monitor/azure-monitor-opentelemetry-exporter/tests/trace/test_trace.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@
1313
from opentelemetry.sdk import trace, resources
1414
from opentelemetry.sdk.trace.export import SpanExportResult
1515
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
16-
from opentelemetry.semconv.trace import SpanAttributes
16+
from opentelemetry.semconv.attributes.exception_attributes import (
17+
EXCEPTION_ESCAPED,
18+
EXCEPTION_MESSAGE,
19+
EXCEPTION_STACKTRACE,
20+
EXCEPTION_TYPE,
21+
)
1722
from opentelemetry.trace import Link, SpanContext, SpanKind
1823
from opentelemetry.trace.status import Status, StatusCode
1924

@@ -1180,10 +1185,10 @@ def test_span_events_to_envelopes_exception(self):
11801185
kind=SpanKind.CLIENT,
11811186
)
11821187
attributes = {
1183-
SpanAttributes.EXCEPTION_TYPE: "ZeroDivisionError",
1184-
SpanAttributes.EXCEPTION_MESSAGE: "zero division error",
1185-
SpanAttributes.EXCEPTION_STACKTRACE: "Traceback: ZeroDivisionError, division by zero",
1186-
SpanAttributes.EXCEPTION_ESCAPED: "True",
1188+
EXCEPTION_TYPE: "ZeroDivisionError",
1189+
EXCEPTION_MESSAGE: "zero division error",
1190+
EXCEPTION_STACKTRACE: "Traceback: ZeroDivisionError, division by zero",
1191+
EXCEPTION_ESCAPED: "True",
11871192
}
11881193
span.add_event("exception", attributes, time)
11891194
span.start()

0 commit comments

Comments
 (0)