in core/src/layers/metrics.rs [95:152]
fn observe(&self, labels: observe::MetricLabels, value: observe::MetricValue) {
let labels = OperationLabels(labels).into_labels();
match value {
observe::MetricValue::OperationBytes(v) => {
histogram!(value.name(), labels).record(v as f64)
}
observe::MetricValue::OperationBytesRate(v) => {
histogram!(value.name(), labels).record(v)
}
observe::MetricValue::OperationEntries(v) => {
histogram!(value.name(), labels).record(v as f64)
}
observe::MetricValue::OperationEntriesRate(v) => {
histogram!(value.name(), labels).record(v)
}
observe::MetricValue::OperationDurationSeconds(v) => {
histogram!(value.name(), labels).record(v)
}
observe::MetricValue::OperationErrorsTotal => {
counter!(value.name(), labels).increment(1)
}
observe::MetricValue::OperationExecuting(v) => {
gauge!(value.name(), labels).increment(v as f64)
}
observe::MetricValue::OperationTtfbSeconds(v) => {
histogram!(value.name(), labels).record(v)
}
observe::MetricValue::HttpExecuting(v) => {
gauge!(value.name(), labels).increment(v as f64)
}
observe::MetricValue::HttpRequestBytes(v) => {
histogram!(value.name(), labels).record(v as f64)
}
observe::MetricValue::HttpRequestBytesRate(v) => {
histogram!(value.name(), labels).record(v)
}
observe::MetricValue::HttpRequestDurationSeconds(v) => {
histogram!(value.name(), labels).record(v)
}
observe::MetricValue::HttpResponseBytes(v) => {
histogram!(value.name(), labels).record(v as f64)
}
observe::MetricValue::HttpResponseBytesRate(v) => {
histogram!(value.name(), labels).record(v)
}
observe::MetricValue::HttpResponseDurationSeconds(v) => {
histogram!(value.name(), labels).record(v)
}
observe::MetricValue::HttpConnectionErrorsTotal => {
counter!(value.name(), labels).increment(1)
}
observe::MetricValue::HttpStatusErrorsTotal => {
counter!(value.name(), labels).increment(1)
}
}
}