1
1
import { performance } from 'perf_hooks'
2
2
import ddTrace , { tracer , Tracer , TracerOptions , Span , SpanContext , SpanOptions , Scope , User } from '..' ;
3
+ import type { plugins } from '..' ;
3
4
import { opentelemetry } from '..' ;
4
5
import { formats , kinds , priority , tags , types } from '../ext' ;
5
6
import { BINARY , HTTP_HEADERS , LOG , TEXT_MAP } from '../ext/formats' ;
@@ -157,64 +158,64 @@ const httpOptions = {
157
158
middleware : true
158
159
} ;
159
160
160
- const httpServerOptions = {
161
+ const httpServerOptions : plugins . HttpServer = {
161
162
...httpOptions ,
162
163
hooks : {
163
- request : ( span : Span , req , res ) => { }
164
+ request : ( span ? : Span , req ? , res ? ) => { }
164
165
}
165
166
} ;
166
167
167
- const httpClientOptions = {
168
+ const httpClientOptions : plugins . HttpClient = {
168
169
...httpOptions ,
169
170
splitByDomain : true ,
170
171
propagationBlocklist : [ 'url' , / u r l / , url => true ] ,
171
172
hooks : {
172
- request : ( span : Span , req , res ) => { }
173
+ request : ( span ? : Span , req ? , res ? ) => { }
173
174
}
174
175
} ;
175
176
176
- const http2ServerOptions = {
177
+ const http2ServerOptions : plugins . Http2Server = {
177
178
...httpOptions
178
179
} ;
179
180
180
- const http2ClientOptions = {
181
+ const http2ClientOptions : plugins . Http2Client = {
181
182
...httpOptions ,
182
183
splitByDomain : true
183
184
} ;
184
185
185
- const nextOptions = {
186
+ const nextOptions : plugins . next = {
186
187
service : 'test' ,
187
188
hooks : {
188
- request : ( span : Span , params ) => { } ,
189
+ request : ( span ? : Span , params ? ) => { } ,
189
190
} ,
190
191
} ;
191
192
192
- const graphqlOptions = {
193
+ const graphqlOptions : plugins . graphql = {
193
194
service : 'test' ,
194
195
depth : 2 ,
195
196
source : true ,
196
197
variables : ( { foo, baz } ) => ( { foo } ) ,
197
198
collapse : false ,
198
199
signature : false ,
199
200
hooks : {
200
- execute : ( span : Span , args , res ) => { } ,
201
- validate : ( span : Span , document , errors ) => { } ,
202
- parse : ( span : Span , source , document ) => { }
201
+ execute : ( span ? : Span , args ? , res ? ) => { } ,
202
+ validate : ( span ? : Span , document ? , errors ? ) => { } ,
203
+ parse : ( span ? : Span , source ? , document ? ) => { }
203
204
}
204
205
} ;
205
206
206
- const elasticsearchOptions = {
207
+ const elasticsearchOptions : plugins . elasticsearch = {
207
208
service : 'test' ,
208
209
hooks : {
209
- query : ( span : Span , params ) => { } ,
210
+ query : ( span ? : Span , params ? ) => { } ,
210
211
} ,
211
212
} ;
212
213
213
- const awsSdkOptions = {
214
+ const awsSdkOptions : plugins . aws_sdk = {
214
215
service : 'test' ,
215
216
splitByAwsService : false ,
216
217
hooks : {
217
- request : ( span : Span , response ) => { } ,
218
+ request : ( span ? : Span , response ? ) => { } ,
218
219
} ,
219
220
s3 : false ,
220
221
sqs : {
@@ -223,33 +224,32 @@ const awsSdkOptions = {
223
224
}
224
225
} ;
225
226
226
- const redisOptions = {
227
+ const redisOptions : plugins . redis = {
227
228
service : 'test' ,
228
229
allowlist : [ 'info' , / a u t h / i, command => true ] ,
229
230
blocklist : [ 'info' , / a u t h / i, command => true ] ,
230
231
} ;
231
232
232
- const sharedbOptions = {
233
+ const sharedbOptions : plugins . sharedb = {
233
234
service : 'test' ,
234
235
hooks : {
235
- receive : ( span : Span , request ) => { } ,
236
- reply : ( span : Span , request , reply ) => { } ,
236
+ receive : ( span ? : Span , request ? ) => { } ,
237
+ reply : ( span ? : Span , request ? , reply ? ) => { } ,
237
238
} ,
238
239
} ;
239
240
240
- const moleculerOptions = {
241
+ const moleculerOptions : plugins . moleculer = {
241
242
service : 'test' ,
242
243
client : false ,
243
- params : true ,
244
244
server : {
245
245
meta : true
246
246
}
247
247
} ;
248
248
249
- const openSearchOptions = {
249
+ const openSearchOptions : plugins . opensearch = {
250
250
service : 'test' ,
251
251
hooks : {
252
- query : ( span : Span , params ) => { } ,
252
+ query : ( span ? : Span , params ? ) => { } ,
253
253
} ,
254
254
} ;
255
255
@@ -356,8 +356,9 @@ tracer.use('express', { measured: true });
356
356
357
357
span = tracer . startSpan ( 'test' ) ;
358
358
span = tracer . startSpan ( 'test' , { } ) ;
359
+ span = tracer . startSpan ( 'test' , { childOf : span } ) ;
359
360
span = tracer . startSpan ( 'test' , {
360
- childOf : span || span . context ( ) ,
361
+ childOf : span . context ( ) ,
361
362
references : [ ] ,
362
363
startTime : 123456789.1234 ,
363
364
tags : {
@@ -382,16 +383,17 @@ promise = tracer.wrap('test', () => Promise.resolve())()
382
383
383
384
const carrier = { }
384
385
385
- tracer . inject ( span || span . context ( ) , HTTP_HEADERS , carrier ) ;
386
- context = tracer . extract ( HTTP_HEADERS , carrier ) ;
386
+ tracer . inject ( span , HTTP_HEADERS , carrier ) ;
387
+ tracer . inject ( span . context ( ) , HTTP_HEADERS , carrier ) ;
388
+ context = tracer . extract ( HTTP_HEADERS , carrier ) ! ;
387
389
388
390
traceId = context . toTraceId ( ) ;
389
391
spanId = context . toSpanId ( ) ;
390
392
traceparent = context . toTraceparent ( ) ;
391
393
392
394
const scope = tracer . scope ( )
393
395
394
- span = scope . active ( ) ;
396
+ span = scope . active ( ) ! ;
395
397
396
398
const activateStringType : string = scope . activate ( span , ( ) => 'test' ) ;
397
399
const activateVoidType : void = scope . activate ( span , ( ) => { } ) ;
0 commit comments