@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
JavaScript
;
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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