/** * Mutates the Span with whatever new info we have. If we see an "end" annotation we remove the * span and send it off. */ void record(Record record) { MutableSpan span = spanMap.get(record.traceId()); if (span == null) { MutableSpan newSpan = new MutableSpan(record.traceId(), Time$.MODULE$.now()); MutableSpan prev = spanMap.putIfAbsent(record.traceId(), newSpan); span = prev != null ? prev : newSpan; } append(record, span); if (span.isComplete()) { spanMap.remove(record.traceId(), span); report(span); } }
@Override public void evaluate() throws Throwable { Time$.MODULE$.withTimeAt(Time.fromMilliseconds(epochMillis), new AbstractFunction1<TimeControl, Object>() { @Override public Object apply(TimeControl tc) { holder.set(tc); try { base.evaluate(); } catch (Throwable t) { throwable.set(t); } return null; } }); Throwable t = throwable.get(); if (t != null) throw t; } };
/** * Mutates the Span with whatever new info we have. If we see an "end" annotation we remove the * span and send it off. */ void record(Record record) { MutableSpan span = spanMap.get(record.traceId()); if (span == null) { MutableSpan newSpan = new MutableSpan(record.traceId(), Time$.MODULE$.now()); MutableSpan prev = spanMap.putIfAbsent(record.traceId(), newSpan); span = prev != null ? prev : newSpan; } append(record, span); if (span.isComplete()) { spanMap.remove(record.traceId(), span); reporter.report(span.toSpan()); } }
/** * Mutates the Span with whatever new info we have. If we see an "end" annotation we remove the * span and send it off. */ void record(Record record) { MutableSpan span = spanMap.get(record.traceId()); if (span == null) { MutableSpan newSpan = new MutableSpan(record.traceId(), Time$.MODULE$.now()); MutableSpan prev = spanMap.putIfAbsent(record.traceId(), newSpan); span = prev != null ? prev : newSpan; } append(record, span); if (span.isComplete()) { spanMap.remove(record.traceId(), span); report(span); } }
void withCurrentTimeFrozen(final TcCallback cb) { Time$.MODULE$.withCurrentTimeFrozen(new Function<TimeControl, BoxedUnit>() { @Override public BoxedUnit apply(TimeControl time) { cb.apply(time); return BoxedUnit.UNIT; } }); }