public class MetricsTracer implements 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'.
Implements
ApiTracerStatic Fields
DEFAULT_LANGUAGE
public static final String DEFAULT_LANGUAGE
Field Value | |
---|---|
Type | Description |
String |
LANGUAGE_ATTRIBUTE
public static final String LANGUAGE_ATTRIBUTE
Field Value | |
---|---|
Type | Description |
String |
METHOD_ATTRIBUTE
public static final String METHOD_ATTRIBUTE
Field Value | |
---|---|
Type | Description |
String |
STATUS_ATTRIBUTE
public static final String STATUS_ATTRIBUTE
Field Value | |
---|---|
Type | Description |
String |
Constructors
MetricsTracer(MethodName methodName, MetricsRecorder metricsRecorder)
public MetricsTracer(MethodName methodName, MetricsRecorder metricsRecorder)
Parameters | |
---|---|
Name | Description |
methodName |
MethodName |
metricsRecorder |
MetricsRecorder |
Methods
addAttributes(String key, String value)
public void addAttributes(String key, String value)
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.
Parameters | |
---|---|
Name | Description |
key |
String |
value |
String |
attemptCancelled()
public void attemptCancelled()
Add an annotation that the attempt was cancelled by the user. Cancelled attempt add "CANCELLED" to the status attribute key.
attemptFailed(Throwable error, Duration delay)
public void attemptFailed(Throwable error, Duration delay)
Adds an annotation that the attempt failed, but another attempt will be made after the delay.
Parameters | |
---|---|
Name | Description |
error |
Throwable the error that caused the attempt to fail. |
delay |
org.threeten.bp.Duration 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. |
attemptFailedRetriesExhausted(Throwable error)
public void attemptFailedRetriesExhausted(Throwable error)
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.
Parameter | |
---|---|
Name | Description |
error |
Throwable the last error received before retries were exhausted. |
attemptPermanentFailure(Throwable error)
public void attemptPermanentFailure(Throwable error)
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.
Parameter | |
---|---|
Name | Description |
error |
Throwable the error that caused the final attempt to fail. |
attemptStarted(Object request, int attemptNumber)
public void attemptStarted(Object request, int attemptNumber)
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.
Parameters | |
---|---|
Name | Description |
request |
Object request of this attempt. |
attemptNumber |
int the zero based sequential attempt number. |
attemptSucceeded()
public void attemptSucceeded()
Adds an annotation that the attempt succeeded. Successful attempt add "OK" value to the status attribute key.
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.
operationFailed(Throwable error)
public void operationFailed(Throwable error)
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.
Parameter | |
---|---|
Name | Description |
error |
Throwable |
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.