/// <summary>
 /// Ends timing of a failed block, calculates elapsed time
 /// and records the associated trace.
 /// </summary>
 /// <param name="error">an error object associated with this trace.</param>
 public void EndFailure(Exception error)
 {
     if (_tracer != null)
     {
         long elapsed = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() - _start;
         _tracer.Failure(_correlationId, _component, _operation, error, elapsed);
     }
 }