@@ -26,6 +26,8 @@ var latestGCEvent;
26
26
var latestLoopEvent ;
27
27
var aggregateHttpEvent ;
28
28
var aggregateHttpOutboundEvent ;
29
+ var aggregateHttpsEvent ;
30
+ var aggregateHttpsOutboundEvent ;
29
31
var aggregateProbeEvents = [ ] ;
30
32
// Used for top 5 response times
31
33
var httpURLData = { } ;
@@ -313,6 +315,34 @@ exports.monitor = function(options) {
313
315
314
316
} ) ;
315
317
318
+ monitoring . on ( 'https' , function ( data ) {
319
+ if ( ! aggregateHttpsEvent ) {
320
+ aggregateHttpsEvent = { } ;
321
+ aggregateHttpsEvent . total = 1 ;
322
+ aggregateHttpsEvent . average = data . duration ;
323
+ aggregateHttpsEvent . longest = data . duration ;
324
+ aggregateHttpsEvent . time = data . time ;
325
+ aggregateHttpsEvent . url = data . url ;
326
+ } else {
327
+ aggregateHttpsEvent . total = aggregateHttpsEvent . total + 1 ;
328
+ aggregateHttpsEvent . average = ( aggregateHttpsEvent . average * ( aggregateHttpsEvent . total - 1 ) + data . duration ) / aggregateHttpsEvent . total ;
329
+ if ( data . duration > aggregateHttpsEvent . longest ) {
330
+ aggregateHttpsEvent . longest = data . duration ;
331
+ aggregateHttpsEvent . url = data . url ;
332
+ }
333
+ }
334
+
335
+ if ( httpURLData . hasOwnProperty ( data . url ) ) {
336
+ var urlData = httpURLData [ data . url ] ;
337
+ // Recalculate the average
338
+ urlData . duration = ( urlData . duration * urlData . hits + data . duration ) / ( urlData . hits + 1 ) ;
339
+ urlData . hits = urlData . hits + 1 ;
340
+ } else {
341
+ httpURLData [ data . url ] = { duration : data . duration , hits : 1 } ;
342
+ }
343
+
344
+ } ) ;
345
+
316
346
monitoring . on ( 'http-outbound' , function ( data ) {
317
347
if ( ! aggregateHttpOutboundEvent ) {
318
348
aggregateHttpOutboundEvent = { } ;
@@ -331,6 +361,24 @@ exports.monitor = function(options) {
331
361
}
332
362
} ) ;
333
363
364
+ monitoring . on ( 'https-outbound' , function ( data ) {
365
+ if ( ! aggregateHttpsOutboundEvent ) {
366
+ aggregateHttpsOutboundEvent = { } ;
367
+ aggregateHttpsOutboundEvent . total = 1 ;
368
+ aggregateHttpsOutboundEvent . average = data . duration ;
369
+ aggregateHttpsOutboundEvent . longest = data . duration ;
370
+ aggregateHttpsOutboundEvent . time = data . time ;
371
+ aggregateHttpsOutboundEvent . url = data . url ;
372
+ } else {
373
+ aggregateHttpsOutboundEvent . total = aggregateHttpsOutboundEvent . total + 1 ;
374
+ aggregateHttpsOutboundEvent . average = ( aggregateHttpsOutboundEvent . average * ( aggregateHttpsOutboundEvent . total - 1 ) + data . duration ) / aggregateHttpsOutboundEvent . total ;
375
+ if ( data . duration > aggregateHttpsOutboundEvent . longest ) {
376
+ aggregateHttpsOutboundEvent . longest = data . duration ;
377
+ aggregateHttpsOutboundEvent . url = data . url ;
378
+ }
379
+ }
380
+ } ) ;
381
+
334
382
monitoring . on ( 'mongo' , function ( data ) {
335
383
addProbeEvent ( 'MongoDB' , data ) ;
336
384
} ) ;
@@ -399,6 +447,10 @@ function emitData() {
399
447
io . emit ( 'http' , JSON . stringify ( aggregateHttpEvent ) ) ;
400
448
aggregateHttpEvent = null ;
401
449
}
450
+ if ( aggregateHttpsEvent ) {
451
+ io . emit ( 'https' , JSON . stringify ( aggregateHttpsEvent ) ) ;
452
+ aggregateHttpsEvent = null ;
453
+ }
402
454
if ( latestGCEvent ) {
403
455
io . emit ( 'gc' , JSON . stringify ( latestGCEvent ) ) ;
404
456
latestGCEvent = null ;
@@ -407,6 +459,10 @@ function emitData() {
407
459
io . emit ( 'http-outbound' , JSON . stringify ( aggregateHttpOutboundEvent ) ) ;
408
460
aggregateHttpOutboundEvent = null ;
409
461
}
462
+ if ( aggregateHttpsOutboundEvent ) {
463
+ io . emit ( 'https-outbound' , JSON . stringify ( aggregateHttpsOutboundEvent ) ) ;
464
+ aggregateHttpsOutboundEvent = null ;
465
+ }
410
466
if ( aggregateProbeEvents . length > 0 ) {
411
467
io . emit ( 'probe-events' , JSON . stringify ( aggregateProbeEvents ) ) ;
412
468
aggregateProbeEvents = [ ] ;
0 commit comments