Skip to main content

Module storage

Module storage 

Source
Expand description

会话存储原语:落盘函数,全部吃 &Path,零 tauri 依赖。

供 [tauri_plugin_observer](Local 模式 self-obs 落盘)与 observer_server(HTTP 落盘)共用。

格式:recordings/<sessionId>/{session.json, windows.jsonl, segments/<label>#<n>.jsonl[.gz]}。 P9 起 segments 可选 gzip 落盘(.jsonl.gz),读路径按扩展名透明解压。

Structs§

WriteOpts
segment 落盘选项。gzip=true 写 .jsonl.gz(每批一个 gzip member,可追加)。

Functions§

append_events_file
追加事件到 segment 文件(plain JSONL,向后兼容)。
append_events_file_with
追加事件到 segment 文件,按 WriteOpts 决定是否 gzip。
append_lifecycle
create_session
建会话目录并写 session.json(meta 由调用方组装好)。
finalize_session
结束会话:读回 session.json 补 endedAt 后覆写。
now_ms
read_segment_events
读 segment 文件事件(gzip 感知:.jsonl.gz 用 MultiGzDecoder,.jsonl 直读)。 文件不存在或单行解析失败被跳过。
read_segment_first_line
只读段文件首行(Meta 事件,含录制视口宽高)。
read_segment_last_line
只读段文件最后一个非空行(尾事件的 timestamp 是会话结束时间的兜底依据, 见 crate::bundle::read_session_meta 的段索引)。
segment_id_from_filename
由文件名还原 segmentId:web#1.jsonl.gz / web#1.jsonl -> web#1。
segment_path
定位段文件:优先 .jsonl.gz,回退 .jsonl(与写侧扩展名一致)。