using System.Threading.Tasks; namespace StatsdClient { /// /// Interface for the statsd.net client /// public interface IStatsd { /// /// Log a count for a metric /// Task LogCountAsync(string name, long count = 1); /// /// Log a gauge value /// Task LogGaugeAsync(string name, long value); /// /// Log a latency / Timing /// Task LogTimingAsync(string name, long milliseconds); /// /// Log the number of unique occurrances of something /// /// /// Task LogSetAsync(string name, long value); /// /// Log a calendargram metric /// /// The metric namespace /// The unique value to be counted in the time period /// The time period, can be one of h,d,dow,w,m Task LogCalendargramAsync(string name, string value, string period); /// /// Log a calendargram metric /// /// The metric namespace /// The unique value to be counted in the time period /// The time period, can be one of h,d,dow,w,m Task LogCalendargramAsync(string name, long value, string period); /// /// Log a raw metric that will not get aggregated on the server. /// /// The metric name. /// The metric value. /// (optional) The epoch timestamp. Leave this blank to have the server assign an epoch for you. Task LogRawAsync(string name, long value, long? epoch = null); } }