rename type to asgi.event.type in ASGI instrumentation (#2300)

This commit is contained in:
Samuel Colvin
2024-04-04 18:10:30 +01:00
committed by GitHub
parent 955b483f7a
commit 805c72ceff
3 changed files with 24 additions and 14 deletions

View File

@ -7,8 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
### Breaking changes
- Rename `type` attribute to `asgi.event.type` in `opentelemetry-instrumentation-asgi`
([#2300](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2300))
## Version 1.24.0/0.45b0 (2024-03-28)
### Added
- `opentelemetry-instrumentation-psycopg` Async Instrumentation for psycopg 3.x
([#2146](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2146))
@ -30,9 +37,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- AwsLambdaInstrumentor sets `cloud.account.id` span attribute
([#2367](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2367))
## Version 1.23.0/0.44b0 (2024-02-23)
- Drop uspport for 3.7
- Drop support for 3.7
([#2151](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2151))
- `opentelemetry-resource-detector-azure` Added 10s timeout to VM Resource Detector
([#2119](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2119))

View File

@ -672,7 +672,9 @@ class OpenTelemetryMiddleware:
if receive_span.is_recording():
if message["type"] == "websocket.receive":
set_status_code(receive_span, 200)
receive_span.set_attribute("type", message["type"])
receive_span.set_attribute(
"asgi.event.type", message["type"]
)
return message
return otel_receive
@ -703,7 +705,7 @@ class OpenTelemetryMiddleware:
elif message["type"] == "websocket.send":
set_status_code(server_span, 200)
set_status_code(send_span, 200)
send_span.set_attribute("type", message["type"])
send_span.set_attribute("asgi.event.type", message["type"])
if (
server_span.is_recording()
and server_span.kind == trace.SpanKind.SERVER

View File

@ -268,20 +268,20 @@ class TestAsgiApplication(AsgiTestBase):
{
"name": "GET / http receive",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {"type": "http.request"},
"attributes": {"asgi.event.type": "http.request"},
},
{
"name": "GET / http send",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {
SpanAttributes.HTTP_STATUS_CODE: 200,
"type": "http.response.start",
"asgi.event.type": "http.response.start",
},
},
{
"name": "GET / http send",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {"type": "http.response.body"},
"attributes": {"asgi.event.type": "http.response.body"},
},
{
"name": "GET /",
@ -358,7 +358,7 @@ class TestAsgiApplication(AsgiTestBase):
more_body_span = {
"name": "GET / http send",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {"type": "http.response.body"},
"attributes": {"asgi.event.type": "http.response.body"},
}
extra_spans = [more_body_span] * 3
expected[2:2] = extra_spans
@ -396,12 +396,12 @@ class TestAsgiApplication(AsgiTestBase):
body_span = {
"name": "GET / http send",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {"type": "http.response.body"},
"attributes": {"asgi.event.type": "http.response.body"},
}
trailer_span = {
"name": "GET / http send",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {"type": "http.response.trailers"},
"attributes": {"asgi.event.type": "http.response.trailers"},
}
expected[2:2] = [body_span]
expected[4:4] = [trailer_span] * 2
@ -582,18 +582,18 @@ class TestAsgiApplication(AsgiTestBase):
{
"name": "/ websocket receive",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {"type": "websocket.connect"},
"attributes": {"asgi.event.type": "websocket.connect"},
},
{
"name": "/ websocket send",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {"type": "websocket.accept"},
"attributes": {"asgi.event.type": "websocket.accept"},
},
{
"name": "/ websocket receive",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {
"type": "websocket.receive",
"asgi.event.type": "websocket.receive",
SpanAttributes.HTTP_STATUS_CODE: 200,
},
},
@ -601,14 +601,14 @@ class TestAsgiApplication(AsgiTestBase):
"name": "/ websocket send",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {
"type": "websocket.send",
"asgi.event.type": "websocket.send",
SpanAttributes.HTTP_STATUS_CODE: 200,
},
},
{
"name": "/ websocket receive",
"kind": trace_api.SpanKind.INTERNAL,
"attributes": {"type": "websocket.disconnect"},
"attributes": {"asgi.event.type": "websocket.disconnect"},
},
{
"name": "/",