MetricsRecorderList forwards Record calls to all of its metricsRecorders.
It eats any record calls where the label values provided do not match the
number of label keys.EnforceMetricsRecorderEmbeddinginternal.EnforceMetricsRecorderEmbedding metricsRecorders are the metrics recorders this list will forward to. RecordFloat64Count records the measurement alongside labels on the float
count associated with the provided handle. RecordFloat64Histo records the measurement alongside labels on the float
histo associated with the provided handle. RecordInt64Count records the measurement alongside labels on the int
count associated with the provided handle. RecordInt64Gauge records the measurement alongside labels on the int
gauge associated with the provided handle. RecordInt64Histo records the measurement alongside labels on the int
histo associated with the provided handle. RecordInt64UpDownCount records the measurement alongside labels on the int
count associated with the provided handle. RegisterAsyncReporter forwards the registration to all underlying metrics
recorders.
It returns a cleanup function that, when called, invokes the cleanup function
returned by each underlying recorder, ensuring the reporter is unregistered
from all of them.( MetricsRecorderList) enforceMetricsRecorderEmbedding()
MetricsRecorderList : google.golang.org/grpc/internal.EnforceMetricsRecorderEmbedding
*MetricsRecorderList : google.golang.org/grpc/experimental/stats.MetricsRecorder
func NewMetricsRecorderList(shs []stats.Handler) *MetricsRecorderList
Package-Level Functions (total 7, in which 4 are exported)
NewCombinedHandler combines multiple stats.Handlers into a single handler.
It returns nil if no handlers are provided. If only one handler is
provided, it is returned directly without wrapping.
NewMetricsRecorderList creates a new metric recorder list with all the stats
handlers provided which implement the MetricsRecorder interface.
If no stats handlers provided implement the MetricsRecorder interface,
the MetricsRecorder list returned is a no-op.
RegisterTelemetryLabelCallback registers a callback function that is executed whenever
telemetry labels are updated.
UpdateLabels executes registered telemetry callbacks with the update labels. Labels
are copied before being processed by any callbacks to ensure mutations are not
shared among derived contexts.
It is the responsibility of the registrant to handle conflicts or label resets.
executeTelemetryLabelCallback runs the registered callbacks in the order they were
registered on the context with the provided labels. If no callbacks are registered
it does nothing.
To ensure callbacks do not mutate the state of the provided label map it is copied
before execution.