package com.alibaba.doris.common.trace.support;
import static org.junit.Assert.assertEquals;
import java.util.Properties;
import org.junit.Test;
import com.alibaba.doris.common.PrefReportUnit;
import com.alibaba.doris.dataserver.monitor.support.PrefTrackerKey;
import com.alibaba.doris.dataserver.monitor.support.PrefTrackerUnit;
public class PrefTrackerUnitTest {
@Test
public void testOpTracker_1() throws Exception {
PrefTrackerUnit tracker = new PrefTrackerUnit(new PrefTrackerKey("aa", "bb"),
new Properties());
for (int i = 0; i < 100000; i++) {
tracker.incConcurrencyLevel();
tracker.trackLatency(i % 100 + 1);
tracker.trackBytes(i % 100 + 1);
tracker.decConcurrencyLevel();
}
PrefReportUnit report = tracker.report(false);
assertEquals(report.getTotalBytes(), report.getTotalLatency());
assertEquals(100, report.getMaxLatency());
assertEquals(80, report.getThe80thLatency());
assertEquals(95, report.getThe95thLatency());
assertEquals(99, report.getThe99thLatency());
assertEquals(1, report.getMaxConcurrencyLevel());
assertEquals(0, report.getCurrentConcurrencyLevel());
}
}