Skip to content

Commit 1e97351

Browse files
committed
refactor(telemetry): update metric naming conventions
1 parent 44f030f commit 1e97351

File tree

6 files changed

+36
-34
lines changed

6 files changed

+36
-34
lines changed

src/HttpUserAgentParser.AspNetCore/Telemetry/HttpUserAgentParserAspNetCoreMeters.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ public static void Enable(Meter? meter = null)
6060
s_meter = meter ?? new Meter(MeterName);
6161

6262
s_userAgentPresent = s_meter.CreateCounter<long>(
63-
name: "useragent-present",
64-
unit: "calls",
63+
name: "user_agent.present",
64+
unit: "{call}",
6565
description: "User-Agent header present");
6666

6767
s_userAgentMissing = s_meter.CreateCounter<long>(
68-
name: "useragent-missing",
69-
unit: "calls",
68+
name: "user_agent.missing",
69+
unit: "{call}",
7070
description: "User-Agent header missing");
7171
}
7272

src/HttpUserAgentParser.MemoryCache/Telemetry/HttpUserAgentParserMemoryCacheMeters.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,19 @@ public static void Enable(Meter? meter = null)
3333
s_meter = meter ?? new Meter(MeterName);
3434

3535
s_cacheHit = s_meter.CreateCounter<long>(
36-
name: "cache-hit",
37-
unit: "calls",
36+
name: "cache.hit",
37+
unit: "{call}",
3838
description: "MemoryCache cache hit");
3939

4040
s_cacheMiss = s_meter.CreateCounter<long>(
41-
name: "cache-miss",
42-
unit: "calls",
41+
name: "cache.miss",
42+
unit: "{call}",
4343
description: "MemoryCache cache miss");
4444

4545
s_cacheSize = s_meter.CreateObservableGauge<long>(
46-
name: "cache-size",
46+
name: "cache.size",
4747
observeValue: static () => HttpUserAgentParserMemoryCacheTelemetryState.CacheSize,
48-
unit: "entries",
48+
unit: "{entry}",
4949
description: "MemoryCache cache size");
5050
}
5151

src/HttpUserAgentParser/Telemetry/HttpUserAgentParserMeters.cs

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ internal static class HttpUserAgentParserMeters
2727
private static Meter? s_meter;
2828

2929
private static Counter<long>? s_parseRequests;
30-
private static Histogram<double>? s_parseDurationMs;
30+
private static Histogram<double>? s_parseDuration;
3131

3232
private static Counter<long>? s_concurrentCacheHit;
3333
private static Counter<long>? s_concurrentCacheMiss;
@@ -41,7 +41,7 @@ internal static class HttpUserAgentParserMeters
4141
/// <summary>
4242
/// Gets whether the parse duration histogram is currently enabled by a listener.
4343
/// </summary>
44-
public static bool IsParseDurationEnabled => s_parseDurationMs?.Enabled ?? false;
44+
public static bool IsParseDurationEnabled => s_parseDuration?.Enabled ?? false;
4545

4646
/// <summary>
4747
/// Initializes the meter and creates all metric instruments.
@@ -59,29 +59,31 @@ public static void Enable(Meter? meter = null)
5959
s_meter = meter ?? new Meter(MeterName);
6060

6161
s_parseRequests = s_meter.CreateCounter<long>(
62-
name: "parse-requests",
63-
unit: "calls",
62+
name: "parse.requests",
63+
unit: "{call}",
6464
description: "User-Agent parse requests");
6565

