Package com.linkedin.venice.client.stats
Class BasicClientStats
java.lang.Object
com.linkedin.venice.stats.AbstractVeniceStats
com.linkedin.venice.stats.AbstractVeniceHttpStats
com.linkedin.venice.client.stats.BasicClientStats
- Direct Known Subclasses:
- ClientStats
This class offers some base metrics for clients currently used
 by thin, fast and DaVinci clients.
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic enumstatic enumMetric names for tehuti metrics used in this class.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final io.opentelemetry.api.common.Attributesprotected final Map<VeniceMetricsDimensions,String> static final Collection<MetricEntity>protected final ClientTypeprotected final VeniceOpenTelemetryMetricsRepositoryFields inherited from class com.linkedin.venice.stats.AbstractVeniceStatsDELIMITER
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedBasicClientStats(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, RequestType requestType, ClientType clientType) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidemitHealthyRequestMetrics(double latency, int keyCount) voidemitHealthyRequestMetrics(double latency, Object value) voidemitHealthyRequestMetricsForDavinciClient(double latency) protected booleanvoidemitUnhealthyRequestMetrics(double latency, int httpStatus) voidemitUnhealthyRequestMetrics(double latency, Throwable throwable) voidemitUnhealthyRequestMetricsForDavinciClient(double latency) protected io.opentelemetry.api.common.Attributesstatic BasicClientStatsgetClientStats(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, RequestType requestType, ClientConfig clientConfig, ClientType clientType) static intgetHealthyRequestHttpStatus(int numSuccessfulKeys) Get the HTTP status code for healthy requests based on the number of successful keys as both null and valid values are considered healthy in Venice.protected final io.tehuti.metrics.stats.Ratestatic intgetSuccessfulKeyCount(Object value) Get the number of successful keys from the value.protected final io.tehuti.metrics.stats.Ratestatic intgetUnhealthyRequestHttpStatus(Throwable throwable) Get the HTTP status code for unhealthy requests based on the throwable.voidrecordRequestKeyCount(int keyCount) voidrecordResponseKeyCount(int keyCount) Methods inherited from class com.linkedin.venice.stats.AbstractVeniceHttpStatsgetFullMetricName, getRequestType, registerSensor, registerSensor, registerSensor, registerSensorWithDetailedPercentilesMethods inherited from class com.linkedin.venice.stats.AbstractVeniceStatsavgAndMax, avgAndTotal, getMetricFullName, getMetricsRepository, getName, getSensorFullName, getSensorFullName, isTotalStats, minAndMax, registerOnlyTotalRate, registerOnlyTotalSensor, registerPerStoreAndTotalSensor, registerSensor, registerSensorAttributeGauge, registerSensorIfAbsent, registerSensorIfAbsent, registerSensorIfAbsent, registerSensorWithAggregate, registerSensorWithAggregate, unregisterAllSensors
- 
Field Details- 
CLIENT_METRIC_ENTITIES
- 
baseDimensionsMap
- 
baseAttributesprotected final io.opentelemetry.api.common.Attributes baseAttributes
- 
otelRepository
- 
clientType
 
- 
- 
Constructor Details- 
BasicClientStatsprotected BasicClientStats(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, RequestType requestType, ClientType clientType) 
 
- 
- 
Method Details- 
getClientStatspublic static BasicClientStats getClientStats(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, RequestType requestType, ClientConfig clientConfig, ClientType clientType) 
- 
emitHealthyRequestMetricspublic void emitHealthyRequestMetrics(double latency, int keyCount) 
- 
emitHealthyRequestMetrics
- 
emitUnhealthyRequestMetricspublic void emitUnhealthyRequestMetrics(double latency, int httpStatus) 
- 
emitUnhealthyRequestMetrics
- 
emitHealthyRequestMetricsForDavinciClientpublic void emitHealthyRequestMetricsForDavinciClient(double latency) 
- 
emitUnhealthyRequestMetricsForDavinciClientpublic void emitUnhealthyRequestMetricsForDavinciClient(double latency) 
- 
recordRequestKeyCountpublic void recordRequestKeyCount(int keyCount) 
- 
recordResponseKeyCountpublic void recordResponseKeyCount(int keyCount) 
- 
getRequestRateprotected final io.tehuti.metrics.stats.Rate getRequestRate()
- 
getSuccessRequestKeyCountRateprotected final io.tehuti.metrics.stats.Rate getSuccessRequestKeyCountRate()
- 
getHealthyRequestHttpStatuspublic static int getHealthyRequestHttpStatus(int numSuccessfulKeys) Get the HTTP status code for healthy requests based on the number of successful keys as both null and valid values are considered healthy in Venice.- Parameters:
- numSuccessfulKeys-
- Returns:
- HttpStatus
 
- 
getSuccessfulKeyCountGet the number of successful keys from the value.- Parameters:
- value-
- Returns:
- The number of successful keys.
 
- 
getUnhealthyRequestHttpStatusGet the HTTP status code for unhealthy requests based on the throwable.- Parameters:
- throwable-
- Returns:
- HttpStatus
 
- 
getBaseAttributesprotected io.opentelemetry.api.common.Attributes getBaseAttributes()
- 
emitOpenTelemetryMetricsprotected boolean emitOpenTelemetryMetrics()
 
-