A .NET 4.0 client for Etsy's StatsD server.
C#
Latest commit 2995fab Jun 1, 2015 @robbihun Merge pull request #8 from efontana/master
Added Setter for Configuration to enable defining host and port in code.

README.md

NStatsD.Client

Build status

The Simpliest .NET 4.0+ client for Etsy's StatsD server.

This client will let you fire stats at your StatsD server from a .NET application. Very useful for mixed technology systems that you would like to keep near real-time stats on.

Requirements

.NET 4.0 (Websocket support)

Installation

Nuget

PM> Install-Package NStatsD.Client

Manually

Just include the Client.cs and the StatsDConfigurationSection.cs files in your project. Add the following to your config's configSections node.

<section name="statsD" type="NStatsD.StatsDConfigurationSection, NStatsD.Client" />

Then add the following to your app config's configuration node.

<!-- the enabled attribute is optional, defaults to true. If set to false, will not send metrics to statsd server -->
<!-- the prefix attribute is optional, if set it will prefix all metrics and append the prefix with a '.' if missing -->
<statsD enabled="true" prefix="test.demo.">
	<server host="localhost" port="8125" />
</statsD>

Usage

// Actual stat that gets sent is "test.demo.increment"
NStatsD.Client.Current.Increment("increment");
NStatsD.Client.Current.Increment("increment", 0.5); // Optional Sample Rate included on all methods
NStatsD.Client.Current.Decrement("decrement");
NStatsD.Client.Current.Timing("timing", 2345);
NStatsD.Client.Current.Gauge("gauge", 45);

License

NStatsD.Client is licensed under the MIT license.