1use 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}