private SlowOperationLog getOrCreate(String stackTrace, Object operation) { Integer stackTraceHashCode = stackTrace.hashCode(); SlowOperationLog candidate = slowOperationLogs.get(stackTraceHashCode); if (candidate != null) { return candidate; } candidate = new SlowOperationLog(stackTrace, operation); slowOperationLogs.put(stackTraceHashCode, candidate); return candidate; }
public List<SlowOperationDTO> getSlowOperationDTOs() { List<SlowOperationDTO> slowOperationDTOs = new ArrayList<SlowOperationDTO>(slowOperationLogs.size()); for (SlowOperationLog slowOperationLog : slowOperationLogs.values()) { slowOperationDTOs.add(slowOperationLog.createDTO()); } return slowOperationDTOs; }
private boolean purge(long nowNanos, long lastLogPurge) { if (nowNanos - lastLogPurge <= logPurgeIntervalNanos) { return false; } for (SlowOperationLog log : slowOperationLogs.values()) { if (!running) { return false; } if (log.purgeInvocations(nowNanos, logRetentionNanos)) { slowOperationLogs.remove(log.stackTrace.hashCode()); } } return true; }
operationData.invocation = log.getOrCreate(operationHashCode, operation, durationNanos, nowNanos, nowMillis);
operationData.invocation = log.getOrCreate(operationHashCode, operation, durationNanos, nowNanos, nowMillis);
public List<SlowOperationDTO> getSlowOperationDTOs() { List<SlowOperationDTO> slowOperationDTOs = new ArrayList<SlowOperationDTO>(slowOperationLogs.size()); for (SlowOperationLog slowOperationLog : slowOperationLogs.values()) { slowOperationDTOs.add(slowOperationLog.createDTO()); } return slowOperationDTOs; }
private boolean purge(long nowNanos, long lastLogPurge) { if (nowNanos - lastLogPurge <= logPurgeIntervalNanos) { return false; } for (SlowOperationLog log : slowOperationLogs.values()) { if (!running) { return false; } if (log.purgeInvocations(nowNanos, logRetentionNanos)) { slowOperationLogs.remove(log.stackTrace.hashCode()); } } return true; }
private SlowOperationLog getOrCreate(String stackTrace, Object operation) { Integer stackTraceHashCode = stackTrace.hashCode(); SlowOperationLog candidate = slowOperationLogs.get(stackTraceHashCode); if (candidate != null) { return candidate; } candidate = new SlowOperationLog(stackTrace, operation); slowOperationLogs.put(stackTraceHashCode, candidate); return candidate; }