@GetMapping(value = "/getServerMapDataV2")
    public MapView getServerMapDataV2(
            @Valid @ModelAttribute
            ApplicationForm appForm,
            @Valid @ModelAttribute
            RangeForm rangeForm,
            @Valid @ModelAttribute
            SearchDepthForm depthForm,
            @RequestParam(value = "bidirectional", defaultValue = "true", required = false) boolean bidirectional,
            @RequestParam(value = "wasOnly", defaultValue = "false", required = false) boolean wasOnly,
            @RequestParam(value = "useStatisticsAgentState", defaultValue = "false", required = false)
            boolean useStatisticsAgentState,
            @RequestParam(value = "useLoadHistogramFormat", defaultValue = "false", required = false)
            boolean useLoadHistogramFormat
    ) {
        final TimeWindow timeWindow = newTimeWindow(rangeForm);

        final SearchOption searchOption = searchOptionBuilder()
                .build(depthForm.getCallerRange(), depthForm.getCalleeRange(), bidirectional, wasOnly);
        final Application application = getApplication(appForm);

        final MapServiceOption option = new MapServiceOption
                .Builder(application, timeWindow, searchOption)
                .setUseStatisticsAgentState(useStatisticsAgentState)
                .build();

        TimeHistogramFormat format = TimeHistogramFormat.format(useLoadHistogramFormat);
        logger.info("Select ApplicationMap {} option={}", format, option);
        final ApplicationMap map = this.mapService.selectApplicationMap(option);

        return new MapView(map, MapViews.ofBasic(), hyperLinkFactory, format);

    }
Server map data query within from ~ to timeframe

@param appForm   applicationForm
@param rangeForm rangeForm
@return MapWrap
web/src/main/java/com/navercorp/pinpoint/web/applicationmap/controller/MapController.java