2121import org .elasticsearch .test .ESTestCase ;
2222import org .hamcrest .Matchers ;
2323
24+ import java .time .Instant ;
2425import java .util .Arrays ;
2526import java .util .HashMap ;
2627import java .util .HashSet ;
@@ -87,16 +88,16 @@ public void testMovementOfAShardWillMoveThreadPoolUtilisation() {
8788 assertThat (calculatedNodeUsageStats , Matchers .aMapWithSize (2 ));
8889
8990 final var shardWriteLoad = allocation .clusterInfo ().getShardWriteLoads ().get (randomShard .shardId ());
90- final var expectedUtilisationReductionAtSource = shardWriteLoad / originalNode0ThreadPoolStats .totalThreadPoolThreads ();
91- final var expectedUtilisationIncreaseAtDestination = shardWriteLoad / originalNode1ThreadPoolStats .totalThreadPoolThreads ();
91+ final var expectedUtilisationReductionAtSource = shardWriteLoad / originalNode0ThreadPoolStats .numberOfThreads ();
92+ final var expectedUtilisationIncreaseAtDestination = shardWriteLoad / originalNode1ThreadPoolStats .numberOfThreads ();
9293
9394 // Some node_0 utilization should have been moved to node_1
94- if (expectedUtilisationReductionAtSource > originalNode0ThreadPoolStats .averageThreadPoolUtilization ()) {
95+ if (expectedUtilisationReductionAtSource > originalNode0ThreadPoolStats .utilizationSamples (). getLast (). utilization ()) {
9596 // We don't return utilization less than zero because that makes no sense
9697 assertThat (getAverageWritePoolUtilization (shardMovementWriteLoadSimulator , "node_0" ), equalTo (0.0f ));
9798 } else {
9899 assertThat (
99- (double ) originalNode0ThreadPoolStats .averageThreadPoolUtilization () - getAverageWritePoolUtilization (
100+ (double ) originalNode0ThreadPoolStats .utilizationSamples (). getLast (). utilization () - getAverageWritePoolUtilization (
100101 shardMovementWriteLoadSimulator ,
101102 "node_0"
102103 ),
@@ -105,7 +106,9 @@ public void testMovementOfAShardWillMoveThreadPoolUtilisation() {
105106 }
106107 assertThat (
107108 (double ) getAverageWritePoolUtilization (shardMovementWriteLoadSimulator , "node_1" ) - originalNode1ThreadPoolStats
108- .averageThreadPoolUtilization (),
109+ .utilizationSamples ()
110+ .getLast ()
111+ .utilization (),
109112 closeTo (expectedUtilisationIncreaseAtDestination , 0.001f )
110113 );
111114
@@ -117,11 +120,11 @@ public void testMovementOfAShardWillMoveThreadPoolUtilisation() {
117120 // The utilization numbers should return to their original values
118121 assertThat (
119122 getAverageWritePoolUtilization (shardMovementWriteLoadSimulator , "node_0" ),
120- equalTo (originalNode0ThreadPoolStats .averageThreadPoolUtilization ())
123+ equalTo (originalNode0ThreadPoolStats .utilizationSamples (). getLast (). utilization ())
121124 );
122125 assertThat (
123126 getAverageWritePoolUtilization (shardMovementWriteLoadSimulator , "node_1" ),
124- equalTo (originalNode1ThreadPoolStats .averageThreadPoolUtilization ())
127+ equalTo (originalNode1ThreadPoolStats .utilizationSamples (). getLast (). utilization ())
125128 );
126129 }
127130
@@ -150,14 +153,18 @@ public void testMovementBetweenNodesWithNoThreadPoolAndWriteLoadStats() {
150153 private float getAverageWritePoolUtilization (ShardMovementWriteLoadSimulator shardMovementWriteLoadSimulator , String nodeId ) {
151154 final var generatedNodeUsageStates = shardMovementWriteLoadSimulator .simulatedNodeUsageStatsForThreadPools ();
152155 final var node0WritePoolStats = generatedNodeUsageStates .get (nodeId ).threadPoolUsageStatsMap ().get ("write" );
153- return node0WritePoolStats .averageThreadPoolUtilization ();
156+ return node0WritePoolStats .utilizationSamples (). getLast (). utilization ();
154157 }
155158
156159 private NodeUsageStatsForThreadPools .ThreadPoolUsageStats randomThreadPoolUsageStats () {
157160 return new NodeUsageStatsForThreadPools .ThreadPoolUsageStats (
158161 randomIntBetween (4 , 16 ),
159- randomBoolean () ? 0.0f : randomFloatBetween (0.1f , 1.0f , true ),
160- randomLongBetween (0 , 60_000 )
162+ List .of (
163+ new NodeUsageStatsForThreadPools .UtilizationSample (
164+ randomInstantBetween (Instant .MIN , Instant .MAX ),
165+ randomBoolean () ? 0.0f : randomFloatBetween (0.1f , 1.0f , true )
166+ )
167+ )
161168 );
162169 }
163170
0 commit comments