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 path=require("path"),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,activateHasBeenCalled=!1,hasBeenActivated=!1;exports.payloadPrefix="gc",exports.currentPayload={minorGcs:0,majorGcs:0,incrementalMarkings:0,weakCallbackProcessing:0,gcPause:0,statsSupported:!1},exports.activate=function(){activateHasBeenCalled=!0,gcStats&&actuallyActivate()};const nativeModuleLoader=require("./util/nativeModuleRetry")({nativeModuleName:"gcstats.js",moduleRoot:path.join(__dirname,".."),message:"Could not load gcstats.js. You will not be able to see GC information in Instana for this application. This typically occurs when native addons could not be built during module installation (npm install/yarn) or when npm install --no-optional or yarn --ignore-optional have been used to install dependencies. See the instructions to learn more about the requirements of the collector: https://www.ibm.com/docs/de/obi/current?topic=nodejs-collector-installation#native-add-ons"});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()}nativeModuleLoader.once("loaded",gcStats_=>{gcStats=gcStats_,exports.currentPayload.statsSupported=!0,activateHasBeenCalled&&actuallyActivate()}),nativeModuleLoader.once("failed",()=>{exports.currentPayload.statsSupported=!1}),exports.deactivate=function(){senseIntervalHandle&&clearInterval(senseIntervalHandle),activateHasBeenCalled=!1,hasBeenActivated=!1};