using System;
using System.Collections.Generic;
using System.Linq;
using PipServices3.Components.Count;
class Program
{
static void Main(string[] args)
{
var countersCached = new MyCachedCounters();
var mycomponentCached = new MyComponent(countersCached);
var countExec = 2;
for (var i = 0; i < countExec; i++)
mycomponentCached.MyMethod();
var resultCached = countersCached.GetAll();
Console.WriteLine("Metrics");
foreach (var res in resultCached)
{
Console.WriteLine("Count: " + res.Count);
Console.WriteLine("Min: " + res.Min);
Console.WriteLine("Max: " + res.Max);
Console.WriteLine("Average: " + res.Average);
Console.WriteLine("Time: " + res.Time.ToString());
Console.WriteLine("Name: " + res.Name);
Console.WriteLine("Type: " + res.Type);
Console.WriteLine("-----------------");
}
}
}
class MyCachedCounters : CachedCounters
{
protected override void Save(IEnumerable<Counter> counters)
{
var countersList = counters.ToList();
Console.WriteLine("Saving " + countersList[0].Name + " and " + countersList[1].Name);
}
}