Class ErrorTypeUtil (2.81.0)

  public 
  
 class 
 ErrorTypeUtil 
 

Inheritance

java.lang.Object > ErrorTypeUtil

Static Methods

extractErrorType(Throwable error)

  public 
  
 static 
  
 String 
  
 extractErrorType 
 ( 
 Throwable 
  
 error 
 ) 
 

Extracts a low-cardinality string representing the specific classification of the error to be used in the ObservabilityAttributes#ERROR_TYPE_ATTRIBUTE attribute.

This value is determined based on the following priority:

  1. google.rpc.ErrorInfo.reason : If the error response from the service includes google.rpc.ErrorInfo details, the reason field (e.g., "RATE_LIMIT_EXCEEDED", "SERVICE_DISABLED") will be used. This offers the most precise error cause.
  2. Specific Server Error Code: If no ErrorInfo.reason is available and it is not a client-side failure, but a server error code was received:
    • For HTTP: The HTTP status code (e.g., "403", "503").
    • For gRPC: The gRPC status code name (e.g., "PERMISSION_DENIED", "UNAVAILABLE").
  3. Client-Side Network/Operational Errors: For errors occurring within the client library or network stack, mapping to specific enum representations from ErrorType . This includes checking the exception for diagnostic markers (e.g., ConnectException or SocketTimeoutException ).
  4. Language-specific error type: The class or struct name of the exception or error if available. This must be low-cardinality, meaning it returns the short name of the exception class (e.g. "IllegalStateException" ) rather than its message.
  5. Internal Fallback: If the error doesn't fit any of the above categories, "INTERNAL" will be used, indicating an unexpected issue within the client library's own logic.
Parameter
Name
Description
error
Throwable

the Throwable from which to extract the error type string.

Returns
Type
Description

a low-cardinality string representing the specific error type

Constructors

ErrorTypeUtil()

  public 
  
 ErrorTypeUtil 
 () 
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: