Skip to main content

reifydb_core/
metric.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4use reifydb_type::value::duration::Duration;
5use serde::{Deserialize, Serialize};
6
7use crate::fingerprint::{RequestFingerprint, StatementFingerprint};
8
9#[derive(Default, Debug, Clone, Serialize, Deserialize)]
10pub struct ExecutionMetrics {
11	pub fingerprint: RequestFingerprint,
12	pub statements: Vec<StatementMetric>,
13	pub total: Duration,
14	pub compute: Duration,
15}
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
18pub struct StatementMetric {
19	pub fingerprint: StatementFingerprint,
20	pub normalized_rql: String,
21	pub compile_duration_us: u64,
22	pub execute_duration_us: u64,
23	pub rows_affected: u64,
24}