use of com.navercorp.pinpoint.web.vo.Range in project pinpoint by naver.
the class AgentEventTimelineTest method rangeLessThanNumTimeslots.
@Test
public void rangeLessThanNumTimeslots() {
// Given
Range range = new Range(10, 20);
AgentEvent event1 = createAgentEvent(10, AgentEventType.AGENT_PING);
AgentEvent event2 = createAgentEvent(11, AgentEventType.AGENT_PING);
AgentEvent event3 = createAgentEvent(12, AgentEventType.AGENT_PING);
AgentEvent event4 = createAgentEvent(13, AgentEventType.AGENT_PING);
AgentEvent event5 = createAgentEvent(14, AgentEventType.AGENT_PING);
AgentEvent event6 = createAgentEvent(15, AgentEventType.AGENT_PING);
AgentEvent event7 = createAgentEvent(16, AgentEventType.AGENT_PING);
AgentEvent event8 = createAgentEvent(17, AgentEventType.AGENT_PING);
AgentEvent event9 = createAgentEvent(18, AgentEventType.AGENT_PING);
AgentEvent event10 = createAgentEvent(19, AgentEventType.AGENT_PING);
List<AgentEventTimelineSegment> expectedTimelineSegments = Arrays.asList(createSegment(10, 11, Collections.singletonList(event1)), createSegment(11, 12, Collections.singletonList(event2)), createSegment(12, 13, Collections.singletonList(event3)), createSegment(13, 14, Collections.singletonList(event4)), createSegment(14, 15, Collections.singletonList(event5)), createSegment(15, 16, Collections.singletonList(event6)), createSegment(16, 17, Collections.singletonList(event7)), createSegment(17, 18, Collections.singletonList(event8)), createSegment(18, 19, Collections.singletonList(event9)), createSegment(19, 20, Collections.singletonList(event10)));
// When
AgentEventTimeline timeline = new AgentEventTimelineBuilder(range, 100).from(Arrays.asList(event1, event2, event3, event4, event5, event6, event7, event8, event9, event10)).build();
// Then
Assert.assertEquals(expectedTimelineSegments, timeline.getTimelineSegments());
}
use of com.navercorp.pinpoint.web.vo.Range in project pinpoint by naver.
the class AgentEventTimelineTest method rightBiasedSpread.
@Test
public void rightBiasedSpread() {
// Given
Range range = new Range(0, 199);
AgentEvent event1 = createAgentEvent(0, AgentEventType.AGENT_CONNECTED);
AgentEvent event2 = createAgentEvent(5, AgentEventType.AGENT_PING);
AgentEvent event3 = createAgentEvent(100, AgentEventType.AGENT_PING);
AgentEvent event4 = createAgentEvent(110, AgentEventType.AGENT_PING);
AgentEvent event5 = createAgentEvent(199, AgentEventType.AGENT_PING);
AgentEvent event6 = createAgentEvent(200, AgentEventType.AGENT_SHUTDOWN);
List<AgentEventTimelineSegment> expectedTimelineSegments = Arrays.asList(createSegment(0, 1, Collections.singletonList(event1)), createSegment(5, 6, Collections.singletonList(event2)), createSegment(99, 199, Arrays.asList(event3, event4, event5, event6)));
// When
AgentEventTimeline timeline = new AgentEventTimelineBuilder(range, 100).from(Arrays.asList(event1, event2, event3, event4, event5, event6)).build();
// Then
Assert.assertEquals(expectedTimelineSegments, timeline.getTimelineSegments());
}
use of com.navercorp.pinpoint.web.vo.Range in project pinpoint by naver.
the class AgentEventTimelineTest method fullTimeslots_multipleEvents.
@Test
public void fullTimeslots_multipleEvents() {
// Given
long timeRangeMs = TimeUnit.DAYS.toMillis(7);
long from = System.currentTimeMillis();
long to = from + timeRangeMs;
Range range = new Range(from, to);
int numTimeslots = 100;
int expectedEventCountPerSegment = 20;
List<AgentEvent> agentEvents = new ArrayList<>();
for (int i = 0; i < timeRangeMs; i += (timeRangeMs / (numTimeslots * expectedEventCountPerSegment))) {
agentEvents.add(createAgentEvent(from + i, AgentEventType.AGENT_PING));
}
// When
AgentEventTimeline timeline = new AgentEventTimelineBuilder(range, numTimeslots).from(agentEvents).build();
// Then
List<AgentEventTimelineSegment> timelineSegments = timeline.getTimelineSegments();
Assert.assertEquals(numTimeslots, timelineSegments.size());
for (AgentEventTimelineSegment timelineSegment : timelineSegments) {
AgentEventMarker eventMarker = timelineSegment.getValue();
Assert.assertEquals(expectedEventCountPerSegment, eventMarker.getTotalCount());
int pingEventCount = eventMarker.getTypeCounts().get(AgentEventType.AGENT_PING);
Assert.assertEquals(expectedEventCountPerSegment, pingEventCount);
}
}
use of com.navercorp.pinpoint.web.vo.Range in project pinpoint by naver.
the class SampledAgentStatResultExtractorTest method two_to_one_sample_should_down_sample_correctly.
@Test
public void two_to_one_sample_should_down_sample_correctly() throws Exception {
// Given
final int numValues = 20;
final long initialTimestamp = System.currentTimeMillis();
final long finalTimestamp = initialTimestamp + (DEFAULT_TIME_INTERVAL * numValues);
final TimeWindow timeWindow = new TimeWindow(new Range(initialTimestamp, finalTimestamp), TWO_TO_ONE_SAMPLER);
final List<TestAgentStatDataPoint> dataPoints = createDataPoints(finalTimestamp, DEFAULT_TIME_INTERVAL, numValues);
final Map<Long, List<TestAgentStatDataPoint>> expectedDataPointSlotMap = getExpectedDataPointSlotMap(timeWindow, dataPoints);
when(this.rowMapper.mapRow(this.result, 0)).thenReturn(dataPoints);
TestAgentStatSampler testAgentStatSampler = new TestAgentStatSampler();
SampledAgentStatResultExtractor<TestAgentStatDataPoint, TestSampledAgentStatDataPoint> resultExtractor = new SampledAgentStatResultExtractor<>(timeWindow, this.rowMapper, testAgentStatSampler);
// When
List<TestSampledAgentStatDataPoint> sampledDataPoints = resultExtractor.extractData(this.resultScanner);
// Then
for (TestSampledAgentStatDataPoint sampledDataPoint : sampledDataPoints) {
List<TestAgentStatDataPoint> expectedSampledDataPoints = expectedDataPointSlotMap.get(sampledDataPoint.getBaseTimestamp());
Assert.assertEquals(expectedSampledDataPoints, sampledDataPoint.getDataPointsToSample());
}
}
use of com.navercorp.pinpoint.web.vo.Range in project pinpoint by naver.
the class SampledAgentStatResultExtractorTest method ten_to_one_sample_should_down_sample_correctly.
@Test
public void ten_to_one_sample_should_down_sample_correctly() throws Exception {
// Given
final int numValues = 100;
final long initialTimestamp = System.currentTimeMillis();
final long finalTimestamp = initialTimestamp + (DEFAULT_TIME_INTERVAL * numValues);
final TimeWindow timeWindow = new TimeWindow(new Range(initialTimestamp, finalTimestamp), TEN_TO_ONE_SAMPLER);
final List<TestAgentStatDataPoint> dataPoints = createDataPoints(finalTimestamp, DEFAULT_TIME_INTERVAL, numValues);
final Map<Long, List<TestAgentStatDataPoint>> expectedDataPointSlotMap = getExpectedDataPointSlotMap(timeWindow, dataPoints);
when(this.rowMapper.mapRow(this.result, 0)).thenReturn(dataPoints);
TestAgentStatSampler testAgentStatSampler = new TestAgentStatSampler();
SampledAgentStatResultExtractor<TestAgentStatDataPoint, TestSampledAgentStatDataPoint> resultExtractor = new SampledAgentStatResultExtractor<>(timeWindow, this.rowMapper, testAgentStatSampler);
// When
List<TestSampledAgentStatDataPoint> sampledDataPoints = resultExtractor.extractData(this.resultScanner);
// Then
for (TestSampledAgentStatDataPoint sampledDataPoint : sampledDataPoints) {
List<TestAgentStatDataPoint> expectedSampledDataPoints = expectedDataPointSlotMap.get(sampledDataPoint.getBaseTimestamp());
Assert.assertEquals(expectedSampledDataPoints, sampledDataPoint.getDataPointsToSample());
}
}
Aggregations