Closed iohao closed 11 months ago
统计插件提供了 StatActionRegion、StatAction、StatActionChangeListener 类,用于记录、处理与统计相关的信息。开发者通过这些类,可以得到与统计相关的所有信息。
通过 StatActionRegion 对象可以拿到统计的各种信息;当项目上线时,通常是不需要打印信息的,但我们可以配合定时调度把这些数据定期的同步到日志、或 DB、或其他地方中。
之后,开发者可以通过这些数据来分析出项目中的热点方法、耗时方法,从而做到精准优化。
已在 17.1.59 版本提供
通过 StatActionRegion 对象可以拿到统计的各种信息;当项目上线时,通常是不需要打印信息的,但我们可以配合定时调度把这些数据定期的同步到日志、或 DB、或其他地方中。之后,开发者可以通过这些数据来分析出项目中的热点方法、耗时方法,从而做到精准优化。
// 统计值插件
StatActionInOut statActionInOut = ...;
// 统计域(统计值的管理器)
StatActionInOut.StatActionRegion region = statActionInOut.getRegion();
// 遍历所有的统计数据
region.forEach((cmdInfo, statAction) -> {
// action 执行次数统计
LongAdder executeCount = statAction.getExecuteCount();
// action 异常触发次数
LongAdder errorCount = statAction.getErrorCount();
// 平均耗时
long avgTime = statAction.getAvgTime();
// 单次调用中的最大耗时
long maxTime = statAction.getMaxTime();
// 总耗时
LongAdder totalTime = statAction.getTotalTime();
// 时间范围
List<StatActionInOut.TimeRange> timeRangeList = statAction.getTimeRangeList();
for (StatActionInOut.TimeRange timeRange : timeRangeList) {
// 开始时间
long start = timeRange.start();
// 结束时间
long end = timeRange.end();
// 该时间范围所触发的执行次数
LongAdder count = timeRange.count();
}
// 开发者可以定时的将这些数据保存到日志或 DB 中,用于后续的分析
});
插件介绍
StatActionInOut 是 action 调用统计插件,主要关注点
StatActionInOut 物件可以用来统计各 action 调用时的相关数据,如 action 的执行次数、总耗时、平均耗时、最大耗时、触发异常次数...等相关数据
开发者可以通过这些数据来分析出项目中的热点方法、耗时方法,从而做到精准优化。
打印预览
使用示例