Files
Michael MifsudandNathan Shively-Sanders 7512572456 Add type definition for datadog-statsd-metrics-collector (#33611)
* Add StatsDClient implement to node-dogstatsd

* Update connect-datadog to accept a dogstatsd.StatsDClient

* Add type definition for datadog-statsd-metrics-collector
2019-03-06 10:16:41 -08:00

45 lines
1.7 KiB
TypeScript

// Type definitions for Datadog's nodejs metrics client node-dogstatsd
// Project: https://github.com/joybro/node-dogstatsd
// Definitions by: Chris Bobo <https://github.com/chrisbobo>
// Michael Mifsud <https://github.com/xzyfer>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare module "node-dogstatsd" {
export interface StatsDOptions {
global_tags?: string[];
}
export interface StatsDClient {
timing(stat: string, time: number, sample_rate?: number, tags?: string[]): void;
increment(stat: string, sample_rate?: number, tags?: string[]): void;
incrementBy(stat: string, value: number, tags?: string[]): void;
decrement(stat: string, sample_rate?: number, tags?: string[]): void;
decrementBy(stat: string, value: number, tags?: string[]): void;
gauge(stat: string, value: number, sample_rate?: number, tags?: string[]): void;
histogram(stat: string, time: number, sample_rate?: number, tags?: string[]): void;
}
export class StatsD implements StatsDClient {
constructor(host: string, port?: number, socket?: string, options?: StatsDOptions);
timing(stat: string, time: number, sample_rate?: number, tags?: string[]): void;
increment(stat: string, sample_rate?: number, tags?: string[]): void;
incrementBy(stat: string, value: number, tags?: string[]): void;
decrement(stat: string, sample_rate?: number, tags?: string[]): void;
decrementBy(stat: string, value: number, tags?: string[]): void;
gauge(stat: string, value: number, sample_rate?: number, tags?: string[]): void;
histogram(stat: string, time: number, sample_rate?: number, tags?: string[]): void;
close(): void;
}
}