예제 #1
0
파일: AresMetrics.cs 프로젝트: Elders/Ares
        public AresMetrics(string key, IIOperationProperties properties)
        {
            this.key = key;

            healthSnapshot = new Health(0, 0);
            this.counter = new RollingNumber(properties.MetricsRollingStatisticalWindowInMilliseconds, properties.MetricsRollingStatisticalWindowBuckets);
        }
예제 #2
0
 public CircuitBreaker(IIOperationProperties properties, AresMetrics metrics)
 {
     this.properties = properties;
     this.metrics = metrics;
 }
예제 #3
0
 public static AresMetrics Get(string name, IIOperationProperties properties)
 {
     return metrics.GetOrAdd(name, key => new AresMetrics(key, properties));
 }
예제 #4
0
 public static CircuitBreaker Get(string name, IIOperationProperties properties)
 {
     return breakers.GetOrAdd(name, key => new CircuitBreaker(properties, AresMetricsFactory.Get(key, properties)));
 }