File tree Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -72,6 +72,8 @@ const kDeprecationMessage =
7272const kTypeSingle = 0 ;
7373const kTypeMultiple = 1 ;
7474
75+ let gcTrackingInstalled = false ;
76+
7577const kSupportedEntryTypes = ObjectFreeze ( [
7678 'function' ,
7779 'gc' ,
@@ -124,8 +126,11 @@ function maybeIncrementObserverCount(type) {
124126
125127 if ( observerType !== undefined ) {
126128 observerCounts [ observerType ] ++ ;
127- if ( observerType === NODE_PERFORMANCE_ENTRY_TYPE_GC )
129+ if ( ! gcTrackingInstalled &&
130+ observerType === NODE_PERFORMANCE_ENTRY_TYPE_GC ) {
128131 installGarbageCollectionTracking ( ) ;
132+ gcTrackingInstalled = true ;
133+ }
129134 }
130135}
131136
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ require ( '../common' ) ;
4+
5+ // Verifies that setting up two observers to listen
6+ // to gc performance does not crash.
7+
8+ const {
9+ PerformanceObserver,
10+ } = require ( 'perf_hooks' ) ;
11+
12+ // We don't actually care if the callback is ever invoked in this test
13+ const obs = new PerformanceObserver ( ( ) => { } ) ;
14+ const obs2 = new PerformanceObserver ( ( ) => { } ) ;
15+
16+ obs . observe ( { type : 'gc' } ) ;
17+ obs2 . observe ( { type : 'gc' } ) ;
You can’t perform that action at this time.
0 commit comments