@Override public Trace getTrace() { TraceBuilder traceBuilder = getTraceBuilder(); if (traceBuilder != null) { return traceBuilder.build(); } else { return Trace.single(getShallowTrace(), "none", 0L); } }
private <T> Task<T> clientRequestTask(final Request<T> request) { return new BaseTask<T>(request.getName()) { @Override protected Promise<? extends T> run(final Context context) throws Exception { return _client.sendRequest(request); } }; }
private void fail(final Throwable error, final TaskLogger taskLogger) { if (transitionDone()) { appendTaskStackTrace(error); traceFailure(error); getSettableDelegate().fail(error); taskLogger.logTaskEnd(BaseTask.this, _traceValueProvider); } }
private void done(final T value, final TaskLogger taskLogger) { if (transitionDone()) { traceDone(value); getSettableDelegate().done(value); taskLogger.logTaskEnd(BaseTask.this, _traceValueProvider); } }
@Override public boolean cancel(final Exception rootReason) { if (transitionCancel(rootReason)) { final Exception reason = new CancellationException(rootReason); traceFailure(reason); getSettableDelegate().fail(reason); return true; } return false; }
final TaskLogger taskLogger = context.getTaskLogger(); final TraceBuilder traceBuilder = context.getTraceBuilder(); if (transitionRun(traceBuilder)) { markTaskStarted(); final Promise<T> promise; try { if (parent != null) { traceBuilder.addRelationship(Relationship.CHILD_OF, getShallowTraceBuilder(), parent.getShallowTraceBuilder()); traceBuilder.addRelationship(Relationship.SUCCESSOR_OF, getShallowTraceBuilder(), predecessor.getShallowTraceBuilder()); try { final Context wrapperContext = new WrappedContext(context); promise = doContextRun(wrapperContext); } finally { transitionPending(); fail(resolvedPromise.getError(), taskLogger); } else { done(resolvedPromise.get(), taskLogger); fail(t, taskLogger); traceBuilder.addRelationship(Relationship.POTENTIAL_CHILD_OF, getShallowTraceBuilder(), parent.getShallowTraceBuilder()); traceBuilder.addRelationship(Relationship.POSSIBLE_SUCCESSOR_OF, getShallowTraceBuilder(),
/** * Constructs a base task with a name and type of task * * @param name the name for this task. * @param taskType the type of the task */ public BaseTask(final String name, final String taskType) { super(Promises.settable()); _name = truncate(name); final State state = State.INIT; _shallowTraceBuilder = new ShallowTraceBuilder(_id); _shallowTraceBuilder.setName(getName()); _shallowTraceBuilder.setResultType(ResultType.UNFINISHED); if (taskType != null) { _shallowTraceBuilder.setTaskType(taskType); } _stateRef = new AtomicReference<>(state); if (ParSeqGlobalConfiguration.isCrossThreadStackTracesEnabled()) { _taskStackTraceHolder = new Throwable(); } else { _taskStackTraceHolder = null; } }
@Override public ShallowTrace getShallowTrace() { _shallowTraceBuilder.setHidden(true); return super.getShallowTrace(); } };
0, errorStackTrace.length - skipErrorFrames); concatenatedStackTrace[errorStackTrace.length - skipErrorFrames] = new StackTraceElement("********** Task \"" + getName() + "\" (above) was instantiated as following (below): **********", "",null, 0); System.arraycopy(taskStackTrace, skipTaskFrames, concatenatedStackTrace, errorStackTrace.length - skipErrorFrames + 1, taskStackTrace.length - skipTaskFrames);
final TaskLogger taskLogger = context.getTaskLogger(); final TraceBuilder traceBuilder = context.getTraceBuilder(); if (transitionRun(traceBuilder)) { markTaskStarted(); final Promise<T> promise; try { if (parent != null) { traceBuilder.addRelationship(Relationship.CHILD_OF, getShallowTraceBuilder(), parent.getShallowTraceBuilder()); traceBuilder.addRelationship(Relationship.SUCCESSOR_OF, getShallowTraceBuilder(), predecessor.getShallowTraceBuilder()); try { final Context wrapperContext = new WrappedContext(context); promise = doContextRun(wrapperContext); } finally { transitionPending(); fail(resolvedPromise.getError(), taskLogger); } else { done(resolvedPromise.get(), taskLogger); fail(t, taskLogger); traceBuilder.addRelationship(Relationship.POTENTIAL_CHILD_OF, getShallowTraceBuilder(), parent.getShallowTraceBuilder()); traceBuilder.addRelationship(Relationship.POSSIBLE_SUCCESSOR_OF, getShallowTraceBuilder(),
private void done(final T value, final TaskLogger taskLogger) { if (transitionDone()) { traceDone(value); getSettableDelegate().done(value); taskLogger.logTaskEnd(BaseTask.this, _traceValueProvider); } }
@Override public boolean cancel(final Exception rootReason) { if (transitionCancel(rootReason)) { final Exception reason = new CancellationException(rootReason); traceFailure(reason); getSettableDelegate().fail(reason); return true; } return false; }
/** * Constructs a base task with a name and type of task * * @param name the name for this task. * @param taskType the type of the task */ public BaseTask(final String name, final String taskType) { super(Promises.settable()); _name = truncate(name); final State state = State.INIT; _shallowTraceBuilder = new ShallowTraceBuilder(_id); _shallowTraceBuilder.setName(getName()); _shallowTraceBuilder.setResultType(ResultType.UNFINISHED); if (taskType != null) { _shallowTraceBuilder.setTaskType(taskType); } _stateRef = new AtomicReference<>(state); if (ParSeqGlobalConfiguration.isCrossThreadStackTracesEnabled()) { _taskStackTraceHolder = new Throwable(); } else { _taskStackTraceHolder = null; } }
@Override public ShallowTrace getShallowTrace() { _shallowTraceBuilder.setHidden(true); return super.getShallowTrace(); } };
0, errorStackTrace.length - skipErrorFrames); concatenatedStackTrace[errorStackTrace.length - skipErrorFrames] = new StackTraceElement("********** Task \"" + getName() + "\" (above) was instantiated as following (below): **********", "",null, 0); System.arraycopy(taskStackTrace, skipTaskFrames, concatenatedStackTrace, errorStackTrace.length - skipErrorFrames + 1, taskStackTrace.length - skipTaskFrames);
private void fail(final Throwable error, final TaskLogger taskLogger) { if (transitionDone()) { appendTaskStackTrace(error); traceFailure(error); getSettableDelegate().fail(error); taskLogger.logTaskEnd(BaseTask.this, _traceValueProvider); } }
@Override public Trace getTrace() { TraceBuilder traceBuilder = getTraceBuilder(); if (traceBuilder != null) { return traceBuilder.build(); } else { return Trace.single(getShallowTrace(), "none", 0L); } }
private <T> Task<T> clientRequestTask(final Request<T> request) { return new BaseTask<T>(request.getName()) { @Override protected Promise<? extends T> run(final Context context) throws Exception { return _client.sendRequest(request); } }; }