Package com.google.api.gax.tracing
Class MetricsTracer
java.lang.Object
com.google.api.gax.tracing.MetricsTracer
- All Implemented Interfaces:
ApiTracer
This class computes generic metrics that can be observed in the lifecycle of an RPC operation.
The responsibility of recording metrics should delegate to
MetricsRecorder, hence this
class should not have any knowledge about the observability framework used for metrics recording.
method_name and language will be autopopulated attributes. Default value of language is 'Java'.-
Nested Class Summary
Nested classes/interfaces inherited from interface com.google.api.gax.tracing.ApiTracer
ApiTracer.Scope -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAttributes(String key, String value) Add attributes that will be attached to all metrics.voidaddAttributes(Map<String, String> attributes) Add attributes that will be attached to all metrics.voidAdd an annotation that the attempt was cancelled by the user.voidattemptFailed(Throwable error, org.threeten.bp.Duration delay) This method is obsolete.voidattemptFailedDuration(Throwable error, Duration delay) Adds an annotation that the attempt failed, but another attempt will be made after the delay.voidAdds an annotation that the attempt failed and that no further attempts will be made because retry limits have been reached.voidattemptPermanentFailure(Throwable error) Adds an annotation that the attempt failed and that no further attempts will be made because the last error was not retryable.voidattemptStarted(Object request, int attemptNumber) Adds an annotation that an attempt is about to start with additional information from the request.voidAdds an annotation that the attempt succeeded.voidSignals that the operation was cancelled by the user.voidoperationFailed(Throwable error) Signals that the operation was cancelled by the user.voidSignals that the overall operation has finished successfully.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.google.api.gax.tracing.ApiTracer
attemptStarted, batchRequestSent, connectionSelected, inScope, lroStartFailed, lroStartSucceeded, requestSent, responseReceived
-
Field Details
-
METHOD_ATTRIBUTE
- See Also:
-
LANGUAGE_ATTRIBUTE
- See Also:
-
STATUS_ATTRIBUTE
- See Also:
-
DEFAULT_LANGUAGE
- See Also:
-
-
Constructor Details
-
MetricsTracer
-
-
Method Details
-
operationSucceeded
public void operationSucceeded()Signals that the overall operation has finished successfully. The tracer is now considered closed and should no longer be used. Successful operation adds "OK" value to the status attribute key.- Specified by:
operationSucceededin interfaceApiTracer- Throws:
IllegalStateException- if an operation completion call has already been invoked
-
operationCancelled
public void operationCancelled()Signals that the operation was cancelled by the user. The tracer is now considered closed and should no longer be used. Cancelled operation adds "CANCELLED" value to the status attribute key.- Specified by:
operationCancelledin interfaceApiTracer- Throws:
IllegalStateException- if an operation completion call has already been invoked
-
operationFailed
Signals that the operation was cancelled by the user. The tracer is now considered closed and should no longer be used. Failed operation extracts the error from the throwable and adds it to the status attribute key.- Specified by:
operationFailedin interfaceApiTracer- Parameters:
error- the final error that caused the operation to fail.- Throws:
IllegalStateException- if an operation completion call has already been invoked
-
attemptStarted
Adds an annotation that an attempt is about to start with additional information from the request. In general this should occur at the very start of the operation. The attemptNumber is zero based. So the initial attempt will be 0. When the attempt starts, the attemptTimer starts the stopwatch.- Specified by:
attemptStartedin interfaceApiTracer- Parameters:
attemptNumber- the zero based sequential attempt number.request- request of this attempt.
-
attemptSucceeded
public void attemptSucceeded()Adds an annotation that the attempt succeeded. Successful attempt add "OK" value to the status attribute key.- Specified by:
attemptSucceededin interfaceApiTracer
-
attemptCancelled
public void attemptCancelled()Add an annotation that the attempt was cancelled by the user. Cancelled attempt add "CANCELLED" to the status attribute key.- Specified by:
attemptCancelledin interfaceApiTracer
-
attemptFailedDuration
Adds an annotation that the attempt failed, but another attempt will be made after the delay.- Specified by:
attemptFailedDurationin interfaceApiTracer- Parameters:
error- the error that caused the attempt to fail.delay- the amount of time to wait before the next attempt will start.Failed attempt extracts the error from the throwable and adds it to the status attribute key.
-
attemptFailed
@ObsoleteApi("Use attemptFailedDuration(Throwable, java.time.Duration) instead") public void attemptFailed(Throwable error, org.threeten.bp.Duration delay) This method is obsolete. UseattemptFailedDuration(Throwable, java.time.Duration)instead.- Specified by:
attemptFailedin interfaceApiTracer
-
attemptFailedRetriesExhausted
Adds an annotation that the attempt failed and that no further attempts will be made because retry limits have been reached. This extracts the error from the throwable and adds it to the status attribute key.- Specified by:
attemptFailedRetriesExhaustedin interfaceApiTracer- Parameters:
error- the last error received before retries were exhausted.
-
attemptPermanentFailure
Adds an annotation that the attempt failed and that no further attempts will be made because the last error was not retryable. This extracts the error from the throwable and adds it to the status attribute key.- Specified by:
attemptPermanentFailurein interfaceApiTracer- Parameters:
error- the error that caused the final attempt to fail.
-
addAttributes
Add attributes that will be attached to all metrics. This is expected to be called by handwritten client teams to add additional attributes that are not supposed be collected by Gax. -
addAttributes
Add attributes that will be attached to all metrics. This is expected to be called by handwritten client teams to add additional attributes that are not supposed be collected by Gax.
-