public void Calculate_WithNullName_ReturnsTagsHashCode() { const string emptyTagsHashCode = "17"; var result = MetricIdentifier.Calculate(null); result.Should().Be(emptyTagsHashCode); }
public void Calculate_WithName_UsesDefaultTags() { const string emptyTagsHashCode = "17"; var result = MetricIdentifier.Calculate("test"); result.Should().Be("test" + emptyTagsHashCode); }
/// <summary> /// Update the number of EventDetail items reported by the report. /// </summary> /// <param name="reportIdentifier">The unique identifier for a report.</param> /// <param name="events">The events reported by the reporter.</param> public static void UpdateTotalReportedEvents(int reportIdentifier, IEnumerable <EventValueSource> events) { if (reportIdentifier >= 0 && reportIdentifier < ReportEventCounts.Count) { foreach (var evntSrc in events) { var count = evntSrc.Value.Events.Count; var eventMetricId = MetricIdentifier.Calculate(evntSrc.Name, evntSrc.Tags); var report = ReportEventCounts[reportIdentifier]; var eventCount = report.FirstOrDefault(e => e.EventMetricIdentifier == eventMetricId); if (eventCount != null) { eventCount.TotalEventsReported = count; } else { report.Add(new EventCount { EventMetricIdentifier = eventMetricId, TotalEventsReported = count }); } } } }
public static void UnregisterHealthCheck(string healthCheckName, MetricTags tags = default(MetricTags)) { HealthCheck healthCheck; var name = MetricIdentifier.Calculate(healthCheckName, tags); checks.TryRemove(name, out healthCheck); }
public void Calculate_WithInvertedTagValueOptions_ReturnsDifferentHashCodes() { var tempTags1 = new Dictionary <string, string>(); tempTags1.Add("key", "value"); var tempTags2 = new Dictionary <string, string>(); tempTags2.Add("value", "key"); var result1 = MetricIdentifier.Calculate("test", tempTags1); var result2 = MetricIdentifier.Calculate("test", tempTags2); result1.Should().NotBe(result2); }
public void Calculate_WithDiffTagKeySameValue_ReturnsDifferentHashCodes() { var tempTags1 = new Dictionary <string, string>(); tempTags1.Add("key1", "abc"); var tempTags2 = new Dictionary <string, string>(); tempTags2.Add("key2", "abc"); var result1 = MetricIdentifier.Calculate("test", tempTags1); var result2 = MetricIdentifier.Calculate("test", tempTags2); result1.Should().NotBe(result2); }
/// <summary> /// Registers a custom health check. /// </summary> /// <param name="healthCheck">Custom health check to register.</param> public static void RegisterHealthCheck(HealthCheck healthCheck) { var name = MetricIdentifier.Calculate(healthCheck.Name, healthCheck.Tags); checks.AddOrUpdate(name, healthCheck, (key, old) => healthCheck); }