DefinitelyTyped/types/node-dogstatsd/node-dogstatsd-tests.ts
Michael Mifsud 9faaa89c15 Fix node-dogstatsd constructor type definition
As per the documentation the `socket` argument to the constructor
is an optional Socket type not a string type. Using a string would
result in a fatal error.
2019-03-07 09:57:05 +11:00

49 lines
1.4 KiB
TypeScript

import * as dgram from 'dgram';
import * as datadog from 'node-dogstatsd';
function test_statsd_client() {
// can create client with defaults
let client = new datadog.StatsD('localhost');
let options: datadog.StatsDOptions = { global_tags: ['environment:definitely_typed']};
const socket: dgram.Socket = dgram.createSocket('udp4');
// can create client with all params
client = new datadog.StatsD('localhost', 8125, socket, options);
let key: string = 'key';
let timeValue: number = 99;
let sampleRate: number = 0.85;
let incrementBy: number = 7;
let decrementBy: number = 5;
let gaugeValue: number = 199;
let tags: string[] = ['tag1', 'tag2'];
client.timing(key, timeValue);
client.timing(key, timeValue, sampleRate);
client.timing(key, timeValue, sampleRate, tags);
client.increment(key);
client.increment(key, sampleRate);
client.increment(key, sampleRate, tags);
client.incrementBy(key, incrementBy);
client.incrementBy(key, incrementBy, tags);
client.decrement(key);
client.decrement(key, sampleRate);
client.decrement(key, sampleRate, tags);
client.decrementBy(key, decrementBy);
client.decrementBy(key, decrementBy, tags);
client.gauge(key, gaugeValue);
client.gauge(key, gaugeValue, sampleRate);
client.gauge(key, gaugeValue, sampleRate, tags);
client.histogram(key, timeValue);
client.histogram(key, timeValue, sampleRate);
client.histogram(key, timeValue, sampleRate, tags);
client.close();
}