Class MetricsTracer (2.69.0)

  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'.

Inheritance

Object > MetricsTracer

Implements

ApiTracer

Static Fields

DEFAULT_LANGUAGE

  public 
  
 static 
  
 final 
  
 String 
  
 DEFAULT_LANGUAGE 
 
Field Value
Type
Description

LANGUAGE_ATTRIBUTE

  public 
  
 static 
  
 final 
  
 String 
  
 LANGUAGE_ATTRIBUTE 
 
Field Value
Type
Description

METHOD_ATTRIBUTE

  public 
  
 static 
  
 final 
  
 String 
  
 METHOD_ATTRIBUTE 
 
Field Value
Type
Description

STATUS_ATTRIBUTE

  public 
  
 static 
  
 final 
  
 String 
  
 STATUS_ATTRIBUTE 
 
Field Value
Type
Description

Constructors

MetricsTracer(MethodName methodName, MetricsRecorder metricsRecorder)

  public 
  
 MetricsTracer 
 ( 
 MethodName 
  
 methodName 
 , 
  
 MetricsRecorder 
  
 metricsRecorder 
 ) 
 
Parameters
Name
Description
methodName
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
value

addAttributes(Map<String,String> attributes)

  public 
  
 void 
  
 addAttributes 
 ( 
 Map<String 
 , 
 String 
>  
 attributes 
 ) 
 

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.

Parameter
Name
Description
attributes
Map < String , 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 
 ) 
 

This method is obsolete. Use #attemptFailedDuration(Throwable, java.time.Duration) instead.

Parameters
Name
Description
error
delay
org.threeten.bp.Duration

attemptFailedDuration(Throwable error, Duration delay)

  public 
  
 void 
  
 attemptFailedDuration 
 ( 
 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
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

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.

Design a Mobile Site
View Site in Mobile | Classic
Share by: