Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func UnregisterLogStreamMetrics ¶
func UnregisterLogStreamMetrics(m *Metrics, lsid types.LogStreamID)
Types ¶
type Int64HistogramRecorder ¶ added in v0.22.0
type Int64HistogramRecorder struct {
// contains filtered or unexported fields
}
func NewInt64HistogramRecorder ¶ added in v0.22.0
func NewInt64HistogramRecorder(recorder metric.Int64Histogram, defaultAttrs ...attribute.KeyValue) *Int64HistogramRecorder
type LogStreamMetrics ¶
type LogStreamMetrics struct { // LogRPCServerDuration records the time spent processing inbound RPC calls // in microseconds. It helps to monitor and analyze the performance of RPC // calls in the Varlog system. // // Internally, it is a wrapper of Metrics.logRPCServerDuration with // attributes cache. It avoids creating a new attribute set for each // observation. LogRPCServerDuration *Int64HistogramRecorder // LogRPCServerLogEntrySize records the size of individual log entries // appended. It is useful for tracking the amount of data being processed // and stored in the Varlog system. // // Internally, it is a wrapper of Metrics.logRPCServerLogEntrySize with // attributes cache. It avoids creating a new attribute set for each // observation. LogRPCServerLogEntrySize *Int64HistogramRecorder // LogRPCServerBatchSize records the size of log entry batches appended. // This metric helps to understand the batch sizes being handled and // optimize the batching process in the Varlog system. // // Internally, it is a wrapper of Metrics.logRPCServerBatchSize with // attributes cache. It avoids creating a new attribute set for each // observation. LogRPCServerBatchSize *Int64HistogramRecorder // LogRPCServerLogEntriesPerBatch records the number of log entries per // appended batch. It provides insights into the batch processing // efficiency and the average number of log entries per batch in the Varlog // system. // // Internally, it is a wrapper of Metrics.logRPCServerLogEntriesPerBatch // with attributes cache. It avoids creating a new attribute set for each // observation. LogRPCServerLogEntriesPerBatch *Int64HistogramRecorder AppendLogs atomic.Int64 AppendBytes atomic.Int64 AppendDuration atomic.Int64 AppendOperations atomic.Int64 AppendPreparationMicro atomic.Int64 AppendBatchCommitGap atomic.Int64 SequencerOperationDuration atomic.Int64 SequencerFanoutDuration atomic.Int64 SequencerOperations atomic.Int64 SequencerInflightOperations atomic.Int64 WriterOperationDuration atomic.Int64 WriterOperations atomic.Int64 WriterInflightOperations atomic.Int64 CommitterOperationDuration atomic.Int64 CommitterOperations atomic.Int64 CommitterLogs atomic.Int64 ReplicateClientOperationDuration atomic.Int64 ReplicateClientOperations atomic.Int64 ReplicateClientInflightOperations atomic.Int64 ReplicateServerOperations atomic.Int64 ReplicateLogs atomic.Int64 ReplicateBytes atomic.Int64 ReplicateDuration atomic.Int64 ReplicateOperations atomic.Int64 ReplicatePreparationMicro atomic.Int64 // contains filtered or unexported fields }
LogStreamMetrics is a set of metrics measured in each log stream.
Synchronous metrics are of instrumentation types defined in OpenTelemetry, such as Int64Histogram.
Asynchronous metrics are defined as built-in atomic types, meaning they are just counters. Each log stream increments these counters, which are then collected by a measurement cycle managed by OpenTelemetry.
func RegisterLogStreamMetrics ¶
func RegisterLogStreamMetrics(m *Metrics, tpid types.TopicID, lsid types.LogStreamID) (*LogStreamMetrics, error)
type Metrics ¶
type Metrics struct {
// contains filtered or unexported fields
}
Metrics are a set of measurements taken in the storage node. They encompass all measurements taken from each log stream.
func (*Metrics) GetLogStreamMetrics ¶ added in v0.22.0
func (m *Metrics) GetLogStreamMetrics(lsid types.LogStreamID) (*LogStreamMetrics, bool)
Click to show internal directories.
Click to hide internal directories.