Skip to content

dil-spayne/statsd-csharp-client

 
 

Repository files navigation

Statsd Client

Build status NuGet Version

A .NET Standard compatible C# client to interface with Etsy's excellent statsd server.

Install the client via NuGet with the StatsdClient package.

Usage

At app startup, configure the Metrics class:

Metrics.Configure(new MetricsConfig
{
  StatsdServerName = "hostname",
  Prefix = "myApp.prod"
});

Start measuring all the things!

Metrics.Counter("stat-name");
Metrics.Time(() => myMethod(), "timer-name");
var result = Metrics.Time(() => GetResult(), "timer-name");
var result = await Metrics.Time(async () => await myAsyncMethod(), "timer-name");
Metrics.GaugeAbsoluteValue("gauge-name", 35);
Metrics.GaugeDelta("gauge-name", -5);
Metrics.Set("something-special", "3");

using (Metrics.StartTimer("stat-name"))
{
  // Lots of code here
}

Advanced Features

To enable these, see the MetricsConfig class discussed above.

  • UseTcpProtocol: sends metrics to statsd via TCP. While supported, UDP is recommended in most cases. If you need TCP reliability, a relay service running locally on the server which you'd send UDP to, and it would relay via TCP, is advised.

Contributing

See the Contributing guidelines.

About

Statsd C# Client

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.3%
  • PowerShell 0.7%