humility ringbuf should have parseable output
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start at the humility ringbuf command entry point and inspect how its human-readable records are assembled and formatted. Define a machine-readable output shape that covers the task, ring-buffer metadata, nested payloads, and complex values shown in the issue, then verify the command produces valid JSON matching those examples.
由索引模型根据 Issue 内容生成。
描述
The humility ringbuf command prints a log of essentially human-readable ring buffer records; e.g.,
humility: ring buffer drv_gimlet_seq_server::__RINGBUF in gimlet_seq:
NDX LINE GEN COUNT PAYLOAD
13 1222 1 1 V3P3SysA0VOut(Volts(0.15234375))
14 373 1 1 A2
15 535 1 1 SpdDimmsFound(0x10)
16 648 1 1 SetState(A2, A0, 0x710)
17 1222 1 1 V3P3SysA0VOut(Volts(0.06640625))
18 652 1 1 PGStatus { b_pg: 0x0, c_pg: 0x0, nic: 0x0 }
...
Sometimes we want to perform programmatic analysis on the ring buffer contents of a dump or live system. It would help to have a machine-readable version of this data. It could look something like this:
[
{
"task": "gimlet_seq",
"name": "drv_gimlet_seq_server::__RINGBUF",
"entries": [
{ "ndx": 13, "line": 1222, "gen": 1, "count": 1,
"payload": {
"t": "V3P3SysA0VOut",
"v": {
"t": "Volts",
"v": 0.15234375
}
}
},
{ "ndx": 14, "line": 373, "gen": 1, "count": 1,
"payload": {
"v": "A2"
}
}
]
},
{
"task": "power",
"name": "drv_i2c_devices::adm1272::__RINGBUF",
"entries": [
{ "ndx": 0, "line": 106, "gen": 1, "count": 1,
"payload": {
"t": "Config",
"v": {
"t": "CommandData",
"v": 16183
}
}
},
{ "ndx": 0, "line": 106, "gen": 1, "count": 1,
"payload": {
"t": "WriteConfig",
"v": {
"t": "CommandData",
"v": 16191
}
}
}
]
}
]
There are some more complex values in other ring buffers; e.g., Rx(UdpMetadata { addr: Ipv6(Ipv6Address([ 0xfe, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xaa, 0x40, 0x25, 0xff, 0xfe, 0x5, 0x26, 0x2 ])), port: 0xffd8, size: 0xa, vid: 0x302 }). I think it should, hopefully, still be easy enough to render these in some regular JSON form; e.g.,
{
"t": "Rx",
"v": {
"t": "UdpMetadata",
"v": {
"addr": {
"t": "Ipv6",
"v": {
"t": "Ipv6Address",
"v": [ 254, 128, 0, 0, 0, 0, 0, 0,
170, 64, 37, 255, 254, 5, 38, 2 ]
}
},
"port": 65496,
"size": 10,
"vid": 770
}
}
}
You could imagine also having some basic improved formats for things we can easily render like IPv6 addresses; e.g.,
{
"t": "Rx",
"v": {
"t": "UdpMetadata",
"v": {
"addr": "fe80::aa40:25ff:fe05:2602",
"port": 65496,
"size": 10,
"vid": 770
}
}
}
- 主要语言
- Rust
- 星标
- 589
- 派生
- 66
- 平均合并
- 1 天 2 小时
- 30 天内合并 PR
- 9
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
oxidecomputer/humility 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 45/100
oxidecomputer/humility#746 · 3 条评论 ·
维护者通常 1 天内回复
-
rendmp phase check should be usable on Sidecars (the sequel)可能已有人在做 @jamesmunns 于 15 天前认领。 未关闭
oxidecomputer/humility#741 · 6 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 65/100
oxidecomputer/humility#730 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 42/100
oxidecomputer/humility#723 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 35/100
oxidecomputer/humility#678 · 1 条评论 ·
维护者通常 1 天内回复
查看 oxidecomputer/humility 的全部 Issue
相似的 Issue
-
bug duplicate enhancement priority: low ui
难度 2/5 1-3 小时 新手友好度 62/100
storytold/pdfcraft#5594 · 1 条评论 ·
维护者通常 1 天内回复
-
documentation good first issue help wanted
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 85/100
open-jarvis/OpenJarvis#1212 ·
维护者通常 4 天内回复
-
bug good first issue
难度 2/5 1-3 小时 新手友好度 84/100
CakeRepository/agentshangout#38 ·
维护者通常 1 天内回复