Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
// (c) Copyright 2023 Supertenant Ltd. - all rights reserved.
// See LICENSE file in project root for license terms.
"use strict";const slidingWindow=require("@supertenant/core").util.slidingWindow,windowOpts={duration:1e3},minorGcWindow=slidingWindow.create(windowOpts),majorGcWindow=slidingWindow.create(windowOpts),incrementalMarkingsWindow=slidingWindow.create(windowOpts),processWeakCallbacksWindow=slidingWindow.create(windowOpts),gcPauseWindow=slidingWindow.create(windowOpts);let gcStats,hasBeenActivated=!1;exports.payloadPrefix="gc",exports.currentPayload={minorGcs:0,majorGcs:0,incrementalMarkings:0,weakCallbackProcessing:0,gcPause:0,statsSupported:!1},exports.activate=function(){gcStats&&actuallyActivate()};let senseIntervalHandle;function actuallyActivate(){hasBeenActivated||(hasBeenActivated=!0,gcStats.on("stats",stats=>{var pause=(stats.end-stats.start)/1e6,pause=(gcPauseWindow.addPoint(pause),stats.gctype);1===pause?minorGcWindow.addPoint(1):2===pause?majorGcWindow.addPoint(1):4===pause?incrementalMarkingsWindow.addPoint(1):8===pause?processWeakCallbacksWindow.addPoint(1):15===pause&&(minorGcWindow.addPoint(1),majorGcWindow.addPoint(1),incrementalMarkingsWindow.addPoint(1),processWeakCallbacksWindow.addPoint(1)),exports.currentPayload.usedHeapSizeAfterGc=stats.after.usedHeapSize}),startSensing())}function startSensing(){(senseIntervalHandle=setInterval(()=>{exports.currentPayload.minorGcs=minorGcWindow.sum(),exports.currentPayload.majorGcs=majorGcWindow.sum(),exports.currentPayload.incrementalMarkings=incrementalMarkingsWindow.sum(),exports.currentPayload.weakCallbackProcessing=processWeakCallbacksWindow.sum(),exports.currentPayload.gcPause=gcPauseWindow.sum()},1e3)).unref()}exports.currentPayload.statsSupported=!1,exports.deactivate=function(){senseIntervalHandle&&clearInterval(senseIntervalHandle),hasBeenActivated=!1};