|
|
@ -75,6 +75,10 @@ class CallTracer { |
|
|
|
// Should be the last API call to the object. Once invoked, the tracer
|
|
|
|
// Should be the last API call to the object. Once invoked, the tracer
|
|
|
|
// library is free to destroy the object.
|
|
|
|
// library is free to destroy the object.
|
|
|
|
virtual void RecordEnd(const gpr_timespec& latency) = 0; |
|
|
|
virtual void RecordEnd(const gpr_timespec& latency) = 0; |
|
|
|
|
|
|
|
// Records an annotation on the call attempt.
|
|
|
|
|
|
|
|
// TODO(yashykt): If needed, extend this to attach attributes with
|
|
|
|
|
|
|
|
// annotations.
|
|
|
|
|
|
|
|
virtual void RecordAnnotation(absl::string_view annotation) = 0; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
virtual ~CallTracer() {} |
|
|
|
virtual ~CallTracer() {} |
|
|
@ -87,6 +91,10 @@ class CallTracer { |
|
|
|
// serves as an indication that the call stack is done with all API calls, and
|
|
|
|
// serves as an indication that the call stack is done with all API calls, and
|
|
|
|
// the tracer library is free to destroy it after that.
|
|
|
|
// the tracer library is free to destroy it after that.
|
|
|
|
virtual CallAttemptTracer* StartNewAttempt(bool is_transparent_retry) = 0; |
|
|
|
virtual CallAttemptTracer* StartNewAttempt(bool is_transparent_retry) = 0; |
|
|
|
|
|
|
|
// Records an annotation on the call attempt.
|
|
|
|
|
|
|
|
// TODO(yashykt): If needed, extend this to attach attributes with
|
|
|
|
|
|
|
|
// annotations.
|
|
|
|
|
|
|
|
virtual void RecordAnnotation(absl::string_view annotation) = 0; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
} // namespace grpc_core
|
|
|
|
} // namespace grpc_core
|
|
|
|