in core/src/layers/prometheus.rs [515:588]
fn observe(&self, labels: observe::MetricLabels, value: observe::MetricValue) {
let labels = OperationLabels(labels);
match value {
observe::MetricValue::OperationBytes(v) => self
.operation_bytes
.with_label_values(&labels.values())
.observe(v as f64),
observe::MetricValue::OperationBytesRate(v) => self
.operation_bytes_rate
.with_label_values(&labels.values())
.observe(v),
observe::MetricValue::OperationEntries(v) => self
.operation_entries
.with_label_values(&labels.values())
.observe(v as f64),
observe::MetricValue::OperationEntriesRate(v) => self
.operation_entries_rate
.with_label_values(&labels.values())
.observe(v),
observe::MetricValue::OperationDurationSeconds(v) => self
.operation_duration_seconds
.with_label_values(&labels.values())
.observe(v.as_secs_f64()),
observe::MetricValue::OperationErrorsTotal => self
.operation_errors_total
.with_label_values(&labels.values())
.inc(),
observe::MetricValue::OperationExecuting(v) => self
.operation_executing
.with_label_values(&labels.values())
.add(v as i64),
observe::MetricValue::OperationTtfbSeconds(v) => self
.operation_ttfb_seconds
.with_label_values(&labels.values())
.observe(v.as_secs_f64()),
observe::MetricValue::HttpExecuting(v) => self
.http_executing
.with_label_values(&labels.values())
.add(v as i64),
observe::MetricValue::HttpRequestBytes(v) => self
.http_request_bytes
.with_label_values(&labels.values())
.observe(v as f64),
observe::MetricValue::HttpRequestBytesRate(v) => self
.http_request_bytes_rate
.with_label_values(&labels.values())
.observe(v),
observe::MetricValue::HttpRequestDurationSeconds(v) => self
.http_request_duration_seconds
.with_label_values(&labels.values())
.observe(v.as_secs_f64()),
observe::MetricValue::HttpResponseBytes(v) => self
.http_response_bytes
.with_label_values(&labels.values())
.observe(v as f64),
observe::MetricValue::HttpResponseBytesRate(v) => self
.http_response_bytes_rate
.with_label_values(&labels.values())
.observe(v),
observe::MetricValue::HttpResponseDurationSeconds(v) => self
.http_response_duration_seconds
.with_label_values(&labels.values())
.observe(v.as_secs_f64()),
observe::MetricValue::HttpConnectionErrorsTotal => self
.http_connection_errors_total
.with_label_values(&labels.values())
.inc(),
observe::MetricValue::HttpStatusErrorsTotal => self
.http_status_errors_total
.with_label_values(&labels.values())
.inc(),
}
}