Skip to content

Commit

Permalink
[#4805] fix typo, add index bound check
Browse files Browse the repository at this point in the history
  • Loading branch information
donghun-cho committed May 19, 2022
1 parent ab7328d commit 6658466
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,30 +16,27 @@

package com.navercorp.pinpoint.web.applicationmap.histogram;

import com.navercorp.pinpoint.common.server.util.time.Range;
import com.navercorp.pinpoint.common.trace.ServiceType;
import com.navercorp.pinpoint.web.applicationmap.rawdata.AgentHistogram;
import com.navercorp.pinpoint.web.applicationmap.rawdata.AgentHistogramList;
import com.navercorp.pinpoint.web.util.TimeWindow;
import com.navercorp.pinpoint.web.view.AgentResponseTimeViewModel;
import com.navercorp.pinpoint.web.view.TimeViewModel;
import com.navercorp.pinpoint.web.vo.Application;
import com.navercorp.pinpoint.common.server.util.time.Range;

import com.navercorp.pinpoint.web.vo.stat.SampledApdexScore;
import com.navercorp.pinpoint.web.vo.stat.chart.agent.AgentStatPoint;
import com.navercorp.pinpoint.web.vo.stat.chart.application.DoubleApplicationStatPoint;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;

/**
* most of the features have been delegated to AgentHistorgramList upon refactoring
* most of the features have been delegated to AgentHistogramList upon refactoring
* TODO: functionality reduced to creating views - need to be renamed or removed
*
* @author emeroad
Expand Down Expand Up @@ -137,6 +134,9 @@ public List<DoubleApplicationStatPoint> getApplicationApdexScoreList(TimeWindow
for (TimeHistogram timeHistogram : agentHistogram.getTimeHistogram()) {
if (timeHistogram.getTotalCount() != 0) {
int index = window.getWindowIndex(timeHistogram.getTimeStamp());
if (index < 0 || index >= size) {
continue;
}
double apdex = ApdexScore.toDoubleFromHistogram(timeHistogram);
String agentId = agentHistogram.getId();

Expand Down Expand Up @@ -165,11 +165,11 @@ private void updateMinMaxValue(int index, double apdex, String agentId,
}
}

private List<DoubleApplicationStatPoint> createDoubleApplicationStatPoints(TimeWindow window, List<Double> min, List<String> minAgentId, List<Double> max, List<String> maxAgentId, List<Histogram> sumHistrogram) {
private List<DoubleApplicationStatPoint> createDoubleApplicationStatPoints(TimeWindow window, List<Double> min, List<String> minAgentId, List<Double> max, List<String> maxAgentId, List<Histogram> sumHistogram) {
List<DoubleApplicationStatPoint> applicationStatPoints = new ArrayList<>();
for (long timestamp : window) {
int index = window.getWindowIndex(timestamp);
Histogram histogram = sumHistrogram.get(index);
Histogram histogram = sumHistogram.get(index);
if (histogram.getTotalCount() != 0) {
double avg = ApdexScore.toDoubleFromHistogram(histogram);
DoubleApplicationStatPoint point = new DoubleApplicationStatPoint(timestamp, min.get(index), minAgentId.get(index), max.get(index), maxAgentId.get(index), avg);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,39 +53,39 @@ public ApdexScore getApdexScore(
return apdexScoreService.selectApdexScoreData(application, range);
}

@GetMapping(value = "/getApplicaionStat/apdexScore/chart")
@GetMapping(value = "/getApplicationStat/apdexScore/chart")
public StatChart getApplicationApdexScoreChart(
@RequestParam("applicationName") String applicationName,
@RequestParam("applicationId") String applicationId,
@RequestParam("serviceTypeCode") Short serviceTypeCode,
@RequestParam("from") long from,
@RequestParam("to") long to) {
final Range range = Range.between(from, to);
TimeWindowSampler sampler = new TimeWindowSlotCentricSampler();
TimeWindow timeWindow = new TimeWindow(range, sampler);

Application application = applicationFactory.createApplication(applicationName, serviceTypeCode);
Application application = applicationFactory.createApplication(applicationId, serviceTypeCode);

return apdexScoreService.selectApplicationChart(application, range, timeWindow);
}

@GetMapping(value = "/getApplicationStat/apdexScore/chart", params = "serviceTypeName")
public StatChart getAgentApdexScoreScoreChart(
@RequestParam("applicationName") String applicationName,
public StatChart getApplicationApdexScoreChart(
@RequestParam("applicationId") String applicationId,
@RequestParam("serviceTypeName") String serviceTypeName,
@RequestParam("from") long from,
@RequestParam("to") long to) {
final Range range = Range.between(from, to);
TimeWindowSampler sampler = new TimeWindowSlotCentricSampler();
TimeWindow timeWindow = new TimeWindow(range, sampler);

Application application = applicationFactory.createApplicationByTypeName(applicationName, serviceTypeName);
Application application = applicationFactory.createApplicationByTypeName(applicationId, serviceTypeName);

return apdexScoreService.selectApplicationChart(application, range, timeWindow);
}

@GetMapping(value = "/getAgentStat/apdexScore/chart")
public StatChart getAgentApdexScoreChartData(
@RequestParam("applicationName") String applicationName,
public StatChart getAgentApdexScoreChart(
@RequestParam("applicationId") String applicationId,
@RequestParam("serviceTypeCode") Short serviceTypeCode,
@RequestParam("agentId") String agentId,
@RequestParam("from") long from,
Expand All @@ -94,14 +94,14 @@ public StatChart getAgentApdexScoreChartData(
TimeWindowSampler sampler = new TimeWindowSlotCentricSampler();
TimeWindow timeWindow = new TimeWindow(range, sampler);

Application application = applicationFactory.createApplication(applicationName, serviceTypeCode);
Application application = applicationFactory.createApplication(applicationId, serviceTypeCode);

return apdexScoreService.selectAgentChart(application, range, timeWindow, agentId);
}

@GetMapping(value = "/getAgentStat/apdexScore/chart", params = "serviceTypeName")
public StatChart getAgentApdexScoreChartData(
@RequestParam("applicationName") String applicationName,
public StatChart getAgentApdexScoreChart(
@RequestParam("applicationId") String applicationId,
@RequestParam("serviceTypeName") String serviceTypeName,
@RequestParam("agentId") String agentId,
@RequestParam("from") long from,
Expand All @@ -110,12 +110,12 @@ public StatChart getAgentApdexScoreChartData(
TimeWindowSampler sampler = new TimeWindowSlotCentricSampler();
TimeWindow timeWindow = new TimeWindow(range, sampler);

Application application = applicationFactory.createApplicationByTypeName(applicationName, serviceTypeName);
Application application = applicationFactory.createApplicationByTypeName(applicationId, serviceTypeName);

return apdexScoreService.selectAgentChart(application, range, timeWindow, agentId);
}

@GetMapping(value = "/getApplicaionStat/apdexScore/inspectorView")
@GetMapping(value = "/getApplicationStat/apdexScore/inspectorView")
public InspectorView getApplicationApdexScoreView(
@RequestParam("applicationName") String applicationName,
@RequestParam("serviceTypeCode") Short serviceTypeCode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public void addValueFunction(String FieldName, Function<P, ?> function) {

private List<Long> getTimestampList(TimeWindow timeWindow) {
List<Long> timestampList = new ArrayList<>((int) timeWindow.getWindowSlotSize());
for(Long timeStamp : timeWindow){
for (Long timeStamp : timeWindow) {
timestampList.add(timeStamp);
}
return timestampList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import java.util.List;

public class ApplicationApdexScoreChart extends DefaultApplicationChart<DoubleApplicationStatPoint, Double> {
public class ApplicationApdexScoreChart extends DefaultApplicationChart<DoubleApplicationStatPoint, Double> {

private static final Point.UncollectedPointCreator<ApplicationStatPoint<Double>> UNCOLLECTED_POINT
= new DoubleApplicationStatPoint.UncollectedCreator(-1D);
Expand All @@ -27,7 +27,7 @@ static ChartGroupBuilder<DoubleApplicationStatPoint, ApplicationStatPoint<Double
return builder;
}

static InspectorDataBuilder<DoubleApplicationStatPoint, ApplicationStatPoint<Double>> newViewBuilder(){
static InspectorDataBuilder<DoubleApplicationStatPoint, ApplicationStatPoint<Double>> newViewBuilder() {
InspectorDataBuilder<DoubleApplicationStatPoint, ApplicationStatPoint<Double>> builder = new InspectorDataBuilder<>(UNCOLLECTED_POINT, "applicationApdexScore", "noUnit");
builder.addValueFunction("min", ApplicationStatPoint::getYValForMin);
builder.addValueFunction("minAgentId", ApplicationStatPoint::getAgentIdForMin);
Expand Down

0 comments on commit 6658466

Please sign in to comment.