Class IngestionOtelStats
java.lang.Object
com.linkedin.davinci.stats.ingestion.IngestionOtelStats
- Direct Known Subclasses:
NoOpIngestionOtelStats
OpenTelemetry metrics for ingestion statistics.
Note: Tehuti metrics are managed separately in
IngestionStatsReporter.-
Constructor Summary
ConstructorsConstructorDescriptionIngestionOtelStats(io.tehuti.metrics.MetricsRepository metricsRepository, String storeName, String clusterName) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Cleans up all per-version state for this store.booleanvoidrecordBatchProcessingRequestCount(int version, long value) voidrecordBatchProcessingRequestErrorCount(int version, long value) voidrecordBatchProcessingRequestRecordCount(int version, long value) voidrecordBatchProcessingRequestTime(int version, double latencyMs) voidrecordBytesConsumed(int version, ReplicaType replicaType, long value) voidrecordBytesProduced(int version, ReplicaType replicaType, long value) voidrecordDcrEventCount(int version, VeniceDCREvent event, long value) voidrecordDcrTotalCount(int version, long value) voidrecordDuplicateKeyUpdateCount(int version, long value) voidrecordIdleTime(int version, long idleTimeMs) voidrecordIngestionTime(int version, double latencyMs) voidrecordPreprocessingInternalTime(int version, double latencyMs) voidrecordPreprocessingLeaderTime(int version, double latencyMs) voidrecordProducerCallbackTime(int version, ReplicaType replicaType, double latencyMs) voidrecordProducerTime(int version, double latencyMs) voidrecordRecordsConsumed(int version, ReplicaType replicaType, long value) voidrecordRecordsProduced(int version, ReplicaType replicaType, long value) voidrecordSubscribePrepTime(int version, double latencyMs) voidrecordTimeBetweenComponents(int version, VeniceIngestionSourceComponent sourceComponent, VeniceIngestionDestinationComponent destComponent, double latencyMs) voidremoveIngestionTask(int version) Removes the StoreIngestionTask and associated per-version state for a specific version.voidsetIngestionTask(int version, StoreIngestionTask task) Sets the StoreIngestionTask for a specific version.voidsetIngestionTaskPushTimeoutGauge(int version, int value) voidupdateVersionInfo(int currentVersion, int futureVersion)
-
Constructor Details
-
IngestionOtelStats
-
-
Method Details
-
setIngestionTask
Sets the StoreIngestionTask for a specific version. This enables async gauge metrics to access task data. -
removeIngestionTask
public void removeIngestionTask(int version) Removes the StoreIngestionTask and associated per-version state for a specific version. -
close
public void close()Cleans up all per-version state for this store. Call this when the store is being deleted.Note: OTel instruments (counters, histograms, async gauges) are NOT deregistered here. OpenTelemetry SDK does not support deregistering individual instruments from a Meter. The instruments will remain registered but will report zero/stale values until the MeterProvider is shut down.
-
setIngestionTaskPushTimeoutGauge
public void setIngestionTaskPushTimeoutGauge(int version, int value) -
recordIdleTime
public void recordIdleTime(int version, long idleTimeMs) -
emitOtelMetrics
public boolean emitOtelMetrics() -
updateVersionInfo
public void updateVersionInfo(int currentVersion, int futureVersion) -
recordSubscribePrepTime
public void recordSubscribePrepTime(int version, double latencyMs) -
recordIngestionTime
public void recordIngestionTime(int version, double latencyMs) -
recordPreprocessingLeaderTime
public void recordPreprocessingLeaderTime(int version, double latencyMs) -
recordPreprocessingInternalTime
public void recordPreprocessingInternalTime(int version, double latencyMs) -
recordProducerTime
public void recordProducerTime(int version, double latencyMs) -
recordBatchProcessingRequestCount
public void recordBatchProcessingRequestCount(int version, long value) -
recordBatchProcessingRequestRecordCount
public void recordBatchProcessingRequestRecordCount(int version, long value) -
recordBatchProcessingRequestErrorCount
public void recordBatchProcessingRequestErrorCount(int version, long value) -
recordBatchProcessingRequestTime
public void recordBatchProcessingRequestTime(int version, double latencyMs) -
recordDcrTotalCount
public void recordDcrTotalCount(int version, long value) -
recordDuplicateKeyUpdateCount
public void recordDuplicateKeyUpdateCount(int version, long value) -
recordRecordsConsumed
-
recordRecordsProduced
-
recordBytesConsumed
-
recordBytesProduced
-
recordProducerCallbackTime
-
recordDcrEventCount
-
recordTimeBetweenComponents
public void recordTimeBetweenComponents(int version, VeniceIngestionSourceComponent sourceComponent, VeniceIngestionDestinationComponent destComponent, double latencyMs)
-