跳转到内容

desktop/src-tauri/crates/core/src/query.rs

第 1 条注释,第 1 行

desktop/src-tauri/crates/core/src/query.rs:1

//! 日/周/月汇总查询。周/月由日级加总;比例重新计算不取各日算术平均;

第 2 条注释,第 2 行

desktop/src-tauri/crates/core/src/query.rs:2

//! 跨周期会话数用 DISTINCT(从留存明细计算,明细已清理则标覆盖缺口);

第 3 条注释,第 3 行

desktop/src-tauri/crates/core/src/query.rs:3

//! 未知模型保留独立行且计入总计;归属未核验的记录不进入总计并可按原因列出。

第 4 条注释,第 23 行

desktop/src-tauri/crates/core/src/query.rs:23

/// 基础筛选:不同字段 AND,同字段 OR。空列表 = 不筛选。

第 5 条注释,第 24 行

desktop/src-tauri/crates/core/src/query.rs:24

/// provider/model 的 `"unknown"` 匹配未知(空)值。

第 6 条注释,第 31 行

desktop/src-tauri/crates/core/src/query.rs:31

/// 应用传入当前用户可查询的来源实例集合。

第 7 条注释,第 32 行

desktop/src-tauri/crates/core/src/query.rs:32

/// None 表示不限制,Some([]) 表示没有属于当前用户的来源,不返回记录。

第 8 条注释,第 71 行

desktop/src-tauri/crates/core/src/query.rs:71

/// 含端点的本地日区间。

第 9 条注释,第 76 行

desktop/src-tauri/crates/core/src/query.rs:76

/// 查询方提供的“今天”(本地日),用于进行中标记。

第 10 条注释,第 78 行

desktop/src-tauri/crates/core/src/query.rs:78

/// 明细保留截止日:早于它的周期标记“部分历史”。

第 11 条注释,第 82 行

desktop/src-tauri/crates/core/src/query.rs:82

/// 一组记录/一天的指标合计。known_sum 只在有已知样本时为 Some。

第 12 条注释,第 86 行

desktop/src-tauri/crates/core/src/query.rs:86

/// 平均耗时(毫秒;仅有 duration 样本的均值)。

第 13 条注释,第 88 行

desktop/src-tauri/crates/core/src/query.rs:88

/// 总耗时(毫秒)。

第 14 条注释,第 113 行

desktop/src-tauri/crates/core/src/query.rs:113

/// 缓存输入占比:SUM(cache_read)/SUM(input_total),只对两字段均已知的记录集合。

第 15 条注释,第 114 行

desktop/src-tauri/crates/core/src/query.rs:114

/// 分母为零或无有效样本时为 None(显示“—”而不是 0%)。

第 16 条注释,第 197 行

desktop/src-tauri/crates/core/src/query.rs:197

/// 当前周/月只完成一部分。

第 17 条注释,第 199 行

desktop/src-tauri/crates/core/src/query.rs:199

/// 保留时间截断的最早周期,或明细已清理(封存)。

第 18 条注释,第 202 行

desktop/src-tauri/crates/core/src/query.rs:202

/// 跨周期 DISTINCT 会话数;明细缺失时为 None(覆盖缺口)。

第 19 条注释,第 204 行

desktop/src-tauri/crates/core/src/query.rs:204

/// 有活动的本地日数;明细缺失时为 None。

第 20 条注释,第 206 行

desktop/src-tauri/crates/core/src/query.rs:206

/// 平均请求耗时(毫秒;仅有 duration 的样本);None = 无样本。

第 21 条注释,第 208 行

desktop/src-tauri/crates/core/src/query.rs:208

/// 总请求耗时(毫秒)。

第 22 条注释,第 226 行

desktop/src-tauri/crates/core/src/query.rs:226

/// 模型分组(含 unknown 独立行);总计必须包含其已知 token。

第 23 条注释,第 231 行

desktop/src-tauri/crates/core/src/query.rs:231

/// 范围内归属未核验/被排除的事件数(未计入 totals)。

第 24 条注释,第 240 行

desktop/src-tauri/crates/core/src/query.rs:240

