[Feature] 评估双端日志使用 SQLite 存储与索引检索
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- sqlite, typescript
Direzione di ricerca
Start by reading the linked PR #1367 and the SQLite references in the issue, then compare the existing file backend with buffered writes and a SQLite prototype on macOS and Windows. Measure the specified write, query, export, cleanup, resource, recovery, and snapshot cases under documented configurations; done means reproducible benchmark results and a documented adopt-or-defer decision with migration scope if SQLite is chosen.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem to solve / 要解决的问题
在模块化日志与诊断功能(#1367)的讨论中,提出使用 SQLite 管理日志,并按插件、Git、窗口拆库、定时清理历史记录的建议。
当前 PR 采用按模块、会话分段的文件存储,已有轮转、30 天保留及总量限制,主要服务于近期故障排查和诊断包导出。后续若需要较长时间范围的跨模块检索、分页及统计,应评估 SQLite 是否能改善查询体验并降低维护成本。
本 issue 跟踪后续调研与决策,不预设必须迁移,也不阻塞 #1367。
Proposed solution / 建议方案
- 对比当前文件后端、改进缓冲/批量写入后的文件后端,以及 SQLite 原型。在相同事件量、刷新与持久性要求下,测量持续与突发写入、历史筛选、导出和清理的延迟、CPU、内存及磁盘占用;不能以“查表删除比文件追加快”作为迁移依据。
- 优先评估由宿主统一接收事件,以模块、scope、插件 ID、窗口 ID、会话 ID、operation ID 等字段组织数据的事件模型。明确数据库与写入队列的进程所有权;只有隔离或实测并发需求成立时才拆库,避免默认每个插件/窗口各建一个库。
- 若 SQLite 有明确收益,设计批量事务、索引、并发读取、WAL checkpoint、分批删除及空间回收策略。区分删除记录与实际释放文件空间,并将数据库及 WAL 等辅助文件计入磁盘预算。
- 保留现有脱敏、队列背压、诊断有效期、筛选语义、清理范围和冻结预览后导出的行为;明确旧日志兼容、存储故障恢复、目录切换与迁移失败处理方式。
- macOS 与 Windows 一起评估并统一事件契约、查询结果、保留规则和用户流程;数据库文件、连接及生命周期由平台 adapter 管理,运行时不得写入发行包或安装目录。
验收要求:
- 提交两端可复现的基准结果,记录数据规模、索引、批量大小、刷新/持久性配置和环境,并覆盖多窗口及插件并发场景。
- 给出采用或不采用 SQLite 的结论、适用范围及拆库依据;采用时明确迁移路径,不采用时记录理由。
- 验证长期运行时磁盘预算、清理期间查询/写入、异常退出恢复和导出快照一致性。
- 若实施迁移,两端使用共享 fixture 验证查询/保留语义,完成平台运行验证,并更新契约、Agent Note 和功能矩阵。
Target platform / 目标平台
Cross-platform / 跨平台
Area / 模块
Settings / 设置(日志与诊断)
Priority / 优先级
P2 / 后续考虑:目前不着急,可安排到后续版本
Alternatives considered / 已考虑的替代方案
- 继续使用现有模块化文件后端,优先改善句柄复用、缓冲和批量写入。
- 保持文件采集,仅在历史检索需求明确后引入可重建查询索引;评估额外存储及一致性成本。
- 每个插件/窗口独立 SQLite 库:可作为隔离方案比较,但需要证明其收益足以覆盖跨库查询、连接和清理成本。
Additional context / 补充信息
关联 PR:#1367。
SQLite 官方资料:
Checklist / 提交前检查
- I searched existing issues for duplicates. / 我已搜索现有 Issue,确认没有重复建议。
- Lingua principale
- TypeScript
- Stelle
- 1.8k
- Fork
- 151
- Merge medio
- 12h 54m
- PR unite (30g)
- 337
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di 1lck/Lithe-IDEA
-
area:editor bug P0 platform:macos review: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
1lck/Lithe-IDEA#1118 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature] Windows 支持 F4 打开并跳转到目标文件Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaarea:editor enhancement issue-form:feature P2 platform:windows review: medium
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
1lck/Lithe-IDEA#1439 ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature] Windows 编辑器支持回退光标位置,同时保留代码修改Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaarea:editor enhancement issue-form:feature P2 platform:windows review: medium
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
1lck/Lithe-IDEA#1438 ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature] Windows Java Tab 补全构造调用时允许仅插入 Node(),不填充参数名Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaarea:language enhancement issue-form:feature P2 platform:windows review: medium
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
1lck/Lithe-IDEA#1437 ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature] Windows 终端工具窗口支持从底部拖拽停靠到右侧Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaarea:terminal enhancement issue-form:feature P2 platform:windows review: medium
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
1lck/Lithe-IDEA#1436 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di 1lck/Lithe-IDEA
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Nimblesite/SharpLsp#468 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Bundled uv is never updated and trusts the compromised eMudhra certificatesForse già presa @FabienDanieau l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
bg_wait's blocking mode (stopOnAttention: false) is under-documented and effectively undiscoverableAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
nicobailon/pi-subagents#3019 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
db-ux-design-system/core-web#8613 ·
I maintainer di solito rispondono entro 1 giorno