public LocalTaskQueueingResult TryQueueTask([NotNull] TaskIndexRecord taskIndexRecord, [CanBeNull] TaskMetaInformation taskMeta, TaskQueueReason taskQueueReason, bool taskIsBeingTraced) { using (var infrastructureTraceContext = new InfrastructureTaskTraceContext(taskIsBeingTraced)) { var result = DoTryQueueTask(taskIndexRecord, taskMeta, taskQueueReason, taskIsBeingTraced); infrastructureTraceContext.Finish(result.TaskIsSentToThreadPool); return(result); } }
public void TaskFinished([NotNull] string taskId, TaskQueueReason taskQueueReason, bool taskIsBeingTraced, LocalTaskProcessingResult result) { lock (lockObject) hashtable.Remove(taskId); localQueueTaskCounter.Decrement(taskQueueReason); metricsContext.Meter("TaskIsFinished").Mark(); if (taskIsBeingTraced) { InfrastructureTaskTraceContext.Finish(); RemoteTaskHandlingTraceContext.Finish(result, rtqInternals.GlobalTime.UpdateNowTimestamp().Ticks); } }