public void doneWithNonLocalSession(TraceState state) { if (state.releaseReference() == 0) sessions.remove(state.sessionId); }
public void trace(String format, Object[] args) { trace(MessageFormatter.arrayFormat(format, args).getMessage()); }
public void trace(String message) { if (notify) notifyActivity(); traceImpl(message); for (ProgressListener listener : listeners) { listener.progress(tag, ProgressEvent.createNotification(message)); } }
fireProgressEvent(tag, new ProgressEvent(ProgressEventType.START, 0, 100, message)); Tracing.traceRepair(message); traceState.enableActivityNotification(tag); for (ProgressListener listener : listeners) traceState.addProgressListener(listener); Thread queryThread = createQueryThread(cmd, sessionId); queryThread.setName("RepairTracePolling");
UUID sessionId = UUIDGen.getUUID(ByteBuffer.wrap(sessionBytes)); TraceState ts = get(sessionId); if (ts != null && ts.acquireReference()) return ts;
/** * Determines the tracing context from a message. Does NOT set the threadlocal state. * * @param message The internode message */ public TraceState initializeFromMessage(final MessageIn<?> message) { final byte[] sessionBytes = message.parameters.get(Tracing.TRACE_HEADER); if (sessionBytes == null) return null; assert sessionBytes.length == 16; UUID sessionId = UUIDGen.getUUID(ByteBuffer.wrap(sessionBytes)); TraceState ts = sessions.get(sessionId); if (ts != null && ts.acquireReference()) return ts; if (message.verb == MessagingService.Verb.REQUEST_RESPONSE) { // received a message for a session we've already closed out. see CASSANDRA-5668 return new ExpiredTraceState(sessionId); } else { ts = new TraceState(message.from, sessionId); sessions.put(sessionId, ts); return ts; } }
protected void traceImpl(String message) { delegate.traceImpl(message); }
/** * Stop the session and record its complete. Called by coodinator when request is complete. */ public void stopSession() { TraceState state = get(); if (state == null) // inline isTracing to avoid implicit two calls to state.get() { logger.trace("request complete"); } else { stopSessionImpl(); state.stop(); sessions.remove(state.sessionId); set(null); } }
private void repairComplete() { String duration = DurationFormatUtils.formatDurationWords(System.currentTimeMillis() - startTime, true, true); String message = String.format("Repair command #%d finished in %s", cmd, duration); fireProgressEvent(tag, new ProgressEvent(ProgressEventType.COMPLETE, progress.get(), totalProgress, message)); logger.info(message); if (options.isTraced() && traceState != null) { for (ProgressListener listener : listeners) traceState.removeProgressListener(listener); // Because DebuggableThreadPoolExecutor#afterExecute and this callback // run in a nondeterministic order (within the same thread), the // TraceState may have been nulled out at this point. The TraceState // should be traceState, so just set it without bothering to check if it // actually was nulled out. Tracing.instance.set(traceState); Tracing.traceRepair(message); Tracing.instance.stopSession(); } executor.shutdownNow(); } });
boolean shouldDouble = false; while ((status = state.waitActivity(timeout)) != TraceState.Status.STOPPED)
fireProgressEvent(tag, new ProgressEvent(ProgressEventType.START, 0, 100, message)); Tracing.traceRepair(message); traceState.enableActivityNotification(tag); for (ProgressListener listener : listeners) traceState.addProgressListener(listener); Thread queryThread = createQueryThread(cmd, sessionId); queryThread.setName("RepairTracePolling");
UUID sessionId = UUIDGen.getUUID(ByteBuffer.wrap(sessionBytes)); TraceState ts = get(sessionId); if (ts != null && ts.acquireReference()) return ts;
protected void traceImpl(String message) { delegate.traceImpl(message); }
/** * Stop the session and record its complete. Called by coodinator when request is complete. */ public void stopSession() { TraceState state = get(); if (state == null) // inline isTracing to avoid implicit two calls to state.get() { logger.trace("request complete"); } else { stopSessionImpl(); state.stop(); sessions.remove(state.sessionId); set(null); } }
private void repairComplete() { String duration = DurationFormatUtils.formatDurationWords(System.currentTimeMillis() - startTime, true, true); String message = String.format("Repair command #%d finished in %s", cmd, duration); fireProgressEvent(tag, new ProgressEvent(ProgressEventType.COMPLETE, progress.get(), totalProgress, message)); logger.info(message); if (options.isTraced() && traceState != null) { for (ProgressListener listener : listeners) traceState.removeProgressListener(listener); // Because DebuggableThreadPoolExecutor#afterExecute and this callback // run in a nondeterministic order (within the same thread), the // TraceState may have been nulled out at this point. The TraceState // should be traceState, so just set it without bothering to check if it // actually was nulled out. Tracing.instance.set(traceState); Tracing.traceRepair(message); Tracing.instance.stopSession(); } executor.shutdownNow(); } });
boolean shouldDouble = false; while ((status = state.waitActivity(timeout)) != TraceState.Status.STOPPED)
public void trace(String format, Object[] args) { trace(MessageFormatter.arrayFormat(format, args).getMessage()); }
public void trace(String message) { if (notify) notifyActivity(); traceImpl(message); for (ProgressListener listener : listeners) { listener.progress(tag, ProgressEvent.createNotification(message)); } }
fireProgressEvent(tag, new ProgressEvent(ProgressEventType.START, 0, 100, message)); Tracing.traceRepair(message); traceState.enableActivityNotification(tag); for (ProgressListener listener : listeners) traceState.addProgressListener(listener); Thread queryThread = createQueryThread(cmd, sessionId); queryThread.setName("RepairTracePolling");