@@ -106,20 +106,15 @@ function extractTags (trace, span) {
106
106
registerExtraService ( tags [ 'service.name' ] )
107
107
}
108
108
109
+ extractHttpResource ( trace , tags )
110
+
109
111
for ( const tag in tags ) {
110
112
switch ( tag ) {
111
113
case 'service.name' :
112
114
case 'span.type' :
113
115
case 'resource.name' :
114
116
addTag ( trace , { } , map [ tag ] , tags [ tag ] )
115
117
break
116
- case 'http.route' : {
117
- const resource = [ tags [ 'http.method' ] , tags [ 'http.route' ] ] . filter ( v => v ) . join ( ' ' )
118
- if ( ! tags [ 'resource.name' ] ) {
119
- addTag ( trace , { } , 'resource' , resource )
120
- }
121
- break
122
- }
123
118
// HACK: remove when Datadog supports numeric status code
124
119
case 'http.status_code' :
125
120
addTag ( trace . meta , { } , tag , tags [ tag ] && String ( tags [ tag ] ) )
@@ -196,6 +191,18 @@ function extractError (trace, error) {
196
191
}
197
192
}
198
193
194
+ function extractHttpResource ( trace , tags ) {
195
+ if ( tags [ 'resource.name' ] ) return
196
+ if ( tags [ 'http.route' ] ) {
197
+ addTag ( trace , { } , 'resource' , [
198
+ tags [ 'http.method' ] ,
199
+ tags [ 'http.route' ]
200
+ ] . filter ( v => v ) . join ( ' ' ) )
201
+ } else if ( tags [ 'http.method' ] ) {
202
+ addTag ( trace , { } , 'resource' , tags [ 'http.method' ] )
203
+ }
204
+ }
205
+
199
206
function addTag ( meta , metrics , key , value , nested ) {
200
207
switch ( typeof value ) {
201
208
case 'string' :
0 commit comments