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    
@supertenant/metrics-util / src / process / ProcessProcessor.js
Size: Mime:
// (c) Copyright 2023 Supertenant Ltd. - all rights reserved.
// See LICENSE file in project root for license terms.
"use strict";const secrets=require("@supertenant/core")["secrets"],DataProcessor=require("../DataProcessor"),ProcessSnapshotDataSource=require("./ProcessSnapshotDataSource"),ProcessMetricsSource=require("./ProcessMetricsSource");class ProcessProcessor extends DataProcessor{constructor(containerType,hostName){super("com.instana.plugin.process",[["com.instana.plugin.host.name"],["containerType"],["container"]]),this.snapshotDataSource=new ProcessSnapshotDataSource(containerType,hostName),this.addSource("snapshot",this.snapshotDataSource),this.addSource("metrics",new ProcessMetricsSource)}getEntityId(){if(null==this.entityId){var rawData=this._compileRawData();if(!rawData.snapshot)return null;this.entityId=rawData.snapshot.pid}return this.entityId}setExternalSnapshotData(containerInstanceId,hostName){this.snapshotDataSource.setExternalSnapshotData(containerInstanceId,hostName)}processData(rawDataPerSource){const{snapshot,metrics}=rawDataPerSource;rawDataPerSource=1e3*metrics.timeDelta;let user,sys;metrics.cpuUsageDiff.user&&(user=metrics.cpuUsageDiff.user/rawDataPerSource),metrics.cpuUsageDiff.system&&(sys=metrics.cpuUsageDiff.system/rawDataPerSource);let cpu;return(user||sys)&&(cpu={user:user,sys:sys}),snapshot&&snapshot.env&&(snapshot.env=Object.assign({},snapshot.env),Object.keys(snapshot.env).forEach(envVar=>{!secrets.isSecret(envVar)&&"INSTANA_AGENT_KEY"!==envVar||(snapshot.env[envVar]="<redacted>")})),{...snapshot,cpu:cpu}}}module.exports=exports=ProcessProcessor;