@@ -53,6 +53,9 @@ public class LoadStatsManager2Test {
5353 private static final Locality LOCALITY3 =
5454 Locality .create ("test_region3" , "test_zone3" , "test_subzone3" );
5555
56+ private static final BackendMetricPropagation PROPAGATE_ALL =
57+ BackendMetricPropagation .fromMetricSpecs (Arrays .asList ("named_metrics.*" ));
58+
5659 private final FakeClock fakeClock = new FakeClock ();
5760 private final LoadStatsManager2 loadStatsManager =
5861 new LoadStatsManager2 (fakeClock .getStopwatchSupplier ());
@@ -64,11 +67,11 @@ public void recordAndGetReport() {
6467 ClusterDropStats dropCounter2 = loadStatsManager .getClusterDropStats (
6568 CLUSTER_NAME1 , EDS_SERVICE_NAME2 );
6669 ClusterLocalityStats loadCounter1 = loadStatsManager .getClusterLocalityStats (
67- CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY1 );
70+ CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY1 , PROPAGATE_ALL );
6871 ClusterLocalityStats loadCounter2 = loadStatsManager .getClusterLocalityStats (
69- CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY2 );
72+ CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY2 , PROPAGATE_ALL );
7073 ClusterLocalityStats loadCounter3 = loadStatsManager .getClusterLocalityStats (
71- CLUSTER_NAME2 , null , LOCALITY3 );
74+ CLUSTER_NAME2 , null , LOCALITY3 , PROPAGATE_ALL );
7275 dropCounter1 .recordDroppedRequest ("lb" );
7376 dropCounter1 .recordDroppedRequest ("throttle" );
7477 for (int i = 0 ; i < 19 ; i ++) {
@@ -106,31 +109,31 @@ public void recordAndGetReport() {
106109 assertThat (loadStats1 .totalSuccessfulRequests ()).isEqualTo (1L );
107110 assertThat (loadStats1 .totalErrorRequests ()).isEqualTo (0L );
108111 assertThat (loadStats1 .totalRequestsInProgress ()).isEqualTo (19L - 1L );
109- assertThat (loadStats1 .loadMetricStatsMap ().containsKey ("named1" )).isTrue ();
110- assertThat (loadStats1 .loadMetricStatsMap ().containsKey ("named2" )).isTrue ();
112+ assertThat (loadStats1 .loadMetricStatsMap ().containsKey ("named_metrics. named1" )).isTrue ();
113+ assertThat (loadStats1 .loadMetricStatsMap ().containsKey ("named_metrics. named2" )).isTrue ();
111114 assertThat (
112- loadStats1 .loadMetricStatsMap ().get ("named1" ). numRequestsFinishedWithMetric ()). isEqualTo (
113- 4L );
114- assertThat (loadStats1 .loadMetricStatsMap ().get ("named1" ).totalMetricValue ()). isWithin ( TOLERANCE )
115- .of (3.14159 + 1.618 + 99 - 97.23 );
115+ loadStats1 .loadMetricStatsMap ().get ("named_metrics. named1" )
116+ . numRequestsFinishedWithMetric ()). isEqualTo ( 4L );
117+ assertThat (loadStats1 .loadMetricStatsMap ().get ("named_metrics. named1" ).totalMetricValue ())
118+ .isWithin ( TOLERANCE ). of (3.14159 + 1.618 + 99 - 97.23 );
116119 assertThat (
117- loadStats1 .loadMetricStatsMap ().get ("named2" ). numRequestsFinishedWithMetric ()). isEqualTo (
118- 1L );
119- assertThat (loadStats1 .loadMetricStatsMap ().get ("named2" ).totalMetricValue ()). isWithin ( TOLERANCE )
120- .of (-2.718 );
120+ loadStats1 .loadMetricStatsMap ().get ("named_metrics. named2" )
121+ . numRequestsFinishedWithMetric ()). isEqualTo ( 1L );
122+ assertThat (loadStats1 .loadMetricStatsMap ().get ("named_metrics. named2" ).totalMetricValue ())
123+ .isWithin ( TOLERANCE ). of (-2.718 );
121124
122125 UpstreamLocalityStats loadStats2 =
123126 findLocalityStats (stats1 .upstreamLocalityStatsList (), LOCALITY2 );
124127 assertThat (loadStats2 .totalIssuedRequests ()).isEqualTo (9L );
125128 assertThat (loadStats2 .totalSuccessfulRequests ()).isEqualTo (0L );
126129 assertThat (loadStats2 .totalErrorRequests ()).isEqualTo (1L );
127130 assertThat (loadStats2 .totalRequestsInProgress ()).isEqualTo (9L - 1L );
128- assertThat (loadStats2 .loadMetricStatsMap ().containsKey ("named3" )).isTrue ();
131+ assertThat (loadStats2 .loadMetricStatsMap ().containsKey ("named_metrics. named3" )).isTrue ();
129132 assertThat (
130- loadStats2 .loadMetricStatsMap ().get ("named3" ). numRequestsFinishedWithMetric ()). isEqualTo (
131- 1L );
132- assertThat (loadStats2 .loadMetricStatsMap ().get ("named3" ).totalMetricValue ()). isWithin ( TOLERANCE )
133- .of (0.0009 );
133+ loadStats2 .loadMetricStatsMap ().get ("named_metrics. named3" )
134+ . numRequestsFinishedWithMetric ()). isEqualTo ( 1L );
135+ assertThat (loadStats2 .loadMetricStatsMap ().get ("named_metrics. named3" ).totalMetricValue ())
136+ .isWithin ( TOLERANCE ). of (0.0009 );
134137
135138 ClusterStats stats2 = findClusterStats (allStats , CLUSTER_NAME1 , EDS_SERVICE_NAME2 );
136139 assertThat (stats2 .loadReportIntervalNano ()).isEqualTo (TimeUnit .SECONDS .toNanos (5L + 10L ));
@@ -221,9 +224,9 @@ public void dropCounterDelayedDeletionAfterReported() {
221224 @ Test
222225 public void sharedLoadCounterStatsAggregation () {
223226 ClusterLocalityStats ref1 = loadStatsManager .getClusterLocalityStats (
224- CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY1 );
227+ CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY1 , PROPAGATE_ALL );
225228 ClusterLocalityStats ref2 = loadStatsManager .getClusterLocalityStats (
226- CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY1 );
229+ CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY1 , PROPAGATE_ALL );
227230 ref1 .recordCallStarted ();
228231 ref1 .recordBackendLoadMetricStats (ImmutableMap .of ("named1" , 1.618 ));
229232 ref1 .recordBackendLoadMetricStats (ImmutableMap .of ("named1" , 3.14159 ));
@@ -241,18 +244,18 @@ public void sharedLoadCounterStatsAggregation() {
241244 assertThat (localityStats .totalSuccessfulRequests ()).isEqualTo (1L );
242245 assertThat (localityStats .totalErrorRequests ()).isEqualTo (1L );
243246 assertThat (localityStats .totalRequestsInProgress ()).isEqualTo (1L + 2L - 1L - 1L );
244- assertThat (localityStats .loadMetricStatsMap ().containsKey ("named1" )).isTrue ();
245- assertThat (localityStats .loadMetricStatsMap ().containsKey ("named2" )).isTrue ();
247+ assertThat (localityStats .loadMetricStatsMap ().containsKey ("named_metrics. named1" )).isTrue ();
248+ assertThat (localityStats .loadMetricStatsMap ().containsKey ("named_metrics. named2" )).isTrue ();
246249 assertThat (
247- localityStats .loadMetricStatsMap ().get ("named1" ). numRequestsFinishedWithMetric ()). isEqualTo (
248- 3L );
249- assertThat (localityStats .loadMetricStatsMap ().get ("named1" ). totalMetricValue ()). isWithin (
250- TOLERANCE ).of (1.618 + 3.14159 - 1 );
250+ localityStats .loadMetricStatsMap ().get ("named_metrics. named1" )
251+ . numRequestsFinishedWithMetric ()). isEqualTo ( 3L );
252+ assertThat (localityStats .loadMetricStatsMap ().get ("named_metrics. named1" )
253+ . totalMetricValue ()). isWithin ( TOLERANCE ).of (1.618 + 3.14159 - 1 );
251254 assertThat (
252- localityStats .loadMetricStatsMap ().get ("named2" ). numRequestsFinishedWithMetric ()). isEqualTo (
253- 1L );
254- assertThat (localityStats .loadMetricStatsMap ().get ("named2" ). totalMetricValue ()). isEqualTo (
255- 2.718 );
255+ localityStats .loadMetricStatsMap ().get ("named_metrics. named2" )
256+ . numRequestsFinishedWithMetric ()). isEqualTo ( 1L );
257+ assertThat (localityStats .loadMetricStatsMap ().get ("named_metrics. named2" )
258+ . totalMetricValue ()). isEqualTo ( 2.718 );
256259 }
257260
258261 @ Test
@@ -311,7 +314,7 @@ public void recordMetrics_orcaLrsPropagationEnabled_wildcardNamedMetrics() {
311314 @ Test
312315 public void loadCounterDelayedDeletionAfterAllInProgressRequestsReported () {
313316 ClusterLocalityStats counter = loadStatsManager .getClusterLocalityStats (
314- CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY1 );
317+ CLUSTER_NAME1 , EDS_SERVICE_NAME1 , LOCALITY1 , PROPAGATE_ALL );
315318 counter .recordCallStarted ();
316319 counter .recordCallStarted ();
317320 counter .recordBackendLoadMetricStats (ImmutableMap .of ("named1" , 2.718 ));
@@ -325,12 +328,12 @@ public void loadCounterDelayedDeletionAfterAllInProgressRequestsReported() {
325328 assertThat (localityStats .totalSuccessfulRequests ()).isEqualTo (0L );
326329 assertThat (localityStats .totalErrorRequests ()).isEqualTo (0L );
327330 assertThat (localityStats .totalRequestsInProgress ()).isEqualTo (2L );
328- assertThat (localityStats .loadMetricStatsMap ().containsKey ("named1" )).isTrue ();
331+ assertThat (localityStats .loadMetricStatsMap ().containsKey ("named_metrics. named1" )).isTrue ();
329332 assertThat (
330- localityStats .loadMetricStatsMap ().get ("named1" ). numRequestsFinishedWithMetric ()). isEqualTo (
331- 2L );
332- assertThat (localityStats .loadMetricStatsMap ().get ("named1" ). totalMetricValue ()). isEqualTo (
333- 2.718 + 1.414 );
333+ localityStats .loadMetricStatsMap ().get ("named_metrics. named1" )
334+ . numRequestsFinishedWithMetric ()). isEqualTo ( 2L );
335+ assertThat (localityStats .loadMetricStatsMap ().get ("named_metrics. named1" )
336+ . totalMetricValue ()). isEqualTo ( 2.718 + 1.414 );
334337
335338 // release the counter, but requests still in-flight
336339 counter .release ();
0 commit comments