Skip to content

Commit

Permalink
[#noissue] Refactor exceptiontrace-web module
Browse files Browse the repository at this point in the history
  • Loading branch information
intr3p1d committed Jul 12, 2024
1 parent bd5797c commit 1e3235d
Show file tree
Hide file tree
Showing 24 changed files with 383 additions and 313 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
*/
package com.navercorp.pinpoint.exceptiontrace.web.config;

import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionChartValueViewEntity;
import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionGroupSummaryEntity;
import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionMetaDataEntity;
import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionTraceSummaryEntity;
import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionTraceValueViewEntity;
import com.navercorp.pinpoint.exceptiontrace.web.entity.GroupedFieldNameEntity;
import com.navercorp.pinpoint.exceptiontrace.web.util.ExceptionTraceQueryParameter;
import com.navercorp.pinpoint.mybatis.MyBatisRegistryHandler;
Expand All @@ -32,8 +32,8 @@ public class ExceptionTraceRegistryHandler implements MyBatisRegistryHandler {
public void registerTypeAlias(TypeAliasRegistry typeAliasRegistry) {
typeAliasRegistry.registerAlias(ExceptionMetaDataEntity.class);
typeAliasRegistry.registerAlias(GroupedFieldNameEntity.class);
typeAliasRegistry.registerAlias(ExceptionTraceSummaryEntity.class);
typeAliasRegistry.registerAlias(ExceptionTraceValueViewEntity.class);
typeAliasRegistry.registerAlias(ExceptionGroupSummaryEntity.class);
typeAliasRegistry.registerAlias(ExceptionChartValueViewEntity.class);
typeAliasRegistry.registerAlias(ExceptionTraceQueryParameter.class);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,14 @@

import com.navercorp.pinpoint.common.server.util.time.Range;
import com.navercorp.pinpoint.common.server.util.time.RangeValidator;
import com.navercorp.pinpoint.exceptiontrace.web.model.ExceptionTraceSummary;
import com.navercorp.pinpoint.exceptiontrace.web.model.ExceptionTraceValueView;
import com.navercorp.pinpoint.exceptiontrace.web.model.ExceptionGroupSummary;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionChartValueView;
import com.navercorp.pinpoint.exceptiontrace.web.service.ExceptionTraceService;
import com.navercorp.pinpoint.exceptiontrace.web.util.ExceptionTraceQueryParameter;
import com.navercorp.pinpoint.exceptiontrace.web.util.GroupByAttributes;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionMetaDataView;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionTraceView;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionDetailView;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionChartView;
import com.navercorp.pinpoint.exceptiontrace.web.util.TimeSeriesUtils;
import com.navercorp.pinpoint.common.server.util.timewindow.TimeWindow;
import com.navercorp.pinpoint.common.server.util.timewindow.TimeWindowSampler;
import com.navercorp.pinpoint.common.server.util.timewindow.TimeWindowSlotCentricSampler;
Expand Down Expand Up @@ -79,7 +80,7 @@ public ExceptionTraceController(
}

@GetMapping("/transactionInfo")
public List<ExceptionMetaDataView> getListOfExceptionMetaDataFromTransactionId(
public List<ExceptionDetailView> getListOfExceptionMetaDataFromTransactionId(
@RequestParam("applicationName") @NotBlank String applicationName,
@RequestParam("agentId") @NotBlank String agentId,
@RequestParam("transactionId") @NotBlank String transactionId,
Expand All @@ -96,13 +97,13 @@ public List<ExceptionMetaDataView> getListOfExceptionMetaDataFromTransactionId(
.setExceptionId(exceptionId)
.setTimePrecision(DETAILED_TIME_PRECISION)
.build();
return exceptionTraceService.getTransactionExceptions(
return exceptionTraceService.getDetailExceptions(
queryParameter
);
}

@GetMapping("/errorList")
public List<ExceptionMetaDataView> getListOfExceptionMetaDataByGivenRange(
public List<ExceptionDetailView> getListOfExceptionMetaDataByGivenRange(
@RequestParam("applicationName") @NotBlank String applicationName,
@RequestParam(value = "agentId", required = false) String agentId,
@RequestParam("from") @PositiveOrZero long from,
Expand All @@ -128,13 +129,13 @@ public List<ExceptionMetaDataView> getListOfExceptionMetaDataByGivenRange(
.setOrderBy(orderBy)
.setIsDesc(isDesc)
.build();
return exceptionTraceService.getSummarizedExceptionsInRange(
return exceptionTraceService.getSummarizedExceptions(
queryParameter
);
}

@GetMapping("/errorList/groupBy")
public List<ExceptionTraceSummary> getListOfExceptionMetaDataWithDynamicGroupBy(
public List<ExceptionGroupSummary> getListOfExceptionMetaDataWithDynamicGroupBy(
@RequestParam("applicationName") @NotBlank String applicationName,
@RequestParam(value = "agentId", required = false) String agentId,
@RequestParam("from") @PositiveOrZero long from,
Expand All @@ -154,13 +155,13 @@ public List<ExceptionTraceSummary> getListOfExceptionMetaDataWithDynamicGroupBy(
.setTimePrecision(DETAILED_TIME_PRECISION)
.addAllGroupByList(groupByList)
.build();
return exceptionTraceService.getSummaries(
return exceptionTraceService.getGroupSummaries(
queryParameter
);
}

@GetMapping("/chart")
public ExceptionTraceView getCollectedExceptionMetaDataByGivenRange(
public ExceptionChartView getCollectedExceptionMetaDataByGivenRange(
@RequestParam("applicationName") @NotBlank String applicationName,
@RequestParam(value = "agentId", required = false) String agentId,
@RequestParam("from") @PositiveOrZero long from,
Expand All @@ -184,11 +185,11 @@ public ExceptionTraceView getCollectedExceptionMetaDataByGivenRange(
.setTimeWindowRangeCount(timeWindow.getWindowRangeCount())
.addAllGroupByList(groupByList)
.build();
List<ExceptionTraceValueView> exceptionTraceValueViews = exceptionTraceService.getValueViews(
List<ExceptionChartValueView> exceptionChartValueViews = exceptionTraceService.getChartViews(
queryParameter
);

return ExceptionTraceView.newViewFromValueViews(groupName, timeWindow, exceptionTraceValueViews);
return TimeSeriesUtils.newChartView(groupName, timeWindow, exceptionChartValueViews);
}

@GetMapping("/groups")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@


import com.navercorp.pinpoint.exceptiontrace.common.model.ExceptionMetaData;
import com.navercorp.pinpoint.exceptiontrace.web.model.ExceptionTraceSummary;
import com.navercorp.pinpoint.exceptiontrace.web.model.ExceptionTraceValueView;
import com.navercorp.pinpoint.exceptiontrace.web.model.ExceptionGroupSummary;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionChartValueView;
import com.navercorp.pinpoint.exceptiontrace.web.util.ExceptionTraceQueryParameter;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionMetaDataView;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionDetailView;

import java.util.List;

/**
* @author intr3p1d
*/
public interface ExceptionTraceDao {
List<ExceptionMetaDataView> getExceptions(ExceptionTraceQueryParameter exceptionTraceQueryParameter);
List<ExceptionMetaDataView> getSummarizedExceptions(ExceptionTraceQueryParameter exceptionTraceQueryParameter);
List<ExceptionDetailView> getExceptions(ExceptionTraceQueryParameter exceptionTraceQueryParameter);
List<ExceptionDetailView> getSummarizedExceptions(ExceptionTraceQueryParameter exceptionTraceQueryParameter);
ExceptionMetaData getException(ExceptionTraceQueryParameter exceptionTraceQueryParameter);
List<ExceptionTraceSummary> getSummaries(ExceptionTraceQueryParameter exceptionTraceQueryParameter);
List<ExceptionTraceValueView> getValueViews(ExceptionTraceQueryParameter exceptionTraceQueryParameter);
List<ExceptionGroupSummary> getGroupSummaries(ExceptionTraceQueryParameter exceptionTraceQueryParameter);
List<ExceptionChartValueView> getChartValueViews(ExceptionTraceQueryParameter exceptionTraceQueryParameter);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@
package com.navercorp.pinpoint.exceptiontrace.web.dao;

import com.navercorp.pinpoint.exceptiontrace.common.model.ExceptionMetaData;
import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionGroupSummaryEntity;
import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionMetaDataEntity;
import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionTraceSummaryEntity;
import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionTraceValueViewEntity;
import com.navercorp.pinpoint.exceptiontrace.web.mapper.ExceptionMetaDataEntityMapper;
import com.navercorp.pinpoint.exceptiontrace.web.model.ExceptionTraceSummary;
import com.navercorp.pinpoint.exceptiontrace.web.model.ExceptionTraceValueView;
import com.navercorp.pinpoint.exceptiontrace.web.entity.ExceptionChartValueViewEntity;
import com.navercorp.pinpoint.exceptiontrace.web.mapper.ExceptionEntityMapper;
import com.navercorp.pinpoint.exceptiontrace.web.model.ExceptionGroupSummary;
import com.navercorp.pinpoint.exceptiontrace.web.util.ExceptionTraceQueryParameter;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionMetaDataView;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionChartValueView;
import com.navercorp.pinpoint.exceptiontrace.web.view.ExceptionDetailView;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.mybatis.spring.SqlSessionTemplate;
Expand All @@ -47,34 +47,34 @@ public class PinotExceptionTraceDao implements ExceptionTraceDao {
private static final String SELECT_QUERY = "selectExceptions";
private static final String SELECT_SUMMARIZED_QUERY = "selectSummarizedExceptions";
private static final String SELECT_EXACT_QUERY = "selectExactException";
private static final String SELECT_SUMMARIES_QUERY = "selectSummaries";
private static final String SELECT_VALUEVIEWS_QUERY = "selectValueViews";
private static final String SELECT_GROUP_SUMMARIES_QUERY = "selectGroupSummaries";
private static final String SELECT_CHART_QUERY = "selectChartValueViews";

private final SqlSessionTemplate sqlPinotSessionTemplate;

private final ExceptionMetaDataEntityMapper mapper;
private final ExceptionEntityMapper mapper;

public PinotExceptionTraceDao(
@Qualifier("exceptionTracePinotSessionTemplate") SqlSessionTemplate sqlPinotSessionTemplate,
ExceptionMetaDataEntityMapper mapper
ExceptionEntityMapper mapper
) {
this.sqlPinotSessionTemplate = Objects.requireNonNull(sqlPinotSessionTemplate, "sqlPinotSessionTemplate");
this.mapper = Objects.requireNonNull(mapper, "mapper");
}

@Override
public List<ExceptionMetaDataView> getExceptions(ExceptionTraceQueryParameter exceptionTraceQueryParameter) {
public List<ExceptionDetailView> getExceptions(ExceptionTraceQueryParameter exceptionTraceQueryParameter) {
List<ExceptionMetaDataEntity> dataEntities = this.sqlPinotSessionTemplate.selectList(NAMESPACE + SELECT_QUERY, exceptionTraceQueryParameter);
return dataEntities.stream()
.map(mapper::toView)
.map(mapper::toDetailView)
.collect(Collectors.toList());
}

@Override
public List<ExceptionMetaDataView> getSummarizedExceptions(ExceptionTraceQueryParameter exceptionTraceQueryParameter) {
public List<ExceptionDetailView> getSummarizedExceptions(ExceptionTraceQueryParameter exceptionTraceQueryParameter) {
List<ExceptionMetaDataEntity> dataEntities = this.sqlPinotSessionTemplate.selectList(NAMESPACE + SELECT_SUMMARIZED_QUERY, exceptionTraceQueryParameter);
return dataEntities.stream()
.map(mapper::toView)
.map(mapper::toDetailView)
.collect(Collectors.toList());
}

Expand All @@ -85,22 +85,27 @@ public ExceptionMetaData getException(ExceptionTraceQueryParameter exceptionTrac
}

@Override
public List<ExceptionTraceSummary> getSummaries(ExceptionTraceQueryParameter exceptionTraceQueryParameter) {
List<ExceptionTraceSummaryEntity> entities = this.sqlPinotSessionTemplate.selectList(NAMESPACE + SELECT_SUMMARIES_QUERY, exceptionTraceQueryParameter);
public List<ExceptionGroupSummary> getGroupSummaries(ExceptionTraceQueryParameter exceptionTraceQueryParameter) {
List<ExceptionGroupSummaryEntity> entities = this.sqlPinotSessionTemplate.selectList(NAMESPACE + SELECT_GROUP_SUMMARIES_QUERY, exceptionTraceQueryParameter);
return entities.stream()
.map((ExceptionTraceSummaryEntity e) ->
.map((ExceptionGroupSummaryEntity e) ->
mapper.toSummary(
e, exceptionTraceQueryParameter.getGroupByAttributes()
)
).collect(Collectors.toList());
}

@Override
public List<ExceptionTraceValueView> getValueViews(ExceptionTraceQueryParameter exceptionTraceQueryParameter) {
List<ExceptionTraceValueViewEntity> valueViewEntities = this.sqlPinotSessionTemplate.selectList(NAMESPACE + SELECT_VALUEVIEWS_QUERY, exceptionTraceQueryParameter);
public List<ExceptionChartValueView> getChartValueViews(ExceptionTraceQueryParameter exceptionTraceQueryParameter) {
List<ExceptionChartValueViewEntity> valueViewEntities = this.sqlPinotSessionTemplate.selectList(NAMESPACE + SELECT_CHART_QUERY, exceptionTraceQueryParameter);
for (int i = 0; i < valueViewEntities.size(); i++) {
ExceptionChartValueViewEntity view = valueViewEntities.get(i);
view.setRowNum(i + 1);
}

return valueViewEntities.stream()
.map((ExceptionTraceValueViewEntity e) ->
mapper.toValueView(
.map((ExceptionChartValueViewEntity e) ->
mapper.toChartView(
e, exceptionTraceQueryParameter.getGroupByAttributes()
)
).collect(Collectors.toList());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@
/**
* @author intr3p1d
*/
public class ExceptionTraceValueViewEntity extends GroupedFieldNameEntity {
public class ExceptionChartValueViewEntity extends GroupedFieldNameEntity {
private String values;

public ExceptionTraceValueViewEntity() {
private int rowNum;

public ExceptionChartValueViewEntity() {
}

public String getValues() {
Expand All @@ -31,4 +33,12 @@ public String getValues() {
public void setValues(String values) {
this.values = values;
}

public int getRowNum() {
return rowNum;
}

public void setRowNum(int rowNum) {
this.rowNum = rowNum;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@
/**
* @author intr3p1d
*/
public class ExceptionTraceSummaryEntity extends GroupedFieldNameEntity {
public class ExceptionGroupSummaryEntity extends GroupedFieldNameEntity {
private String mostRecentErrorClass;
private String mostRecentErrorMessage;
private long count;
private long firstOccurred;
private long lastOccurred;

public ExceptionTraceSummaryEntity() {
public ExceptionGroupSummaryEntity() {
}

public String getMostRecentErrorClass() {
Expand Down
Loading

0 comments on commit 1e3235d

Please sign in to comment.