/// 小时粒度时的-hour 值(日粒度行恒 None;由 hourly_usage 加载)。

第 25 条注释,第 271 行

desktop/src-tauri/crates/core/src/query.rs:271

/// 周期分组键(标签 + 起止日):query_summary 与 chart_series 共用,

第 26 条注释,第 272 行

desktop/src-tauri/crates/core/src/query.rs:272

/// 总用量与各分组序列使用相同时间标签。

第 27 条注释,第 273 行

desktop/src-tauri/crates/core/src/query.rs:273

/// 小时粒度标签 "YYYY-MM-DD HH:00";周标签按 week_start(ISO 周或起始日);

第 28 条注释,第 274 行

desktop/src-tauri/crates/core/src/query.rs:274

/// 月标签 "YYYY-MM"。

第 29 条注释,第 303 行

desktop/src-tauri/crates/core/src/query.rs:303

/// 执行汇总查询。

第 30 条注释,第 308 行

desktop/src-tauri/crates/core/src/query.rs:308

/// 筛选可见周期,包括本地小时;DST 重复小时共用一个显示标签。

第 31 条注释,第 309 行

desktop/src-tauri/crates/core/src/query.rs:309

/// 保留日期和用户筛选,跨周期会话按身份去重,不累加各周期会话数。

第 32 条注释,第 539 行

desktop/src-tauri/crates/core/src/query.rs:539

/// 对所选范围只读取一次保留的明细。

第 33 条注释,第 603 行

desktop/src-tauri/crates/core/src/query.rs:603

/// 在 SQLite 中汇总明细后,传回 Rust。

第 34 条注释,第 604 行

desktop/src-tauri/crates/core/src/query.rs:604

/// 使用准确的日历边界保留 DST 和历史时区偏移;跨日会话

第 35 条注释,第 605 行

desktop/src-tauri/crates/core/src/query.rs:605

/// 按身份去重,不累加每天独立计算的 DISTINCT 会话数。

第 36 条注释,第 743 行

desktop/src-tauri/crates/core/src/query.rs:743

/// 总计、模型、Agent 和图表使用同一组明细或归档记录。

第 37 条注释,第 744 行

desktop/src-tauri/crates/core/src/query.rs:744

/// 完整的周期汇总只替换同来源对应的日分区,

第 38 条注释,第 745 行

desktop/src-tauri/crates/core/src/query.rs:745

/// 不替换其他来源,也不将不可拆分的汇总计入截断区间。

第 39 条注释,第 872 行

desktop/src-tauri/crates/core/src/query.rs:872

/// 当前参考价与用量查询选择相同的归档记录。

第 40 条注释,第 912 行

desktop/src-tauri/crates/core/src/query.rs:912

// 汇总字段可能覆盖不同记录集合,保留已保存的各项合计。

第 41 条注释,第 913 行

desktop/src-tauri/crates/core/src/query.rs:913

// 对独立已知合计做减法会虚构未缓存输入。

第 42 条注释,第 935 行

desktop/src-tauri/crates/core/src/query.rs:935

// 汇总输入不是单次请求上下文规模,也不一定覆盖同一组记录。

第 43 条注释,第 1109 行

desktop/src-tauri/crates/core/src/query.rs:1109

/// 归属未核验/被排除的事件数:不进入总计,可按排除原因列出。

第 44 条注释,第 1155 行

desktop/src-tauri/crates/core/src/query.rs:1155

/// 按排除原因分组记录。

第 45 条注释,第 1264 行

desktop/src-tauri/crates/core/src/query.rs:1264

/// Agent 分组行(与 ModelRow 同构;总计规则一致)。

第 46 条注释,第 1271 行

desktop/src-tauri/crates/core/src/query.rs:1271

/// 按 Agent 分组(含 unknown 独立行:provider/model 为空的记录归入该 Agent 名下)。

第 47 条注释,第 1290 行

desktop/src-tauri/crates/core/src/query.rs:1290

/// 按单日各事件保存的发生时间规则统计本地小时。

第 48 条注释,第 1291 行

desktop/src-tauri/crates/core/src/query.rs:1291

/// DST 重复小时的两次出现共用一个显示标签。

