@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
101 lines • 7.88 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 SfpCommand_1 = __importDefault(require("../../SfpCommand"));
const SFPStatsSender_1 = __importDefault(require("../../core/stats/SFPStatsSender"));
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
const core_1 = require("@salesforce/core");
const core_2 = require("@oclif/core");
const sfdxflags_1 = require("../../flags/sfdxflags");
// Initialize Messages with the current plugin directory
core_1.Messages.importMessagesDirectory(__dirname);
// Load the specific messages for this file. Messages from @salesforce/command, @salesforce/core,
// or any library that is using the messages framework can also be loaded this way.
const messages = core_1.Messages.loadMessages('@flxbl-io/sfp', 'metrics_report');
class Report extends SfpCommand_1.default {
async execute() {
this.validateEnvVars();
switch (this.flags.type) {
case 'gauge':
sfp_logger_1.default.log((0, sfp_logger_1.COLOR_KEY_MESSAGE)(`Publishing Gauge Metric ${this.flags.metric} with value ${this.flags.value}`));
SFPStatsSender_1.default.logGauge(this.flags.metric, this.flags.value, this.flags.tags ? JSON.parse(this.flags.tags) : undefined);
break;
case 'counter':
sfp_logger_1.default.log((0, sfp_logger_1.COLOR_KEY_MESSAGE)(`Publishing Count Metric ${this.flags.metric}`));
SFPStatsSender_1.default.logCount(this.flags.metric, this.flags.tags ? JSON.parse(this.flags.tags) : undefined);
break;
case 'timer':
sfp_logger_1.default.log((0, sfp_logger_1.COLOR_KEY_MESSAGE)(`Publishing Elapsed Metric ${this.flags.metric} with value ${this.flags.value}`));
SFPStatsSender_1.default.logElapsedTime(this.flags.metric, Number.parseInt(this.flags.value), this.flags.tags ? JSON.parse(this.flags.tags) : undefined);
break;
default:
throw new Error('Invalid Metric Type');
}
}
validateEnvVars() {
if (!(process.env.SFPOWERSCRIPTS_STATSD ||
process.env.SFPOWERSCRIPTS_DATADOG ||
process.env.SFPOWERSCRIPTS_NEWRELIC ||
process.env.SFPOWERSCRIPTS_SPLUNK)) {
throw new Error('Environment variable not set for metrics. No metrics will be published.');
}
}
}
Report.description = messages.getMessage('commandDescription');
Report.requiresDevhubUsername = false;
Report.requiresProject = false;
Report.examples = ['$ sfp metrics:report -m <metric> -t <type> -v <value>'];
Report.flags = {
metric: core_2.Flags.string({
description: 'metrics to publish',
required: true,
char: 'm',
}),
type: core_2.Flags.string({
options: [
'gauge',
'counter',
'timer',
],
description: 'type of metric',
required: true,
char: 't',
}),
value: core_2.Flags.string({
description: 'value of metric',
char: 'v',
}),
tags: core_2.Flags.string({
description: 'tags for metric',
required: false,
char: 'g',
}),
loglevel: sfdxflags_1.loglevel
};
exports.default = Report;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL21ldHJpY3MvcmVwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrRUFBMEM7QUFDMUMscUZBQTZEO0FBQzdELG1FQUFpRjtBQUNqRiwyQ0FBNEM7QUFDNUMsc0NBQW9DO0FBQ3BDLHFEQUFpRDtBQUVqRCx3REFBd0Q7QUFDeEQsZUFBUSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTVDLGlHQUFpRztBQUNqRyxtRkFBbUY7QUFDbkYsTUFBTSxRQUFRLEdBQUcsZUFBUSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUUxRSxNQUFxQixNQUFPLFNBQVEsb0JBQVU7SUFvQ3JDLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsS0FBSyxPQUFPO2dCQUNWLG9CQUFTLENBQUMsR0FBRyxDQUFDLElBQUEsOEJBQWlCLEVBQUMsMkJBQTJCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxlQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNoSCx3QkFBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQztnQkFDcEgsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixvQkFBUyxDQUFD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