/* * SPDX-License-Identifier: Apache-2.0 * * The OpenSearch Contributors require contributions made to * this file be licensed under the Apache-2.0 license or a * compatible open source license. */ package org.opensearch.search.backpressure.stats; import org.opensearch.core.common.io.stream.Writeable; import org.opensearch.search.backpressure.trackers.CpuUsageTracker; import org.opensearch.search.backpressure.trackers.ElapsedTimeTracker; import org.opensearch.search.backpressure.trackers.HeapUsageTracker; import org.opensearch.search.backpressure.trackers.TaskResourceUsageTracker; import org.opensearch.search.backpressure.trackers.TaskResourceUsageTrackerType; import org.opensearch.test.AbstractWireSerializingTestCase; import java.util.Map; public class SearchShardTaskStatsTests extends AbstractWireSerializingTestCase { @Override protected Writeable.Reader instanceReader() { return SearchShardTaskStats::new; } @Override protected SearchShardTaskStats createTestInstance() { return randomInstance(); } public static SearchShardTaskStats randomInstance() { Map resourceUsageTrackerStats = Map.of( TaskResourceUsageTrackerType.CPU_USAGE_TRACKER, new CpuUsageTracker.Stats(randomNonNegativeLong(), randomNonNegativeLong(), randomNonNegativeLong()), TaskResourceUsageTrackerType.HEAP_USAGE_TRACKER, new HeapUsageTracker.Stats(randomNonNegativeLong(), randomNonNegativeLong(), randomNonNegativeLong(), randomNonNegativeLong()), TaskResourceUsageTrackerType.ELAPSED_TIME_TRACKER, new ElapsedTimeTracker.Stats(randomNonNegativeLong(), randomNonNegativeLong(), randomNonNegativeLong()) ); return new SearchShardTaskStats(randomNonNegativeLong(), randomNonNegativeLong(), resourceUsageTrackerStats); } }