第 49 条注释,第 1301 行

desktop/src-tauri/crates/core/src/query.rs:1301

/// 该小时的 DISTINCT 会话数。

第 50 条注释,第 1303 行

desktop/src-tauri/crates/core/src/query.rs:1303

/// 平均耗时(毫秒)。

第 51 条注释,第 1346 行

desktop/src-tauri/crates/core/src/query.rs:1346

/// 热力图单元格:一个本地日。日层已清理且无法再分配到日期的周期汇总标为不可用。

第 52 条注释,第 1377 行

desktop/src-tauri/crates/core/src/query.rs:1377

// 在 SQLite 中应用来源和模型筛选,只查询热力图所需列,

第 53 条注释,第 1378 行

desktop/src-tauri/crates/core/src/query.rs:1378

// 不加载所有按字段分组的日汇总行。

第 54 条注释,第 1405 行

desktop/src-tauri/crates/core/src/query.rs:1405

// 仅含周期汇总的导入可能没有本机 daily_retention_floor 设置。

第 55 条注释,第 1406 行

desktop/src-tauri/crates/core/src/query.rs:1406

// 直接判断其完整周期分区,不将整个周期合计分配到某一天。

第 56 条注释,第 1472 行

desktop/src-tauri/crates/core/src/query.rs:1472

/// 明细行(详情页分页展示)。

第 57 条注释,第 1505 行

desktop/src-tauri/crates/core/src/query.rs:1505

/// 分页查询明细事件(详情页;按时间倒序)。

第 58 条注释,第 1565 行

desktop/src-tauri/crates/core/src/query.rs:1565

/// 将 hourly_usage 转换为共享的 DailyRow 结构,保留本地小时,

第 59 条注释,第 1566 行

desktop/src-tauri/crates/core/src/query.rs:1566

/// 供 query_summary 的通用分组/合并逻辑复用。

第 60 条注释,第 1647 行

desktop/src-tauri/crates/core/src/query.rs:1647

/// 用保留的明细恢复旧小时存储缺少的完整性计数;

第 61 条注释,第 1648 行

desktop/src-tauri/crates/core/src/query.rs:1648

/// 不通过相减不同记录集合的合计派生未知字段。

第 62 条注释,第 1721 行

desktop/src-tauri/crates/core/src/query.rs:1721

// 与 recompute_day 一致:quality_bucket='unknown'(无任何已知 token 字段)的

第 63 条注释,第 1722 行

desktop/src-tauri/crates/core/src/query.rs:1722

// 记录是无用量的调用/观测,计 call/event 但不计作观测缺字段的未知字段。

第 64 条注释,第 1748 行

desktop/src-tauri/crates/core/src/query.rs:1748

/// 图表数据分组方式。

第 65 条注释,第 1757 行

desktop/src-tauri/crates/core/src/query.rs:1757

/// 趋势图按所选字段分组的时间序列行。

第 66 条注释,第 1774 行

desktop/src-tauri/crates/core/src/query.rs:1774

/// 图表查询与 query_summary 使用同一组保留分区。

第 67 条注释,第 1775 行

desktop/src-tauri/crates/core/src/query.rs:1775

/// 小时查询使用 hourly_usage;按日期查询使用 daily_usage,以及适用的

第 68 条注释,第 1776 行

desktop/src-tauri/crates/core/src/query.rs:1776

/// period_usage 周、月、年归档。

第 69 条注释,第 1777 行

desktop/src-tauri/crates/core/src/query.rs:1777

/// (日层已覆盖的周期不重复计入);筛选(Agent/provider/model/实例)同样生效。

第 70 条注释,第 1778 行

desktop/src-tauri/crates/core/src/query.rs:1778

/// 标签经共享 period_key_of 生成,与总用量视图时间轴一致。

第 71 条注释,第 1832 行

desktop/src-tauri/crates/core/src/query.rs:1832

/// 诊断日志行(设置页日志查看器)。

第 72 条注释,第 1842 行

desktop/src-tauri/crates/core/src/query.rs:1842

/// 有界读取近期诊断,按时间倒序,不包含消息正文。