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 Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
static enum
Metric names for tehuti metrics used in this class. -
Field Summary
FieldsFields inherited from class com.linkedin.venice.stats.AbstractVeniceStats
DELIMITER
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
BasicClientStats
(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, RequestType requestType, ClientType clientType) -
Method Summary
Modifier and TypeMethodDescriptionvoid
emitHealthyRequestMetrics
(double latency, int keyCount) void
emitHealthyRequestMetrics
(double latency, Object value) void
emitHealthyRequestMetricsForDavinciClient
(double latency) void
emitUnhealthyRequestMetrics
(double latency, int httpStatus) void
emitUnhealthyRequestMetrics
(double latency, Throwable throwable) void
emitUnhealthyRequestMetricsForDavinciClient
(double latency) static BasicClientStats
getClientStats
(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, RequestType requestType, ClientConfig clientConfig, ClientType clientType) 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.protected final io.tehuti.metrics.stats.Rate
static int
getSuccessfulKeyCount
(Object value) Get the number of successful keys from the value.protected final io.tehuti.metrics.stats.Rate
static int
getUnhealthyRequestHttpStatus
(Throwable throwable) Get the HTTP status code for unhealthy requests based on the throwable.void
recordRequestKeyCount
(int keyCount) void
recordSuccessRequestKeyCount
(int successKeyCount) Methods inherited from class com.linkedin.venice.stats.AbstractVeniceHttpStats
getFullMetricName, getRequestType, registerSensor, registerSensor, registerSensor, registerSensorWithDetailedPercentiles
Methods inherited from class com.linkedin.venice.stats.AbstractVeniceStats
avgAndMax, avgAndTotal, getMetricFullName, getMetricsRepository, getName, getSensorFullName, getSensorFullName, isTotalStats, minAndMax, registerOnlyTotalRate, registerOnlyTotalSensor, registerPerStoreAndTotalSensor, registerSensor, registerSensorAttributeGauge, registerSensorIfAbsent, registerSensorIfAbsent, registerSensorIfAbsent, registerSensorWithAggregate, registerSensorWithAggregate, unregisterAllSensors
-
Field Details
-
CLIENT_METRIC_ENTITIES
-
-
Constructor Details
-
BasicClientStats
protected BasicClientStats(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, RequestType requestType, ClientType clientType)
-
-
Method Details
-
getClientStats
public static BasicClientStats getClientStats(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, RequestType requestType, ClientConfig clientConfig, ClientType clientType) -
emitHealthyRequestMetrics
public void emitHealthyRequestMetrics(double latency, int keyCount) -
emitHealthyRequestMetrics
-
emitUnhealthyRequestMetrics
public void emitUnhealthyRequestMetrics(double latency, int httpStatus) -
emitUnhealthyRequestMetrics
-
emitHealthyRequestMetricsForDavinciClient
public void emitHealthyRequestMetricsForDavinciClient(double latency) -
emitUnhealthyRequestMetricsForDavinciClient
public void emitUnhealthyRequestMetricsForDavinciClient(double latency) -
recordRequestKeyCount
public void recordRequestKeyCount(int keyCount) -
recordSuccessRequestKeyCount
public void recordSuccessRequestKeyCount(int successKeyCount) -
getRequestRate
protected final io.tehuti.metrics.stats.Rate getRequestRate() -
getSuccessRequestKeyCountRate
protected final io.tehuti.metrics.stats.Rate getSuccessRequestKeyCountRate() -
getHealthyRequestHttpStatus
public 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
-
getSuccessfulKeyCount
Get the number of successful keys from the value.- Parameters:
value
-- Returns:
- The number of successful keys.
-
getUnhealthyRequestHttpStatus
Get the HTTP status code for unhealthy requests based on the throwable.- Parameters:
throwable
-- Returns:
HttpStatus
-