@@ -39,7 +39,7 @@ public void Navigation_RecordsMetric()
3939 // Arrange
4040 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
4141 using var navigationCounter = new MetricCollector < long > ( _meterFactory ,
42- ComponentsMetrics . MeterName , "aspnetcore.components.navigation " ) ;
42+ ComponentsMetrics . MeterName , "aspnetcore.components.navigate " ) ;
4343
4444 // Act
4545 componentsMetrics . Navigation ( "TestComponent" , "/test-route" ) ;
@@ -61,7 +61,7 @@ public void IsNavigationEnabled_ReturnsCorrectState()
6161
6262 // Create a collector to ensure the meter is enabled
6363 using var navigationCounter = new MetricCollector < long > ( _meterFactory ,
64- ComponentsMetrics . MeterName , "aspnetcore.components.navigation " ) ;
64+ ComponentsMetrics . MeterName , "aspnetcore.components.navigate " ) ;
6565
6666 // Act & Assert
6767 Assert . True ( componentsMetrics . IsNavigationEnabled ) ;
@@ -73,7 +73,7 @@ public async Task CaptureEventDuration_RecordsSuccessMetric()
7373 // Arrange
7474 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
7575 using var eventDurationHistogram = new MetricCollector < double > ( _meterFactory ,
76- ComponentsMetrics . MeterName , "aspnetcore.components.event_handler " ) ;
76+ ComponentsMetrics . MeterName , "aspnetcore.components.handle_event.duration " ) ;
7777
7878 // Act
7979 var startTimestamp = Stopwatch . GetTimestamp ( ) ;
@@ -98,7 +98,7 @@ public async Task CaptureEventDuration_RecordsErrorMetric()
9898 // Arrange
9999 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
100100 using var eventDurationHistogram = new MetricCollector < double > ( _meterFactory ,
101- ComponentsMetrics . MeterName , "aspnetcore.components.event_handler " ) ;
101+ ComponentsMetrics . MeterName , "aspnetcore.components.handle_event.duration " ) ;
102102
103103 // Act
104104 var startTimestamp = Stopwatch . GetTimestamp ( ) ;
@@ -123,7 +123,7 @@ public void FailEventSync_RecordsErrorMetric()
123123 // Arrange
124124 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
125125 using var eventDurationHistogram = new MetricCollector < double > ( _meterFactory ,
126- ComponentsMetrics . MeterName , "aspnetcore.components.event_handler " ) ;
126+ ComponentsMetrics . MeterName , "aspnetcore.components.handle_event.duration " ) ;
127127 var exception = new InvalidOperationException ( ) ;
128128
129129 // Act
@@ -150,7 +150,7 @@ public void IsEventEnabled_ReturnsCorrectState()
150150
151151 // Create a collector to ensure the meter is enabled
152152 using var eventDurationHistogram = new MetricCollector < double > ( _meterFactory ,
153- ComponentsMetrics . MeterName , "aspnetcore.components.event_handler " ) ;
153+ ComponentsMetrics . MeterName , "aspnetcore.components.handle_event.duration " ) ;
154154
155155 // Act & Assert
156156 Assert . True ( componentsMetrics . IsEventEnabled ) ;
@@ -162,7 +162,7 @@ public async Task CaptureParametersDuration_RecordsSuccessMetric()
162162 // Arrange
163163 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
164164 using var parametersDurationHistogram = new MetricCollector < double > ( _meterFactory ,
165- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters" ) ;
165+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters.duration " ) ;
166166
167167 // Act
168168 var startTimestamp = Stopwatch . GetTimestamp ( ) ;
@@ -184,7 +184,7 @@ public async Task CaptureParametersDuration_RecordsErrorMetric()
184184 // Arrange
185185 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
186186 using var parametersDurationHistogram = new MetricCollector < double > ( _meterFactory ,
187- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters" ) ;
187+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters.duration " ) ;
188188
189189 // Act
190190 var startTimestamp = Stopwatch . GetTimestamp ( ) ;
@@ -207,7 +207,7 @@ public void FailParametersSync_RecordsErrorMetric()
207207 // Arrange
208208 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
209209 using var parametersDurationHistogram = new MetricCollector < double > ( _meterFactory ,
210- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters" ) ;
210+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters.duration " ) ;
211211 var exception = new InvalidOperationException ( ) ;
212212
213213 // Act
@@ -231,7 +231,7 @@ public void IsParametersEnabled_ReturnsCorrectState()
231231
232232 // Create a collector to ensure the meter is enabled
233233 using var parametersDurationHistogram = new MetricCollector < double > ( _meterFactory ,
234- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters" ) ;
234+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters.duration " ) ;
235235
236236 // Act & Assert
237237 Assert . True ( componentsMetrics . IsParametersEnabled ) ;
@@ -243,7 +243,7 @@ public async Task CaptureBatchDuration_RecordsSuccessMetric()
243243 // Arrange
244244 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
245245 using var batchDurationHistogram = new MetricCollector < double > ( _meterFactory ,
246- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff" ) ;
246+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff.duration " ) ;
247247
248248 // Act
249249 var startTimestamp = Stopwatch . GetTimestamp ( ) ;
@@ -255,7 +255,6 @@ public async Task CaptureBatchDuration_RecordsSuccessMetric()
255255
256256 Assert . Single ( measurements ) ;
257257 Assert . True ( measurements [ 0 ] . Value > 0 ) ;
258- Assert . Equal ( 50 , Assert . Contains ( "aspnetcore.components.diff.length" , measurements [ 0 ] . Tags ) ) ;
259258 Assert . DoesNotContain ( "error.type" , measurements [ 0 ] . Tags ) ;
260259 }
261260
@@ -265,7 +264,7 @@ public async Task CaptureBatchDuration_RecordsErrorMetric()
265264 // Arrange
266265 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
267266 using var batchDurationHistogram = new MetricCollector < double > ( _meterFactory ,
268- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff" ) ;
267+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff.duration " ) ;
269268
270269 // Act
271270 var startTimestamp = Stopwatch . GetTimestamp ( ) ;
@@ -278,7 +277,6 @@ await componentsMetrics.CaptureBatchDuration(Task.FromException(new InvalidOpera
278277
279278 Assert . Single ( measurements ) ;
280279 Assert . True ( measurements [ 0 ] . Value > 0 ) ;
281- Assert . Equal ( 50 , Assert . Contains ( "aspnetcore.components.diff.length" , measurements [ 0 ] . Tags ) ) ;
282280 Assert . Equal ( "System.InvalidOperationException" , Assert . Contains ( "error.type" , measurements [ 0 ] . Tags ) ) ;
283281 }
284282
@@ -288,7 +286,7 @@ public void FailBatchSync_RecordsErrorMetric()
288286 // Arrange
289287 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
290288 using var batchDurationHistogram = new MetricCollector < double > ( _meterFactory ,
291- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff" ) ;
289+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff.duration " ) ;
292290 var exception = new InvalidOperationException ( ) ;
293291
294292 // Act
@@ -300,7 +298,6 @@ public void FailBatchSync_RecordsErrorMetric()
300298
301299 Assert . Single ( measurements ) ;
302300 Assert . True ( measurements [ 0 ] . Value > 0 ) ;
303- Assert . Equal ( 0 , Assert . Contains ( "aspnetcore.components.diff.length" , measurements [ 0 ] . Tags ) ) ;
304301 Assert . Equal ( "System.InvalidOperationException" , Assert . Contains ( "error.type" , measurements [ 0 ] . Tags ) ) ;
305302 }
306303
@@ -312,7 +309,7 @@ public void IsBatchEnabled_ReturnsCorrectState()
312309
313310 // Create a collector to ensure the meter is enabled
314311 using var batchDurationHistogram = new MetricCollector < double > ( _meterFactory ,
315- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff" ) ;
312+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff.duration " ) ;
316313
317314 // Act & Assert
318315 Assert . True ( componentsMetrics . IsBatchEnabled ) ;
@@ -324,13 +321,15 @@ public async Task ComponentLifecycle_RecordsAllMetricsCorrectly()
324321 // Arrange
325322 var componentsMetrics = new ComponentsMetrics ( _meterFactory ) ;
326323 using var navigationCounter = new MetricCollector < long > ( _meterFactory ,
327- ComponentsMetrics . MeterName , "aspnetcore.components.navigation " ) ;
324+ ComponentsMetrics . MeterName , "aspnetcore.components.navigate " ) ;
328325 using var eventDurationHistogram = new MetricCollector < double > ( _meterFactory ,
329- ComponentsMetrics . MeterName , "aspnetcore.components.event_handler " ) ;
326+ ComponentsMetrics . MeterName , "aspnetcore.components.handle_event.duration " ) ;
330327 using var parametersDurationHistogram = new MetricCollector < double > ( _meterFactory ,
331- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters" ) ;
328+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.update_parameters.duration " ) ;
332329 using var batchDurationHistogram = new MetricCollector < double > ( _meterFactory ,
333- ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff" ) ;
330+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff.duration" ) ;
331+ using var batchSizeHistogram = new MetricCollector < int > ( _meterFactory ,
332+ ComponentsMetrics . LifecycleMeterName , "aspnetcore.components.render_diff.size" ) ;
334333
335334 // Act - Simulate a component lifecycle
336335 // 1. Navigation
@@ -357,11 +356,13 @@ await componentsMetrics.CaptureEventDuration(Task.CompletedTask, startTimestamp2
357356 var eventMeasurements = eventDurationHistogram . GetMeasurementSnapshot ( ) ;
358357 var parametersMeasurements = parametersDurationHistogram . GetMeasurementSnapshot ( ) ;
359358 var batchMeasurements = batchDurationHistogram . GetMeasurementSnapshot ( ) ;
359+ var batchSizeMeasurements = batchSizeHistogram . GetMeasurementSnapshot ( ) ;
360360
361361 Assert . Single ( navigationMeasurements ) ;
362362 Assert . Single ( eventMeasurements ) ;
363363 Assert . Single ( parametersMeasurements ) ;
364364 Assert . Single ( batchMeasurements ) ;
365+ Assert . Single ( batchSizeMeasurements ) ;
365366
366367 // Check navigation
367368 Assert . Equal ( 1 , navigationMeasurements [ 0 ] . Value ) ;
@@ -380,7 +381,7 @@ await componentsMetrics.CaptureEventDuration(Task.CompletedTask, startTimestamp2
380381
381382 // Check batch duration
382383 Assert . True ( batchMeasurements [ 0 ] . Value > 0 ) ;
383- Assert . Equal ( 20 , Assert . Contains ( "aspnetcore.components.diff.length" , batchMeasurements [ 0 ] . Tags ) ) ;
384+ Assert . True ( batchSizeMeasurements [ 0 ] . Value > 0 ) ;
384385 }
385386
386387 [ Fact ]
0 commit comments