UNPKG

@atomist/automation-client

Version:

Atomist API for software low-level client

67 lines 2.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const HotShots = require("hot-shots"); const node_statsd_1 = require("node-statsd"); const os = require("os"); function defaultStatsDClientOptions(configuration) { const options = { prefix: "automation_client.", globalTags: [ `atomist_name:${configuration.name.replace("@", "").replace("/", ".")}`, `atomist_version:${configuration.version}`, `atomist_environment:${configuration.environment}`, `atomist_application_id:${configuration.application}`, `atomist_process_id:${process.pid}`, `atomist_host:${os.hostname()}`, ], host: configuration.statsd.host || "localhost", port: configuration.statsd.port || 8125, }; return options; } exports.defaultStatsDClientOptions = defaultStatsDClientOptions; class HotShotStatsDClientFactory { create(clientOptions) { const options = { prefix: clientOptions.prefix, host: clientOptions.host, port: clientOptions.port, globalTags: clientOptions.globalTags, cacheDns: true, }; return new HotShots.StatsD(options); } } exports.HotShotStatsDClientFactory = HotShotStatsDClientFactory; class NodeStatsDClientFactory { create(clientOptions) { const nodeStatsDClientOptions = { host: clientOptions.host, port: clientOptions.port, prefix: clientOptions.prefix, suffix: clientOptions.suffix, global_tags: clientOptions.globalTags, }; return new NodeStatsDClient(nodeStatsDClientOptions); } } exports.NodeStatsDClientFactory = NodeStatsDClientFactory; class NodeStatsDClient { constructor(clientOptions) { this.statsd = new node_statsd_1.StatsD(clientOptions); } increment(stat, value, sampleRate, tags, callback) { this.statsd.increment(stat, value, sampleRate, tags, callback); } timing(stat, value, sampleRate, tags, callback) { this.statsd.timing(stat, value, sampleRate, tags, callback); } gauge(stat, value, sampleRate, tags, callback) { this.statsd.gauge(stat, value, sampleRate, tags, callback); } close(callback) { this.statsd.close(); } } exports.DefaultStatsDClientFactory = new HotShotStatsDClientFactory(); //# sourceMappingURL=statsdClient.js.map