use of com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.AgentInfoServerInstanceListDataSource in project pinpoint by naver.
the class FilteredMapServiceImpl method createMap.
private ApplicationMap createMap(FilteredMapServiceOption option, FilteredMap filteredMap) {
final ApplicationMapBuilder applicationMapBuilder = applicationMapBuilderFactory.createApplicationMapBuilder(option.getOriginalRange());
applicationMapBuilder.linkType(LinkType.DETAILED);
final WasNodeHistogramDataSource wasNodeHistogramDataSource = new ResponseHistogramsNodeHistogramDataSource(filteredMap.getResponseHistograms());
applicationMapBuilder.includeNodeHistogram(new DefaultNodeHistogramFactory(wasNodeHistogramDataSource));
ServerInstanceListDataSource serverInstanceListDataSource = new AgentInfoServerInstanceListDataSource(agentInfoService);
if (option.isUseStatisticsAgentState()) {
applicationMapBuilder.includeServerInfo(new StatisticsServerInstanceListFactory(serverInstanceListDataSource));
} else {
applicationMapBuilder.includeServerInfo(new DefaultServerInstanceListFactory(serverInstanceListDataSource));
}
ApplicationMap map = applicationMapBuilder.build(filteredMap.getLinkDataDuplexMap(), buildTimeoutMillis);
if (serverMapDataFilter != null) {
map = serverMapDataFilter.dataFiltering(map);
}
return map;
}
use of com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.AgentInfoServerInstanceListDataSource in project pinpoint by naver.
the class MapServiceImpl method createApplicationMapBuilder.
private ApplicationMapBuilder createApplicationMapBuilder(MapServiceOption option) {
ApplicationMapBuilder builder = applicationMapBuilderFactory.createApplicationMapBuilder(option.getRange());
builder.nodeType(option.getNodeType());
builder.linkType(option.getLinkType());
WasNodeHistogramDataSource wasNodeHistogramDataSource = new MapResponseNodeHistogramDataSource(mapResponseDao);
NodeHistogramFactory nodeHistogramFactory = new DefaultNodeHistogramFactory(wasNodeHistogramDataSource);
builder.includeNodeHistogram(nodeHistogramFactory);
ServerInstanceListDataSource serverInstanceListDataSource = new AgentInfoServerInstanceListDataSource(agentInfoService);
if (option.isUseStatisticsAgentState()) {
builder.includeServerInfo(new StatisticsServerInstanceListFactory(serverInstanceListDataSource));
} else {
builder.includeServerInfo(new DefaultServerInstanceListFactory(serverInstanceListDataSource));
}
return builder;
}
use of com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.AgentInfoServerInstanceListDataSource in project pinpoint by naver.
the class ApplicationMapBuilderTest method setUp.
@Before
public void setUp() {
MapResponseDao mapResponseDao = mock(MapResponseDao.class);
mapResponseNodeHistogramDataSource = new MapResponseNodeHistogramDataSource(mapResponseDao);
ResponseHistograms responseHistograms = mock(ResponseHistograms.class);
responseHistogramBuilderNodeHistogramDataSource = new ResponseHistogramsNodeHistogramDataSource(responseHistograms);
AgentInfoService agentInfoService = mock(AgentInfoService.class);
agentInfoServerInstanceListDataSource = new AgentInfoServerInstanceListDataSource(agentInfoService);
Answer<List<ResponseTime>> responseTimeAnswer = new Answer<List<ResponseTime>>() {
final long timestamp = System.currentTimeMillis();
@Override
public List<ResponseTime> answer(InvocationOnMock invocation) {
Application application = invocation.getArgument(0);
String applicationName = application.getName();
ServiceType applicationServiceType = application.getServiceType();
int depth = ApplicationMapBuilderTestHelper.getDepthFromApplicationName(applicationName);
ResponseTime responseTime = new ResponseTime(application.getName(), application.getServiceType(), timestamp);
responseTime.addResponseTime(ApplicationMapBuilderTestHelper.createAgentIdFromDepth(depth), applicationServiceType.getHistogramSchema().getNormalSlot().getSlotTime(), 1);
return Collections.singletonList(responseTime);
}
};
when(mapResponseDao.selectResponseTime(any(Application.class), any(Range.class))).thenAnswer(responseTimeAnswer);
when(responseHistograms.getResponseTimeList(any(Application.class))).thenAnswer(responseTimeAnswer);
when(agentInfoService.getAgentsByApplicationName(anyString(), anyLong())).thenAnswer(new Answer<Set<AgentInfo>>() {
@Override
public Set<AgentInfo> answer(InvocationOnMock invocation) throws Throwable {
String applicationName = invocation.getArgument(0);
AgentInfo agentInfo = ApplicationMapBuilderTestHelper.createAgentInfoFromApplicationName(applicationName);
AgentStatus agentStatus = new AgentStatus(agentInfo.getAgentId(), AgentLifeCycleState.RUNNING, 0);
agentInfo.setStatus(agentStatus);
Set<AgentInfo> agentInfos = new HashSet<>();
agentInfos.add(agentInfo);
return agentInfos;
}
});
when(agentInfoService.getAgentsByApplicationNameWithoutStatus(anyString(), anyLong())).thenAnswer(new Answer<Set<AgentInfo>>() {
@Override
public Set<AgentInfo> answer(InvocationOnMock invocation) throws Throwable {
String applicationName = invocation.getArgument(0);
AgentInfo agentInfo = ApplicationMapBuilderTestHelper.createAgentInfoFromApplicationName(applicationName);
Set<AgentInfo> agentInfos = new HashSet<>();
agentInfos.add(agentInfo);
return agentInfos;
}
});
when(agentInfoService.getAgentStatus(anyString(), anyLong())).thenAnswer(new Answer<AgentStatus>() {
@Override
public AgentStatus answer(InvocationOnMock invocation) throws Throwable {
String agentId = invocation.getArgument(0);
AgentStatus agentStatus = new AgentStatus(agentId, AgentLifeCycleState.RUNNING, System.currentTimeMillis());
return agentStatus;
}
});
doAnswer(new Answer<List<Optional<AgentStatus>>>() {
@Override
public List<Optional<AgentStatus>> answer(InvocationOnMock invocation) throws Throwable {
List<Optional<AgentStatus>> result = new ArrayList<>();
AgentStatusQuery query = invocation.getArgument(0);
for (SimpleAgentKey agentInfo : query.getAgentKeys()) {
AgentStatus agentStatus = new AgentStatus(agentInfo.getAgentId(), AgentLifeCycleState.RUNNING, System.currentTimeMillis());
result.add(Optional.of(agentStatus));
}
return result;
}
}).when(agentInfoService).getAgentStatus(any());
}
Aggregations