UNPKG

@flxbl-io/sfp

Version:

sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model

126 lines 9.53 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const hot_shots_1 = __importDefault(require("hot-shots")); const fs = __importStar(require("fs-extra")); const os_1 = require("os"); const DataDogMetricSender_1 = require("./nativeMetricSenderImpl/DataDogMetricSender"); const NewRelicMetricSender_1 = require("./nativeMetricSenderImpl/NewRelicMetricSender"); const SplunkMetricSender_1 = require("./nativeMetricSenderImpl/SplunkMetricSender"); class SFPStatsSender { static initialize(port, host, protocol) { let options = { host: host, port: port == null ? 8125 : Number(port), protocol: protocol == 'tcp' ? 'tcp' : 'udp', prefix: 'sfpowerscripts.', }; SFPStatsSender.client = new hot_shots_1.default(options); } static initializeNativeMetrics(type, apiHost, apiKey, logger) { switch (type) { case 'DataDog': this.nativeMetricsSender = new DataDogMetricSender_1.DataDogMetricsSender(logger); this.nativeMetricsSender.initialize(apiHost, apiKey); break; case 'NewRelic': this.nativeMetricsSender = new NewRelicMetricSender_1.NewRelicMetricSender(logger); this.nativeMetricsSender.initialize(apiHost, apiKey); break; case 'Splunk': this.nativeMetricsSender = new SplunkMetricSender_1.SplunkMetricSender(logger); this.nativeMetricsSender.initialize(apiHost, apiKey); break; default: throw new Error('Invalid Metric Type'); } } static initializeLogBasedMetrics() { try { fs.mkdirpSync('.sfpowerscripts/logs'); SFPStatsSender.metricsLogger = `.sfpowerscripts/logs/metrics.log`; } catch (error) { console.log('Unable to initiate Log based metrics', error); } } static logElapsedTime(metric, elapsedMilliSeconds, tags) { if (SFPStatsSender.client != null) SFPStatsSender.client.timing(metric, elapsedMilliSeconds, tags); //Native Datadog integration if (SFPStatsSender.nativeMetricsSender != null) { SFPStatsSender.nativeMetricsSender.sendGaugeMetric(metric, elapsedMilliSeconds, tags); } let metrics = { metric: `sfpowerscripts.${metric}`, type: `timers`, value: elapsedMilliSeconds, timestamp: Date.now(), tags: tags, }; SFPStatsSender.logMetrics(metrics, SFPStatsSender.metricsLogger); } static logGauge(metric, value, tags) { if (SFPStatsSender.client != null) SFPStatsSender.client.gauge(metric, value, tags); //Native Metrics integration if (SFPStatsSender.nativeMetricsSender != null) { SFPStatsSender.nativeMetricsSender.sendGaugeMetric(metric, value, tags); } let metrics = { metric: `sfpowerscripts.${metric}`, type: `guage`, value: value, timestamp: Date.now(), tags: tags, }; SFPStatsSender.logMetrics(metrics, SFPStatsSender.metricsLogger); } static logCount(metric, tags) { if (SFPStatsSender.client != null) SFPStatsSender.client.increment(metric, tags); //Native Metrics integration if (SFPStatsSender.nativeMetricsSender != null) { SFPStatsSender.nativeMetricsSender.sendCountMetric(metric, tags); } let metrics = { metric: `sfpowerscripts.${metric}`, type: `count`, timestamp: Date.now(), tags: tags, }; SFPStatsSender.logMetrics(metrics, SFPStatsSender.metricsLogger); } static logMetrics(key, logger) { if (logger) { fs.appendFileSync(logger, `${JSON.stringify(key)}${os_1.EOL}`, 'utf8'); } } } exports.default = SFPStatsSender; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZQU3RhdHNTZW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9zdGF0cy9TRlBTdGF0c1NlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMERBQWdFO0FBQ2hFLDZDQUErQjtBQUMvQiwyQkFBeUI7QUFFekIsc0ZBQW9GO0FBRXBGLHdGQUFxRjtBQUNyRixvRkFBaUY7QUFFakYsTUFBcUIsY0FBYztJQUsvQixNQUFNLENBQUMsVUFBVSxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsUUFBZ0I7UUFDMUQsSUFBSSxPQUFPLEdBQWtCO1lBQ3pCLElBQUksRUFBRSxJQUFJO1lBQ1YsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUN4QyxRQUFRLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzNDLE1BQU0sRUFBRSxpQkFBaUI7U0FDNUIsQ0FBQztRQUNGLGNBQWMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQkFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsSUFBWSxFQUFFLE9BQWUsRUFBRSxNQUFjLEVBQUUsTUFBZTtRQUN6RixRQUFRLElBQUksRUFBRSxDQUFDO1lBQ1gsS0FBSyxTQUFTO2dCQUNWLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLDBDQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDckQsTUFBTTtZQUVWLEtBQUssVUFBVTtnQkFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSwyQ0FB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