Skip to content

Commit

Permalink
[pinpoint-apm#8755] Remove duplicate application metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
emeroad committed Apr 7, 2022
1 parent 4739688 commit 31ae700
Show file tree
Hide file tree
Showing 17 changed files with 256 additions and 212 deletions.
112 changes: 39 additions & 73 deletions web/src/main/java/com/navercorp/pinpoint/web/AuthorizationConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,23 @@
import com.navercorp.pinpoint.web.authorization.controller.AdminController;
import com.navercorp.pinpoint.web.authorization.controller.AgentCommandController;
import com.navercorp.pinpoint.web.authorization.controller.AgentInfoController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.*;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.ActiveTraceController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.CpuLoadController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.DataSourceController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.DeadlockController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.DirectBufferController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.FileDescriptorController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.JvmGcController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.JvmGcDetailedController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.LoadedClassCountController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.ResponseTimeController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.TotalThreadCountController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.TransactionController;
import com.navercorp.pinpoint.web.authorization.controller.AgentStatController.UriStatController;
import com.navercorp.pinpoint.web.authorization.controller.AlarmController;
import com.navercorp.pinpoint.web.authorization.controller.ApplicationStatController.*;

import com.navercorp.pinpoint.web.authorization.controller.ApplicationDataSourceController;
import com.navercorp.pinpoint.web.authorization.controller.ApplicationStatController;
import com.navercorp.pinpoint.web.authorization.controller.ApplicationStatDispatchController;
import com.navercorp.pinpoint.web.authorization.controller.HeatMapController;
import com.navercorp.pinpoint.web.authorization.controller.ScatterChartController;
import com.navercorp.pinpoint.web.authorization.controller.UserController;
Expand All @@ -41,20 +54,12 @@
import com.navercorp.pinpoint.web.service.UserGroupService;
import com.navercorp.pinpoint.web.service.UserService;
import com.navercorp.pinpoint.web.service.WebhookSendInfoService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationDataSourceService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationStatChartService;
import com.navercorp.pinpoint.web.service.stat.ActiveTraceChartService;
import com.navercorp.pinpoint.web.service.stat.ActiveTraceService;
import com.navercorp.pinpoint.web.service.stat.AgentUriStatChartService;
import com.navercorp.pinpoint.web.service.stat.AgentUriStatService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationActiveTraceService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationCpuLoadService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationDataSourceService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationDirectBufferService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationFileDescriptorService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationLoadedClassService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationMemoryService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationResponseTimeService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationTotalThreadCountService;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationTransactionService;
import com.navercorp.pinpoint.web.service.stat.CpuLoadChartService;
import com.navercorp.pinpoint.web.service.stat.CpuLoadService;
import com.navercorp.pinpoint.web.service.stat.DataSourceChartService;
Expand Down Expand Up @@ -104,142 +109,103 @@ public JvmGcController createJvmGcController(JvmGcService jvmGcService, JvmGcCha
}

@Bean
JvmGcDetailedController createJvmGcDetailedController(JvmGcDetailedService jvmGcDetailedService, JvmGcDetailedChartService jvmGcDetailedChartService) {
public JvmGcDetailedController createJvmGcDetailedController(JvmGcDetailedService jvmGcDetailedService, JvmGcDetailedChartService jvmGcDetailedChartService) {
return new JvmGcDetailedController(jvmGcDetailedService, jvmGcDetailedChartService);
}

@Bean
CpuLoadController createCpuLoadController(CpuLoadService cpuLoadService, CpuLoadChartService cpuLoadChartService) {
public CpuLoadController createCpuLoadController(CpuLoadService cpuLoadService, CpuLoadChartService cpuLoadChartService) {
return new CpuLoadController(cpuLoadService, cpuLoadChartService);
}

@Bean
TransactionController createTransactionController(TransactionService transactionService, TransactionChartService transactionChartService) {
public TransactionController createTransactionController(TransactionService transactionService, TransactionChartService transactionChartService) {
return new TransactionController(transactionService, transactionChartService);
}

@Bean
ActiveTraceController createActiveTraceController(ActiveTraceService activeTraceService, ActiveTraceChartService activeTraceChartService) {
public ActiveTraceController createActiveTraceController(ActiveTraceService activeTraceService, ActiveTraceChartService activeTraceChartService) {
return new ActiveTraceController(activeTraceService, activeTraceChartService);
}

@Bean
DataSourceController createDataSourceController(DataSourceService dataSourceService, DataSourceChartService dataSourceChartService) {
public DataSourceController createDataSourceController(DataSourceService dataSourceService, DataSourceChartService dataSourceChartService) {
return new DataSourceController(dataSourceService, dataSourceChartService);
}

@Bean
ResponseTimeController createResponseTimeController(ResponseTimeService responseTimeService, ResponseTimeChartService responseTimeChartService) {
public ResponseTimeController createResponseTimeController(ResponseTimeService responseTimeService, ResponseTimeChartService responseTimeChartService) {
return new ResponseTimeController(responseTimeService, responseTimeChartService);
}

@Bean
DeadlockController createDeadlockController(DeadlockService deadlockService, DeadlockChartService deadlockChartService) {
public DeadlockController createDeadlockController(DeadlockService deadlockService, DeadlockChartService deadlockChartService) {
return new DeadlockController(deadlockService, deadlockChartService);
}

@Bean
FileDescriptorController createFileDescriptorController(FileDescriptorService fileDescriptorService, FileDescriptorChartService fileDescriptorChartService) {
public FileDescriptorController createFileDescriptorController(FileDescriptorService fileDescriptorService, FileDescriptorChartService fileDescriptorChartService) {
return new FileDescriptorController(fileDescriptorService, fileDescriptorChartService);
}

@Bean
DirectBufferController createDirectBufferController(DirectBufferService directBufferService, DirectBufferChartService directBufferChartService) {
public DirectBufferController createDirectBufferController(DirectBufferService directBufferService, DirectBufferChartService directBufferChartService) {
return new DirectBufferController(directBufferService, directBufferChartService);
}

@Bean
TotalThreadCountController createTotalThreadCountController(TotalThreadCountService totalThreadCountService, TotalThreadCountChartService totalThreadCountChartService) {
public TotalThreadCountController createTotalThreadCountController(TotalThreadCountService totalThreadCountService, TotalThreadCountChartService totalThreadCountChartService) {
return new TotalThreadCountController(totalThreadCountService, totalThreadCountChartService);
}

@Bean
LoadedClassCountController createLoadedClassCountController(LoadedClassCountService loadedClassCountService, LoadedClassCountChartService loadedClassCountChartService) {
public LoadedClassCountController createLoadedClassCountController(LoadedClassCountService loadedClassCountService, LoadedClassCountChartService loadedClassCountChartService) {
return new LoadedClassCountController(loadedClassCountService, loadedClassCountChartService);
}

@Bean
UriStatController createUriStatController(AgentUriStatService agentUriStatService, AgentUriStatChartService agentUriStatChartService) {
public UriStatController createUriStatController(AgentUriStatService agentUriStatService, AgentUriStatChartService agentUriStatChartService) {
return new UriStatController(agentUriStatService, agentUriStatChartService);
}

@Bean
AgentCommandController createAgentCommandController(ConfigProperties webProperties, AgentService agentService) {
public AgentCommandController createAgentCommandController(ConfigProperties webProperties, AgentService agentService) {
return new AgentCommandController(webProperties, agentService);
}

@Bean
HeatMapController createHeatMapController(HeatMapService heatMap) {
public HeatMapController createHeatMapController(HeatMapService heatMap) {
return new HeatMapController(heatMap);
}

@Bean
ScatterChartController createScatterChartController(ScatterChartService scatter, FilteredMapService flow, FilterBuilder<List<SpanBo>> filterBuilder) {
public ScatterChartController createScatterChartController(ScatterChartService scatter, FilteredMapService flow, FilterBuilder<List<SpanBo>> filterBuilder) {
return new ScatterChartController(scatter, flow, filterBuilder);
}

@Bean
AdminController createAdminController(AdminService adminService) {
public AdminController createAdminController(AdminService adminService) {
return new AdminController(adminService);
}

@Bean
ApplicationCpuLoadController createApplicationCpuLoadController(ApplicationCpuLoadService applicationCpuLoadService) {
return new ApplicationCpuLoadController(applicationCpuLoadService);
}

@Bean
ApplicationMemoryController createApplicationMemoryController(ApplicationMemoryService applicationMemoryService) {
return new ApplicationMemoryController(applicationMemoryService);
}

@Bean
ApplicationTransactionController createApplicationTransactionController(ApplicationTransactionService applicationTransactionService) {
return new ApplicationTransactionController(applicationTransactionService);
}

@Bean
ApplicationActiveTraceController crateApplicationActiveTraceController(ApplicationActiveTraceService applicationActiveTraceService) {
return new ApplicationActiveTraceController(applicationActiveTraceService);
}

@Bean
ApplicationResponseTimeController createApplicationResponseTimeController(ApplicationResponseTimeService applicationResponseTimeService) {
return new ApplicationResponseTimeController(applicationResponseTimeService);
}

@Bean
ApplicationDataSourceController createApplicationDataSourceController(ApplicationDataSourceService applicationDataSourceService) {
public ApplicationDataSourceController createApplicationDataSourceController(ApplicationDataSourceService applicationDataSourceService) {
return new ApplicationDataSourceController(applicationDataSourceService);
}

@Bean
ApplicationFileDescriptorController createApplicationFileDescriptorController(ApplicationFileDescriptorService applicationFileDescriptorService) {
return new ApplicationFileDescriptorController(applicationFileDescriptorService);
public ApplicationStatController getApplicationStatControllerV2(List<ApplicationStatChartService> list) {
return new ApplicationStatDispatchController(list);
}

@Bean
ApplicationDirectBufferController createApplicationDirectBufferController(ApplicationDirectBufferService applicationDirectBufferService) {
return new ApplicationDirectBufferController(applicationDirectBufferService);
}

@Bean
ApplicationTotalThreadCountController createApplicationTotalThreadCountController(ApplicationTotalThreadCountService applicationTotalThreadCountService) {
return new ApplicationTotalThreadCountController(applicationTotalThreadCountService);
}

@Bean
ApplicationLoadedClassController createApplicationLoadedClassController(ApplicationLoadedClassService applicationLoadedClassService) {
return new ApplicationLoadedClassController(applicationLoadedClassService);
}

@Bean
AlarmController createAlarmController(AlarmService alarmService, WebhookSendInfoService webhookSendInfoService) {
public AlarmController createAlarmController(AlarmService alarmService, WebhookSendInfoService webhookSendInfoService) {
return new AlarmController(alarmService, webhookSendInfoService);
}

@Bean
UserGroupController createUserGroupController(UserGroupService userGroupService) {
public UserGroupController createUserGroupController(UserGroupService userGroupService) {
return new UserGroupController(userGroupService);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.navercorp.pinpoint.web.authorization.controller;

import com.navercorp.pinpoint.common.server.util.time.Range;
import com.navercorp.pinpoint.web.service.appmetric.ApplicationDataSourceService;
import com.navercorp.pinpoint.web.util.TimeWindow;
import com.navercorp.pinpoint.web.util.TimeWindowSlotCentricSampler;
import com.navercorp.pinpoint.web.vo.stat.chart.StatChart;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class ApplicationDataSourceController {
private final Logger logger = LogManager.getLogger(this.getClass());

private final ApplicationDataSourceService applicationDataSourceService;

public ApplicationDataSourceController(ApplicationDataSourceService applicationDataSourceService) {
this.applicationDataSourceService = applicationDataSourceService;
}

@GetMapping("/getApplicationStat/dataSource/chart")
public List<StatChart> getAgentStatChart(@RequestParam("applicationId") String applicationId, @RequestParam("from") long from, @RequestParam("to") long to) {
TimeWindowSlotCentricSampler sampler = new TimeWindowSlotCentricSampler();
TimeWindow timeWindow = new TimeWindow(Range.between(from, to), sampler);
try {
return this.applicationDataSourceService.selectApplicationChart(applicationId, timeWindow);
} catch (Exception e ) {
logger.error("error" , e);
throw e;
}
}
}
Loading

0 comments on commit 31ae700

Please sign in to comment.