@@ -221,7 +221,7 @@ export function main() {
221
221
} ) ;
222
222
} ) ;
223
223
224
- [ 'script' , 'gcTime' , ' render'] . forEach ( ( metricName ) => {
224
+ [ 'script' , 'render' ] . forEach ( ( metricName ) => {
225
225
it ( `should support ${ metricName } metric` , ( done ) => {
226
226
aggregate ( [
227
227
eventFactory . start ( metricName , 0 ) ,
@@ -233,12 +233,28 @@ export function main() {
233
233
} ) ;
234
234
} ) ;
235
235
236
- it ( 'should support gcAmount metric' , ( done ) => {
236
+ it ( 'should support gcTime/ gcAmount metric' , ( done ) => {
237
237
aggregate ( [
238
238
eventFactory . start ( 'gc' , 0 , { 'usedHeapSize' : 2500 } ) ,
239
239
eventFactory . end ( 'gc' , 5 , { 'usedHeapSize' : 1000 } )
240
240
] ) . then ( ( data ) => {
241
+ expect ( data [ 'gcTime' ] ) . toBe ( 5 ) ;
241
242
expect ( data [ 'gcAmount' ] ) . toBe ( 1.5 ) ;
243
+ expect ( data [ 'majorGcTime' ] ) . toBe ( 0 ) ;
244
+ expect ( data [ 'majorGcAmount' ] ) . toBe ( 0 ) ;
245
+ done ( ) ;
246
+ } ) ;
247
+ } ) ;
248
+
249
+ it ( 'should support majorGcTime/majorGcAmount metric' , ( done ) => {
250
+ aggregate ( [
251
+ eventFactory . start ( 'gc' , 0 , { 'usedHeapSize' : 2500 } ) ,
252
+ eventFactory . end ( 'gc' , 5 , { 'usedHeapSize' : 1000 , 'majorGc' : true } )
253
+ ] ) . then ( ( data ) => {
254
+ expect ( data [ 'gcTime' ] ) . toBe ( 5 ) ;
255
+ expect ( data [ 'gcAmount' ] ) . toBe ( 1.5 ) ;
256
+ expect ( data [ 'majorGcTime' ] ) . toBe ( 5 ) ;
257
+ expect ( data [ 'majorGcAmount' ] ) . toBe ( 1.5 ) ;
242
258
done ( ) ;
243
259
} ) ;
244
260
} ) ;
@@ -280,48 +296,6 @@ export function main() {
280
296
281
297
} ) ;
282
298
283
- describe ( 'gcTimeInScript / gcAmountInScript' , ( ) => {
284
-
285
- it ( 'should detect gc during script execution with begin/end events' , ( done ) => {
286
- aggregate ( [
287
- eventFactory . start ( 'script' , 0 ) ,
288
- eventFactory . start ( 'gc' , 1 , { 'usedHeapSize' : 10000 } ) ,
289
- eventFactory . end ( 'gc' , 4 , { 'usedHeapSize' : 0 } ) ,
290
- eventFactory . end ( 'script' , 5 )
291
- ] ) . then ( ( data ) => {
292
- expect ( data [ 'gcTimeInScript' ] ) . toBe ( 3 ) ;
293
- expect ( data [ 'gcAmountInScript' ] ) . toBe ( 10.0 ) ;
294
- done ( ) ;
295
- } ) ;
296
- } ) ;
297
-
298
- it ( 'should detect gc during script execution with complete events' , ( done ) => {
299
- aggregate ( [
300
- eventFactory . complete ( 'script' , 0 , 5 ) ,
301
- eventFactory . start ( 'gc' , 1 , { 'usedHeapSize' : 10000 } ) ,
302
- eventFactory . end ( 'gc' , 4 , { 'usedHeapSize' : 0 } )
303
- ] ) . then ( ( data ) => {
304
- expect ( data [ 'gcTimeInScript' ] ) . toBe ( 3 ) ;
305
- expect ( data [ 'gcAmountInScript' ] ) . toBe ( 10.0 ) ;
306
- done ( ) ;
307
- } ) ;
308
- } ) ;
309
-
310
- it ( 'should ignore gc outside of script execution' , ( done ) => {
311
- aggregate ( [
312
- eventFactory . start ( 'gc' , 1 , { 'usedHeapSize' : 10 } ) ,
313
- eventFactory . end ( 'gc' , 4 , { 'usedHeapSize' : 0 } ) ,
314
- eventFactory . start ( 'script' , 0 ) ,
315
- eventFactory . end ( 'script' , 5 )
316
- ] ) . then ( ( data ) => {
317
- expect ( data [ 'gcTimeInScript' ] ) . toEqual ( 0.0 ) ;
318
- expect ( data [ 'gcAmountInScript' ] ) . toEqual ( 0.0 ) ;
319
- done ( ) ;
320
- } ) ;
321
- } ) ;
322
-
323
- } ) ;
324
-
325
299
} ) ;
326
300
327
301
} ) ;
0 commit comments