Metrics() { this.offlineCounter = Util.Metrics.Metrics.Instance.CreateCounter( "offline_count", "EdgeHub offline count", new List <string> { "id", MetricsConstants.MsTelemetry }); this.offlineDuration = Util.Metrics.Metrics.Instance.CreateDuration( "offline_duration", "EdgeHub offline time", new List <string> { "id", MetricsConstants.MsTelemetry }); }
public FactoryMetrics(IMetricsProvider metricsProvider) { this.commandCounters = Enum.GetValues(typeof(ModuleCommandMetric)).Cast <ModuleCommandMetric>().ToDictionary(c => c, command => { string commandName = Enum.GetName(typeof(ModuleCommandMetric), command).ToLower(); return(metricsProvider.CreateCounter( $"module_{commandName}", "Command sent to module", new List <string> { "module_name", "module_version", MetricsConstants.MsTelemetry })); }); this.commandTiming = metricsProvider.CreateDuration( $"command_latency", "Command sent to module", new List <string> { "command", MetricsConstants.MsTelemetry }); }