public CounterServoMetric(MonitorConfig config, HystrixServoMetricsPublisherAbstract publisher, Func <T> getValue)
     : base(config
            .withAdditionalTag(DataSourceType.COUNTER)
            .withAdditionalTag(publisher.ServoTypeTag)
            .withAdditionalTag(publisher.ServoInstanceTag))
 {
     this.getValue = getValue;
 }
 public InformationalServoMetric(MonitorConfig config, HystrixServoMetricsPublisherAbstract publisher, Func <T> getValue)
     : base(config
            .withAdditionalTag(DataSourceType.INFORMATIONAL)
            .withAdditionalTag(publisher.ServoTypeTag)
            .withAdditionalTag(publisher.ServoInstanceTag))
 {
     this.getValue = getValue;
 }
        public static IMonitor <T> InformationalMetric <T>(HystrixServoMetricsPublisherAbstract self, MonitorConfig config, Func <T> getValue)
        {
            var monitor = new HystrixServoMetricsPublisherAbstract.InformationalServoMetric <T>(config, self, getValue);

            return(monitor);
        }
        public static IMonitor <T> CounterMetric <T>(HystrixServoMetricsPublisherAbstract self, MonitorConfig config, Func <T> getValue)
        {
            var monitor = new HystrixServoMetricsPublisherAbstract.CounterServoMetric <T>(config, self, getValue);

            return(monitor);
        }