12
12
use OpenTelemetry \API \Trace \StatusCode ;
13
13
use OpenTelemetry \Context \Context ;
14
14
use function OpenTelemetry \Instrumentation \hook ;
15
+ use OpenTelemetry \SemConv \Attributes \CodeAttributes ;
16
+ use OpenTelemetry \SemConv \Attributes \HttpAttributes ;
17
+ use OpenTelemetry \SemConv \Attributes \ServerAttributes ;
18
+ use OpenTelemetry \SemConv \Attributes \UrlAttributes ;
19
+ use OpenTelemetry \SemConv \Attributes \UserAgentAttributes ;
20
+ use OpenTelemetry \SemConv \Incubating \Attributes \HttpIncubatingAttributes ;
15
21
use OpenTelemetry \SemConv \TraceAttributes ;
16
22
use Psr \Http \Message \ResponseInterface ;
17
23
use Psr \Http \Message \ServerRequestInterface ;
@@ -53,22 +59,22 @@ public static function register(): void
53
59
$ builder = $ instrumentation ->tracer ()
54
60
->spanBuilder (sprintf ('%s ' , $ request ?->getMethod() ?? 'unknown ' ))
55
61
->setSpanKind (SpanKind::KIND_SERVER )
56
- ->setAttribute (TraceAttributes ::CODE_FUNCTION_NAME , sprintf ('%s::%s ' , $ class , $ function ))
57
- ->setAttribute (TraceAttributes ::CODE_FILE_PATH , $ filename )
58
- ->setAttribute (TraceAttributes ::CODE_LINE_NUMBER , $ lineno );
62
+ ->setAttribute (CodeAttributes ::CODE_FUNCTION_NAME , sprintf ('%s::%s ' , $ class , $ function ))
63
+ ->setAttribute (CodeAttributes ::CODE_FILE_PATH , $ filename )
64
+ ->setAttribute (CodeAttributes ::CODE_LINE_NUMBER , $ lineno );
59
65
$ parent = Context::getCurrent ();
60
66
if ($ request ) {
61
67
$ parent = Globals::propagator ()->extract ($ request ->getHeaders ());
62
68
$ span = $ builder
63
69
->setParent ($ parent )
64
- ->setAttribute (TraceAttributes ::URL_FULL , $ request ->getUri ()->__toString ())
65
- ->setAttribute (TraceAttributes ::HTTP_REQUEST_METHOD , $ request ->getMethod ())
66
- ->setAttribute (TraceAttributes ::HTTP_REQUEST_BODY_SIZE , $ request ->getHeaderLine ('Content-Length ' ))
67
- ->setAttribute (TraceAttributes ::USER_AGENT_ORIGINAL , $ request ->getHeaderLine ('User-Agent ' ))
68
- ->setAttribute (TraceAttributes ::SERVER_ADDRESS , $ request ->getUri ()->getHost ())
69
- ->setAttribute (TraceAttributes ::SERVER_PORT , $ request ->getUri ()->getPort ())
70
- ->setAttribute (TraceAttributes ::URL_SCHEME , $ request ->getUri ()->getScheme ())
71
- ->setAttribute (TraceAttributes ::URL_PATH , $ request ->getUri ()->getPath ())
70
+ ->setAttribute (UrlAttributes ::URL_FULL , $ request ->getUri ()->__toString ())
71
+ ->setAttribute (HttpAttributes ::HTTP_REQUEST_METHOD , $ request ->getMethod ())
72
+ ->setAttribute (HttpIncubatingAttributes ::HTTP_REQUEST_BODY_SIZE , $ request ->getHeaderLine ('Content-Length ' ))
73
+ ->setAttribute (UserAgentAttributes ::USER_AGENT_ORIGINAL , $ request ->getHeaderLine ('User-Agent ' ))
74
+ ->setAttribute (ServerAttributes ::SERVER_ADDRESS , $ request ->getUri ()->getHost ())
75
+ ->setAttribute (ServerAttributes ::SERVER_PORT , $ request ->getUri ()->getPort ())
76
+ ->setAttribute (UrlAttributes ::URL_SCHEME , $ request ->getUri ()->getScheme ())
77
+ ->setAttribute (UrlAttributes ::URL_PATH , $ request ->getUri ()->getPath ())
72
78
->startSpan ();
73
79
$ request = $ request ->withAttribute (SpanInterface::class, $ span );
74
80
} else {
@@ -93,9 +99,9 @@ public static function register(): void
93
99
if ($ response ->getStatusCode () >= 400 ) {
94
100
$ span ->setStatus (StatusCode::STATUS_ERROR );
95
101
}
96
- $ span ->setAttribute (TraceAttributes ::HTTP_RESPONSE_STATUS_CODE , $ response ->getStatusCode ());
102
+ $ span ->setAttribute (HttpAttributes ::HTTP_RESPONSE_STATUS_CODE , $ response ->getStatusCode ());
97
103
$ span ->setAttribute (TraceAttributes::NETWORK_PROTOCOL_VERSION , $ response ->getProtocolVersion ());
98
- $ span ->setAttribute (TraceAttributes ::HTTP_RESPONSE_BODY_SIZE , $ response ->getHeaderLine ('Content-Length ' ));
104
+ $ span ->setAttribute (HttpIncubatingAttributes ::HTTP_RESPONSE_BODY_SIZE , $ response ->getHeaderLine ('Content-Length ' ));
99
105
100
106
if (self ::$ supportsResponsePropagation ) {
101
107
// Propagate server-timing header to response, if ServerTimingPropagator is present
@@ -144,7 +150,7 @@ public static function register(): void
144
150
if (!$ route instanceof RouteInterface) {
145
151
return ;
146
152
}
147
- $ span ->setAttribute (TraceAttributes ::HTTP_ROUTE , $ route ->getName () ?? $ route ->getPattern ());
153
+ $ span ->setAttribute (HttpAttributes ::HTTP_ROUTE , $ route ->getName () ?? $ route ->getPattern ());
148
154
$ span ->updateName (sprintf ('%s %s ' , $ request ->getMethod (), $ route ->getName () ?? $ route ->getPattern ()));
149
155
}
150
156
);
@@ -162,9 +168,9 @@ public static function register(): void
162
168
$ callable = $ params [0 ];
163
169
$ name = CallableFormatter::format ($ callable );
164
170
$ builder = $ instrumentation ->tracer ()->spanBuilder ($ name )
165
- ->setAttribute (TraceAttributes ::CODE_FUNCTION_NAME , sprintf ('%s::%s ' , $ class , $ function ))
166
- ->setAttribute (TraceAttributes ::CODE_FILE_PATH , $ filename )
167
- ->setAttribute (TraceAttributes ::CODE_LINE_NUMBER , $ lineno );
171
+ ->setAttribute (CodeAttributes ::CODE_FUNCTION_NAME , sprintf ('%s::%s ' , $ class , $ function ))
172
+ ->setAttribute (CodeAttributes ::CODE_FILE_PATH , $ filename )
173
+ ->setAttribute (CodeAttributes ::CODE_LINE_NUMBER , $ lineno );
168
174
$ span = $ builder ->startSpan ();
169
175
Context::storage ()->attach ($ span ->storeInContext (Context::getCurrent ()));
170
176
},
0 commit comments