Search in sources :

Example 1 with ResponseHistogramsNodeHistogramDataSource

use of com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.ResponseHistogramsNodeHistogramDataSource 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;
}
Also used : AgentInfoServerInstanceListDataSource(com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.AgentInfoServerInstanceListDataSource) DefaultNodeHistogramFactory(com.navercorp.pinpoint.web.applicationmap.appender.histogram.DefaultNodeHistogramFactory) ApplicationMap(com.navercorp.pinpoint.web.applicationmap.ApplicationMap) StatisticsServerInstanceListFactory(com.navercorp.pinpoint.web.applicationmap.appender.server.StatisticsServerInstanceListFactory) ServerInstanceListDataSource(com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.ServerInstanceListDataSource) AgentInfoServerInstanceListDataSource(com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.AgentInfoServerInstanceListDataSource) DefaultServerInstanceListFactory(com.navercorp.pinpoint.web.applicationmap.appender.server.DefaultServerInstanceListFactory) WasNodeHistogramDataSource(com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.WasNodeHistogramDataSource) ResponseHistogramsNodeHistogramDataSource(com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.ResponseHistogramsNodeHistogramDataSource) ApplicationMapBuilder(com.navercorp.pinpoint.web.applicationmap.ApplicationMapBuilder)

Example 2 with ResponseHistogramsNodeHistogramDataSource

use of com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.ResponseHistogramsNodeHistogramDataSource 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());
}
Also used : HashSet(java.util.HashSet) Set(java.util.Set) AgentInfoService(com.navercorp.pinpoint.web.service.AgentInfoService) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) AgentInfoServerInstanceListDataSource(com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.AgentInfoServerInstanceListDataSource) ResponseHistograms(com.navercorp.pinpoint.web.vo.ResponseHistograms) AgentStatus(com.navercorp.pinpoint.web.vo.AgentStatus) ServiceType(com.navercorp.pinpoint.common.trace.ServiceType) MapResponseNodeHistogramDataSource(com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.MapResponseNodeHistogramDataSource) ArrayList(java.util.ArrayList) List(java.util.List) ResponseTime(com.navercorp.pinpoint.web.vo.ResponseTime) MapResponseDao(com.navercorp.pinpoint.web.dao.MapResponseDao) Range(com.navercorp.pinpoint.web.vo.Range) Answer(org.mockito.stubbing.Answer) Mockito.doAnswer(org.mockito.Mockito.doAnswer) AgentStatusQuery(com.navercorp.pinpoint.web.vo.AgentStatusQuery) SimpleAgentKey(com.navercorp.pinpoint.common.server.bo.SimpleAgentKey) InvocationOnMock(org.mockito.invocation.InvocationOnMock) ResponseHistogramsNodeHistogramDataSource(com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.ResponseHistogramsNodeHistogramDataSource) AgentInfo(com.navercorp.pinpoint.web.vo.AgentInfo) Application(com.navercorp.pinpoint.web.vo.Application) Before(org.junit.Before)

Aggregations

ResponseHistogramsNodeHistogramDataSource (com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.ResponseHistogramsNodeHistogramDataSource)2 AgentInfoServerInstanceListDataSource (com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.AgentInfoServerInstanceListDataSource)2 SimpleAgentKey (com.navercorp.pinpoint.common.server.bo.SimpleAgentKey)1 ServiceType (com.navercorp.pinpoint.common.trace.ServiceType)1 ApplicationMap (com.navercorp.pinpoint.web.applicationmap.ApplicationMap)1 ApplicationMapBuilder (com.navercorp.pinpoint.web.applicationmap.ApplicationMapBuilder)1 DefaultNodeHistogramFactory (com.navercorp.pinpoint.web.applicationmap.appender.histogram.DefaultNodeHistogramFactory)1 MapResponseNodeHistogramDataSource (com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.MapResponseNodeHistogramDataSource)1 WasNodeHistogramDataSource (com.navercorp.pinpoint.web.applicationmap.appender.histogram.datasource.WasNodeHistogramDataSource)1 DefaultServerInstanceListFactory (com.navercorp.pinpoint.web.applicationmap.appender.server.DefaultServerInstanceListFactory)1 StatisticsServerInstanceListFactory (com.navercorp.pinpoint.web.applicationmap.appender.server.StatisticsServerInstanceListFactory)1 ServerInstanceListDataSource (com.navercorp.pinpoint.web.applicationmap.appender.server.datasource.ServerInstanceListDataSource)1 MapResponseDao (com.navercorp.pinpoint.web.dao.MapResponseDao)1 AgentInfoService (com.navercorp.pinpoint.web.service.AgentInfoService)1 AgentInfo (com.navercorp.pinpoint.web.vo.AgentInfo)1 AgentStatus (com.navercorp.pinpoint.web.vo.AgentStatus)1 AgentStatusQuery (com.navercorp.pinpoint.web.vo.AgentStatusQuery)1 Application (com.navercorp.pinpoint.web.vo.Application)1 Range (com.navercorp.pinpoint.web.vo.Range)1 ResponseHistograms (com.navercorp.pinpoint.web.vo.ResponseHistograms)1