@@ -18,15 +18,17 @@ public class AggregationTests
1818 EndpointInstanceActivityTracker activityTracker ;
1919 IEndpointMetricsApi endpointMetricsApi ;
2020
21+ MessageTypeRegistry messageTypeRegistry ;
22+
2123 [ SetUp ]
2224 public void Setup ( )
2325 {
2426 settings = new Settings { EndpointUptimeGracePeriod = TimeSpan . FromMinutes ( 5 ) } ;
2527 activityTracker = new EndpointInstanceActivityTracker ( settings , TimeProvider . System ) ;
2628 processingTimeStore = new ProcessingTimeStore ( ) ;
2729 endpointRegistry = new EndpointRegistry ( ) ;
30+ messageTypeRegistry = new MessageTypeRegistry ( ) ;
2831
29- var messageTypeRegistry = new MessageTypeRegistry ( ) ;
3032 var breakdownProviders = new IProvideBreakdown [ ]
3133 {
3234 processingTimeStore ,
@@ -47,20 +49,29 @@ public void MetricAggregationByInstanceIsScopedToLogicalEndpoint()
4749 endpointRegistry . Record ( instanceAId ) ;
4850 endpointRegistry . Record ( instanceBId ) ;
4951
52+ messageTypeRegistry . Record ( new EndpointMessageType ( instanceAId . EndpointName , enclosedMessageTypes : "MessageA" ) ) ;
53+ messageTypeRegistry . Record ( new EndpointMessageType ( instanceBId . EndpointName , enclosedMessageTypes : "MessageA" ) ) ;
54+
5055 var period = HistoryPeriod . FromMinutes ( EndpointMetricsApi . DefaultHistory ) ;
5156 var now = DateTime . UtcNow . Subtract ( new TimeSpan ( period . IntervalSize . Ticks * period . DelayedIntervals ) ) ;
5257
5358 var dataA = new RawMessage . Entry { DateTicks = now . Ticks , Value = 5 } ;
5459 var dataB = new RawMessage . Entry { DateTicks = now . Ticks , Value = 10 } ;
5560
56- processingTimeStore . Store ( [ dataA ] , instanceAId , EndpointMessageType . Unknown ( instanceAId . EndpointName ) ) ;
57- processingTimeStore . Store ( [ dataB ] , instanceBId , EndpointMessageType . Unknown ( instanceBId . EndpointName ) ) ;
61+ processingTimeStore . Store ( [ dataA ] , instanceAId , new EndpointMessageType ( instanceAId . EndpointName , enclosedMessageTypes : "MessageA" ) ) ;
62+ processingTimeStore . Store ( [ dataB ] , instanceBId , new EndpointMessageType ( instanceBId . EndpointName , enclosedMessageTypes : "MessageA" ) ) ;
5863
59- var result = endpointMetricsApi . GetSingleEndpointMetrics ( instanceAId . EndpointName ) ;
64+ var logicalEndpointAMetrics = endpointMetricsApi . GetSingleEndpointMetrics ( instanceAId . EndpointName ) ;
65+ var logicalEndpointBMetrics = endpointMetricsApi . GetSingleEndpointMetrics ( instanceBId . EndpointName ) ;
6066
61- var model = result ;
67+ Assert . Multiple ( ( ) =>
68+ {
69+ Assert . That ( logicalEndpointAMetrics . Instances [ 0 ] . Metrics [ "ProcessingTime" ] . Average , Is . EqualTo ( 5 ) ) ;
70+ Assert . That ( logicalEndpointBMetrics . Instances [ 0 ] . Metrics [ "ProcessingTime" ] . Average , Is . EqualTo ( 10 ) ) ;
6271
63- Assert . That ( model . Instances [ 0 ] . Metrics [ "ProcessingTime" ] . Average , Is . EqualTo ( 5 ) ) ;
72+ Assert . That ( logicalEndpointAMetrics . MessageTypes [ 0 ] . Metrics [ "ProcessingTime" ] . Average , Is . EqualTo ( 5 ) ) ;
73+ Assert . That ( logicalEndpointBMetrics . MessageTypes [ 0 ] . Metrics [ "ProcessingTime" ] . Average , Is . EqualTo ( 10 ) ) ;
74+ } ) ;
6475 }
6576
6677 [ Test ]
0 commit comments