/** * Wrap runnable with current tracer and description * @param runnable to wrap * @return wrapped runnable or original runnable when not tracing */ public static Runnable wrap(Runnable runnable, String description) { return (tracer == null) ? runnable : tracer.wrap(runnable, description); } }
threads.put(new Thread(tracer.wrap(client, "ClientThread")), client);
return Collections.singletonList(runnable); } else { return Collections.singletonList(tracer.wrap(runnable, "AsyncProcess.sendMultiAction"));
/** * Wrap runnable with current tracer and description * @param runnable to wrap * @return wrapped runnable or original runnable when not tracing */ public static Runnable wrap(Runnable runnable, String description) { return (tracer == null) ? runnable : tracer.wrap(runnable, description); } }
/** * Wrap runnable with current tracer and description * @param runnable to wrap * @return wrapped runnable or original runnable when not tracing */ public static Runnable wrap(Runnable runnable, String description) { return (tracer == null) ? runnable : tracer.wrap(runnable, description); } }
Runnable wrap(Runnable runnable) { return tracer.wrap(runnable, scopeName); }
return Collections.singletonList(runnable); } else { return Collections.singletonList(tracer.wrap(runnable, "AsyncProcess.sendMultiAction"));
Runnable wrap(Runnable runnable) { return tracer.wrap(runnable, scopeName); }
<V> Callable<V> wrap(Callable<V> callable) { return tracer.wrap(callable, scopeName); }
<V> Callable<V> wrap(Callable<V> callable) { return tracer.wrap(callable, scopeName); }
@Override public <T> Future<T> submit(Runnable task, T result) { return impl.submit(tracer.wrap(task, scopeName), result); }
@Override public Future<?> submit(Runnable task) { return impl.submit(tracer.wrap(task, scopeName)); }
@Override public void execute(Runnable command) { impl.execute(tracer.wrap(command, scopeName)); }
@Override public <T> Future<T> submit(Callable<T> task) { return impl.submit(tracer.wrap(task, scopeName)); }
private <T> Collection<? extends Callable<T>> wrapCollection( Collection<? extends Callable<T>> tasks) { List<Callable<T>> result = new ArrayList<Callable<T>>(); for (Callable<T> task : tasks) { result.add(tracer.wrap(task, scopeName)); } return result; }
/** * Creates the demo trace (will create different traces from call to call). */ public void createThreadedTrace() { try (TraceScope s = tracer.newScope(THREADED_TRACE_ROOT)) { Random r = ThreadLocalRandom.current(); int numThreads = r.nextInt(4) + 1; Thread[] threads = new Thread[numThreads]; for (int i = 0; i < numThreads; i++) { threads[i] = new Thread(tracer.wrap(new MyRunnable(), null)); } for (int i = 0; i < numThreads; i++) { threads[i].start(); } for (int i = 0; i < numThreads; i++) { try { threads[i].join(); } catch (InterruptedException e) { } } importantWork1(); } }
return Collections.singletonList(runnable); } else { return Collections.singletonList(tracer.wrap(runnable, "AsyncProcess.sendMultiAction"));