本文整理汇总了C#中StatsdClient.Statsd.LogTiming方法的典型用法代码示例。如果您正苦于以下问题:C# Statsd.LogTiming方法的具体用法?C# Statsd.LogTiming怎么用?C# Statsd.LogTiming使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StatsdClient.Statsd
的用法示例。
在下文中一共展示了Statsd.LogTiming方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
var options = new Options();
if (CommandLine.Parser.Default.ParseArgumentsStrict(args, options))
{
var client = new Statsd(options.Host, options.Port, prefix : options.Namespace, connectionType : options.UseTCP ? ConnectionType.Tcp : ConnectionType.Udp);
var tokenSource = new System.Threading.CancellationTokenSource();
var stopwatch = Stopwatch.StartNew();
var totalMetricsSent = 0;
var tasks = new List<Task>();
int numThreads = options.Threads == 0 ? 1 : options.Threads;
for ( int count = 0; count < numThreads; count++ )
{
int myTaskNumber = count;
var task = Task.Factory.StartNew( () =>
{
var rnd = new Random();
int taskNumber = myTaskNumber;
if ( taskNumber == 0 )
{
Console.WriteLine( "Feeding stats to {0}:{1}, ctrl+c to exit.", options.Host, options.Port );
}
while ( true )
{
client.LogCount( "test.count.one." + rnd.Next( 5 ) );
client.LogCount( "test.count.bigValue", rnd.Next( 50 ) );
client.LogTiming( "test.timing." + rnd.Next( 5 ), rnd.Next( 100, 2000 ) );
client.LogGauge( "test.gauge." + rnd.Next( 5 ), rnd.Next( 100 ) );
Thread.Sleep( options.Delay );
Interlocked.Add( ref totalMetricsSent, 4 );
if ( taskNumber == 0 && stopwatch.ElapsedMilliseconds >= 5000 )
{
Console.WriteLine( "Total sent: {0}", totalMetricsSent );
stopwatch.Restart();
}
}
},
tokenSource.Token );
tasks.Add( task );
}
Console.CancelKeyPress += (sender, e) =>
{
tokenSource.Cancel();
};
Task.WaitAll( tasks.ToArray() );
}
}