UNPKG

@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
"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 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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