Improve db calls stats printing
This commit is contained in:
parent
7ce3af709b
commit
9d19879bd7
@ -72,7 +72,7 @@ public class SqlDaoCallsAspect {
|
||||
try {
|
||||
if (log.isTraceEnabled()) {
|
||||
logTopNTenants(snapshots, Comparator.comparing(DbCallStatsSnapshot::getTotalTiming).reversed(), 0, snapshot -> {
|
||||
logSnapshot(snapshot, 0, Comparator.comparing(MethodCallStatsSnapshot::getTiming).reversed(), log::trace);
|
||||
logSnapshot(snapshot, 0, Comparator.comparing(MethodCallStatsSnapshot::getTiming).reversed(), "timing", log::trace);
|
||||
});
|
||||
|
||||
Map<String, Map<TenantId, MethodCallStatsSnapshot>> byMethodStats = new HashMap<>();
|
||||
@ -97,29 +97,33 @@ public class SqlDaoCallsAspect {
|
||||
} else if (log.isDebugEnabled()) {
|
||||
log.debug("Total calls statistics below:");
|
||||
logTopNTenants(snapshots, Comparator.comparingInt(DbCallStatsSnapshot::getTotalCalls).reversed(), 10,
|
||||
s -> logSnapshot(s, 10, Comparator.comparing(MethodCallStatsSnapshot::getExecutions).reversed(), log::debug));
|
||||
s -> logSnapshot(s, 10, Comparator.comparing(MethodCallStatsSnapshot::getExecutions).reversed(), "executions", log::debug));
|
||||
log.debug("Total timing statistics below:");
|
||||
logTopNTenants(snapshots, Comparator.comparingLong(DbCallStatsSnapshot::getTotalTiming).reversed(),
|
||||
10, s -> logSnapshot(s, 10, Comparator.comparing(MethodCallStatsSnapshot::getTiming).reversed(), log::debug));
|
||||
logTopNTenants(snapshots, Comparator.comparingLong(DbCallStatsSnapshot::getTotalTiming).reversed(), 10,
|
||||
s -> logSnapshot(s, 10, Comparator.comparing(MethodCallStatsSnapshot::getTiming).reversed(), "timing", log::debug));
|
||||
log.debug("Total errors statistics below:");
|
||||
logTopNTenants(snapshots, Comparator.comparingInt(DbCallStatsSnapshot::getTotalFailure).reversed(),
|
||||
10, s -> logSnapshot(s, 10, Comparator.comparing(MethodCallStatsSnapshot::getFailures).reversed(), log::debug));
|
||||
logTopNTenants(snapshots, Comparator.comparingInt(DbCallStatsSnapshot::getTotalFailure).reversed(), 10,
|
||||
s -> logSnapshot(s, 10, Comparator.comparing(MethodCallStatsSnapshot::getFailures).reversed(), "failures", log::debug));
|
||||
} else if (log.isInfoEnabled()) {
|
||||
log.info("Total calls statistics below:");
|
||||
logTopNTenants(snapshots, Comparator.comparingInt(DbCallStatsSnapshot::getTotalFailure).reversed(),
|
||||
3, s -> logSnapshot(s, 3, Comparator.comparing(MethodCallStatsSnapshot::getFailures).reversed(), log::info));
|
||||
logTopNTenants(snapshots, Comparator.comparingInt(DbCallStatsSnapshot::getTotalCalls).reversed(), 3,
|
||||
s -> logSnapshot(s, 3, Comparator.comparing(MethodCallStatsSnapshot::getExecutions).reversed(), "executions", log::info));
|
||||
log.info("Total timing statistics below:");
|
||||
logTopNTenants(snapshots, Comparator.comparingLong(DbCallStatsSnapshot::getTotalTiming).reversed(), 3,
|
||||
s -> logSnapshot(s, 3, Comparator.comparing(MethodCallStatsSnapshot::getTiming).reversed(), "timing", log::info));
|
||||
}
|
||||
} finally {
|
||||
statsMap.clear();
|
||||
}
|
||||
}
|
||||
|
||||
private void logSnapshot(DbCallStatsSnapshot snapshot, int limit, Comparator<MethodCallStatsSnapshot> methodStatsComparator, Consumer<String> logger) {
|
||||
private void logSnapshot(DbCallStatsSnapshot snapshot, int limit, Comparator<MethodCallStatsSnapshot> methodStatsComparator, String sortingKey, Consumer<String> logger) {
|
||||
logger.accept(String.format("[%s]: calls: %s, failures: %s, exec time: %s ",
|
||||
snapshot.getTenantId(), snapshot.getTotalCalls(), snapshot.getTotalFailure(), snapshot.getTotalTiming()));
|
||||
var stream = snapshot.getMethodStats().entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByValue(methodStatsComparator));
|
||||
if (limit > 0) {
|
||||
logger.accept(String.format("[%s] Top %s methods by %s:", snapshot.getTenantId(), limit, sortingKey));
|
||||
stream = stream.limit(limit);
|
||||
}
|
||||
stream.forEach(e -> {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user