web/src/main/java/com/navercorp/pinpoint/web/controller/BusinessTransactionController.java
@RequestMapping(value = "/transactionTimelineInfo", method = RequestMethod.GET)
    @ResponseBody
    public TransactionTimelineInfoViewModel transactionTimelineInfo(@RequestParam("traceId") String traceIdParam,
                                                                    @RequestParam(value = "focusTimestamp", required = false, defaultValue = "0") long focusTimestamp,
                                                                    @RequestParam(value = "agentId", required = false) String agentId,
                                                                    @RequestParam(value = "spanId", required = false, defaultValue = "-1") long spanId) {
        logger.debug("GET /transactionTimelineInfo params {traceId={}, focusTimestamp={}, agentId={}, spanId={}, v={}}", traceIdParam, focusTimestamp, agentId, spanId);

        final TransactionId transactionId = TransactionIdUtils.parseTransactionId(traceIdParam);

        final ColumnGetCount columnGetCount = ColumnGetCountFactory.create(callstackSelectSpansLimit);

        // select spans
        final CallTreeIterator callTreeIterator = this.spanService.selectSpan(transactionId, focusTimestamp, columnGetCount).getCallTree();

        RecordSet recordSet = this.transactionInfoService.createRecordSet(callTreeIterator, focusTimestamp, agentId, spanId);

        TransactionTimelineInfoViewModel result = new TransactionTimelineInfoViewModel(transactionId, spanId, recordSet, logConfiguration);
        return result;
    }
/**
     * info lookup for a selected transaction
     *
     * @param traceIdParam
     * @param focusTimestamp
     * @return
     */
info lookup for a selected transaction
@param traceIdParam
@param focusTimestamp
@return
info lookup for a selected transaction @param traceIdParam @param focusTimestamp @return
@RequestMapping(value = "/transactionTimelineInfo", method = RequestMethod.GET)
    @ResponseBody
    public TransactionTimelineInfoViewModel transactionTimelineInfo(@RequestParam("traceId") String traceIdParam,
                                                                    @RequestParam(value = "focusTimestamp", required = false, defaultValue = "0") long focusTimestamp,
                                                                    @RequestParam(value = "agentId", required = false) String agentId,
                                                                    @RequestParam(value = "spanId", required = false, defaultValue = "-1") long spanId) {
        logger.debug("GET /transactionTimelineInfo params {traceId={}, focusTimestamp={}, agentId={}, spanId={}, v={}}", traceIdParam, focusTimestamp, agentId, spanId);
        final TransactionId transactionId = TransactionIdUtils.parseTransactionId(traceIdParam);
        final ColumnGetCount columnGetCount = ColumnGetCountFactory.create(callstackSelectSpansLimit);
        final CallTreeIterator callTreeIterator = this.spanService.selectSpan(transactionId, focusTimestamp, columnGetCount).getCallTree();
        RecordSet recordSet = this.transactionInfoService.createRecordSet(callTreeIterator, focusTimestamp, agentId, spanId);
        TransactionTimelineInfoViewModel result = new TransactionTimelineInfoViewModel(transactionId, spanId, recordSet, logConfiguration);
        return result;
    }
@ RequestMapping ( value = "/transactionTimelineInfo" , method = RequestMethod . GET ) @ ResponseBody public TransactionTimelineInfoViewModel transactionTimelineInfo ( @ RequestParam ( "traceId" ) String traceIdParam , @ RequestParam ( value = "focusTimestamp" , required = false , defaultValue = "0" ) long focusTimestamp , @ RequestParam ( value = "agentId" , required = false ) String agentId , @ RequestParam ( value = "spanId" , required = false , defaultValue = "-1" ) long spanId ) { logger . debug ( "GET /transactionTimelineInfo params {traceId={}, focusTimestamp={}, agentId={}, spanId={}, v={}}" , traceIdParam , focusTimestamp , agentId , spanId ) ; final TransactionId transactionId = TransactionIdUtils . parseTransactionId ( traceIdParam ) ; final ColumnGetCount columnGetCount = ColumnGetCountFactory . create ( callstackSelectSpansLimit ) ; final CallTreeIterator callTreeIterator = this . spanService . selectSpan ( transactionId , focusTimestamp , columnGetCount ) . getCallTree ( ) ; RecordSet recordSet = this . transactionInfoService . createRecordSet ( callTreeIterator , focusTimestamp , agentId , spanId ) ; TransactionTimelineInfoViewModel result = new TransactionTimelineInfoViewModel ( transactionId , spanId , recordSet , logConfiguration ) ; return result ; }
info lookup for a selected transaction
 @param traceIdParam
 @param focusTimestamp
 @return
info lookup for a selected transaction @param traceIdParam @param focusTimestamp @return
// select spans