private MonitoredTrace getOrCreateMonitoredThread(final long beforeEventLoggingTimestamp, final long threadId) { final MonitoredTrace monitoredTrace; if (!this.monitoredTraces.containsKey(threadId)) { final int uniqueTraceId = this.currentTraceId++; // generates a unique trace id monitoredTrace = new MonitoredTrace(uniqueTraceId); monitoredTrace.currentStackSize = 0; this.monitoredTraces.put(threadId, monitoredTrace); // The synthesize logging timestamp for the trace meta data must smaller than the first before event. // Hence, we subtract 1 from the before event. final long synthesizedLoggingTimestamp = beforeEventLoggingTimestamp - 1; final String hostName = this.hostNames.get(threadId); final TraceMetadata traceMetadata = new TraceMetadata(monitoredTrace.identifier, threadId, "<NO SESSION>", hostName, -1, -1); traceMetadata.setLoggingTimestamp(synthesizedLoggingTimestamp); super.deliver(OUTPUT_PORT_NAME_DEFAULT, traceMetadata); } else { monitoredTrace = this.monitoredTraces.get(threadId); } monitoredTrace.currentStackSize++; return monitoredTrace; }
private MonitoredTrace getOrCreateMonitoredThread(final long beforeEventLoggingTimestamp, final long threadId) { final MonitoredTrace monitoredTrace; if (!this.monitoredTraces.containsKey(threadId)) { final int uniqueTraceId = this.currentTraceId++; // generates a unique trace id monitoredTrace = new MonitoredTrace(uniqueTraceId); monitoredTrace.currentStackSize = 0; this.monitoredTraces.put(threadId, monitoredTrace); // The synthesize logging timestamp for the trace meta data must smaller than the first before event. // Hence, we subtract 1 from the before event. final long synthesizedLoggingTimestamp = beforeEventLoggingTimestamp - 1; final String hostName = this.hostNames.get(threadId); final TraceMetadata traceMetadata = new TraceMetadata(monitoredTrace.identifier, threadId, "<NO SESSION>", hostName, -1, -1); traceMetadata.setLoggingTimestamp(synthesizedLoggingTimestamp); super.deliver(OUTPUT_PORT_NAME_DEFAULT, traceMetadata); } else { monitoredTrace = this.monitoredTraces.get(threadId); } monitoredTrace.currentStackSize++; return monitoredTrace; }