Skip to content

Commit

Permalink
[pinpoint-apm#3378] aggregate agent's dataSource to show application'…
Browse files Browse the repository at this point in the history
…s dataSource
  • Loading branch information
minwoo-jung committed Oct 19, 2017
1 parent cf04b97 commit e26793e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,15 @@ public List<ApplicationStatChartGroup> selectApplicationChart(String application
throw new NullPointerException("timeWindow must not be null");
}

List<ApplicationStatChartGroup> result = new ArrayList<ApplicationStatChartGroup>();
List<AggreJoinDataSourceListBo> aggreJoinDataSourceListBoList = this.applicationDataSourceDao.getApplicationStatList(applicationId, timeWindow);

if (aggreJoinDataSourceListBoList.size() == 0) {
result.add(new ApplicationDataSourceChartGroup(timeWindow, "", "", Collections.EMPTY_LIST));
return result;
}

Map<DataSourceKey, List<AggreJoinDataSourceBo>> aggreJoinDataSourceBoMap = classifyByDataSourceUrl(aggreJoinDataSourceListBoList);
List<ApplicationStatChartGroup> result = new ArrayList<ApplicationStatChartGroup>();

for (Map.Entry<DataSourceKey, List<AggreJoinDataSourceBo>> entry: aggreJoinDataSourceBoMap.entrySet()) {
DataSourceKey dataSourceKey = entry.getKey();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,32 +32,33 @@ public class ApplicationDataSourceChartGroup implements ApplicationStatChartGrou
private static final UncollectedDataSourcePointCreater UNCOLLECTED_DATASOURCE_POINT = new UncollectedDataSourcePointCreater();

private final String url;
private final String serviceTypeCodeName;
private final String serviceType;
private final Map<ChartType, Chart> dataSourceChartMap;

public enum DataSourceChartType implements ChartType {
ACTIVE_CONNECTION_SIZE
}

public ApplicationDataSourceChartGroup(TimeWindow timeWindow, String url, String serviceTypeCodeName, List<AggreJoinDataSourceBo> aggreJoinDataSourceBoList) {
public ApplicationDataSourceChartGroup(TimeWindow timeWindow, String url, String serviceType, List<AggreJoinDataSourceBo> aggreJoinDataSourceBoList) {
this.url = url;
this.serviceTypeCodeName = serviceTypeCodeName;
this.serviceType = serviceType;
this.dataSourceChartMap = new HashMap<>();
List<Point> activeConnectionCountList = new ArrayList<>(aggreJoinDataSourceBoList.size());

for (AggreJoinDataSourceBo aggreJoinDataSourceBo : aggreJoinDataSourceBoList) {
activeConnectionCountList.add(new DataSourcePoint(aggreJoinDataSourceBo.getTimestamp(), aggreJoinDataSourceBo.getMinActiveConnectionSize(), aggreJoinDataSourceBo.getMinActiveConnectionAgentId(), aggreJoinDataSourceBo.getMaxActiveConnectionSize(), aggreJoinDataSourceBo.getMaxActiveConnectionAgentId(), aggreJoinDataSourceBo.getAvgActiveConnectionSize()));
}

// 여기서 빈 부분을 알아서 채워줘야 될것같은데 왜 그럴까 이건 디버깅을 해보는게 좋을듯함.
dataSourceChartMap.put(DataSourceChartType.ACTIVE_CONNECTION_SIZE, new TimeSeriesChartBuilder(timeWindow, UNCOLLECTED_DATASOURCE_POINT).build(activeConnectionCountList));
}

public String getJdbcUrl() {
return url;
}

public String getServiceTypeCodeName() {
return serviceTypeCodeName;
public String getServiceType() {
return serviceType;
}

@Override
Expand Down

0 comments on commit e26793e

Please sign in to comment.