66-
s_parseDurationMs = s_meter.CreateHistogram<double>(
67-
name: "parse-duration",
66+
// Using "ms" instead of "s" because parse times are sub-millisecond,
67+
// making milliseconds more readable than fractional seconds.
68+
s_parseDuration = s_meter.CreateHistogram<double>(
69+
name: "parse.duration",
6870
unit: "ms",
6971
description: "Parse duration");
7072

7173
s_concurrentCacheHit = s_meter.CreateCounter<long>(
72-
name: "cache-concurrentdictionary-hit",
73-
unit: "calls",
74+
name: "cache.concurrent_dictionary.hit",
75+
unit: "{call}",
7476
description: "ConcurrentDictionary cache hit");
7577

7678
s_concurrentCacheMiss = s_meter.CreateCounter<long>(
77-
name: "cache-concurrentdictionary-miss",
78-
unit: "calls",
79+
name: "cache.concurrent_dictionary.miss",
80+
unit: "{call}",
7981
description: "ConcurrentDictionary cache miss");
8082

8183
s_concurrentCacheSize = s_meter.CreateObservableGauge<long>(
82-
name: "cache-concurrentdictionary-size",
84+
name: "cache.concurrent_dictionary.size",
8385
observeValue: static () => HttpUserAgentParserTelemetryState.ConcurrentCacheSize,
84-
unit: "entries",
86+
unit: "{entry}",
8587
description: "ConcurrentDictionary cache size");
8688
}
8789

@@ -95,7 +97,7 @@ public static void Enable(Meter? meter = null)
9597
/// Records the parse duration in milliseconds.
9698
/// </summary>
9799
[MethodImpl(MethodImplOptions.AggressiveInlining)]
98-
public static void ParseDuration(double milliseconds) => s_parseDurationMs?.Record(milliseconds);
100+
public static void ParseDuration(double milliseconds) => s_parseDuration?.Record(milliseconds);
99101

100102
/// <summary>
101103
/// Emits a counter increment for a concurrent dictionary cache hit.
@@ -118,7 +120,7 @@ public static void ResetForTests()
118120

119121
s_meter = null;
120122
s_parseRequests = null;
121-
s_parseDurationMs = null;
123+
s_parseDuration = null;
122124
s_concurrentCacheHit = null;
123125
s_concurrentCacheMiss = null;
124126
s_concurrentCacheSize = null;

tests/HttpUserAgentParser.AspNetCore.UnitTests/Telemetry/HttpUserAgentParserAspNetCoreMetersTelemetryTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void Meters_Emit_WhenEnabled()
2929
ctx.Request.Headers.Remove("User-Agent");
3030
Assert.Null(ctx.GetUserAgentString());
3131

32-
Assert.Contains("useragent-present", listener.InstrumentNames);
33-
Assert.Contains("useragent-missing", listener.InstrumentNames);
32+
Assert.Contains("user_agent.present", listener.InstrumentNames);
33+
Assert.Contains("user_agent.missing", listener.InstrumentNames);
3434
}
3535
}

tests/HttpUserAgentParser.MemoryCache.UnitTests/Telemetry/HttpUserAgentParserMemoryCacheMetersTelemetryTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ public void Meters_Emit_WhenEnabled()
3030

3131
listener.RecordObservableInstruments();
3232

33-
Assert.Contains("cache-hit", listener.InstrumentNames);
34-
Assert.Contains("cache-miss", listener.InstrumentNames);
35-
Assert.Contains("cache-size", listener.InstrumentNames);
33+
Assert.Contains("cache.hit", listener.InstrumentNames);
34+
Assert.Contains("cache.miss", listener.InstrumentNames);
35+
Assert.Contains("cache.size", listener.InstrumentNames);
3636
}
3737
}

tests/HttpUserAgentParser.UnitTests/Telemetry/HttpUserAgentParserMetersTelemetryTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ public void Meters_Emit_WhenEnabled()
4343

4444
listener.RecordObservableInstruments();
4545

46-
Assert.Contains("parse-requests", listener.InstrumentNames);
47-
Assert.Contains("parse-duration", listener.InstrumentNames);
48-
Assert.Contains("cache-concurrentdictionary-hit", listener.InstrumentNames);
49-
Assert.Contains("cache-concurrentdictionary-miss", listener.InstrumentNames);
50-
Assert.Contains("cache-concurrentdictionary-size", listener.InstrumentNames);
46+
Assert.Contains("parse.requests", listener.InstrumentNames);
47+
Assert.Contains("parse.duration", listener.InstrumentNames);
48+
Assert.Contains("cache.concurrent_dictionary.hit", listener.InstrumentNames);
49+
Assert.Contains("cache.concurrent_dictionary.miss", listener.InstrumentNames);
50+
Assert.Contains("cache.concurrent_dictionary.size", listener.InstrumentNames);
5151
}
5252
}

0 commit comments

Comments
 (0)