Repository navigation
SSH client messages - #123
Conversation
9778b20 to
2940648
Compare
|
@mmalenic @jubeormk1 ... thoughts about the new JSONL pretty-printed output? The idea is to make it readable for both humans and machines (i.e HIL testing parser):
|
|
| Project | ssh-stamp |
| Branch | ssh_client_messages |
| Testbed | ci |
Click to view all benchmark results
| Benchmark | flash-bytes | Benchmark Result Measure (units) x 1e3 (Result Δ%) | Upper Boundary Measure (units) x 1e3 (Limit %) | ram-bytes | Benchmark Result Measure (units) x 1e3 (Result Δ%) | Upper Boundary Measure (units) x 1e3 (Limit %) |
|---|---|---|---|---|---|---|
| esp32-s2-saola/release/size | 📈 view plot 🚷 view threshold | 883.15 units x 1e3(+3.62%)Baseline: 852.31 units x 1e3 | 894.93 units x 1e3 (98.68%) | 📈 view plot 🚷 view threshold | 187.77 units x 1e3(+1.09%)Baseline: 185.75 units x 1e3 | 195.04 units x 1e3 (96.27%) |
| esp32c5-devkitc/release/size | 📈 view plot 🚷 view threshold | 1,003.81 units x 1e3(-1.35%)Baseline: 1,017.56 units x 1e3 | 1,068.43 units x 1e3 (93.95%) | 📈 view plot 🚷 view threshold | 187.40 units x 1e3(+0.47%)Baseline: 186.52 units x 1e3 | 195.85 units x 1e3 (95.69%) |
| esp32c6-devkitc/release/size | 📈 view plot 🚷 view threshold | 951.82 units x 1e3(-3.74%)Baseline: 988.83 units x 1e3 | 1,038.27 units x 1e3 (91.67%) | 📈 view plot 🚷 view threshold | 201.67 units x 1e3(-0.28%)Baseline: 202.24 units x 1e3 | 212.35 units x 1e3 (94.97%) |
| esp32c61-devkitc/release/size | 📈 view plot 🚷 view threshold | 970.00 units x 1e3(-1.34%)Baseline: 983.17 units x 1e3 | 1,032.33 units x 1e3 (93.96%) | 📈 view plot 🚷 view threshold | 181.71 units x 1e3(+0.52%)Baseline: 180.77 units x 1e3 | 189.81 units x 1e3 (95.73%) |
| waveshare-esp32-s3-touch-lcd-43/release/size | 📈 view plot 🚷 view threshold | 911.22 units x 1e3(+1.61%)Baseline: 896.77 units x 1e3 | 941.61 units x 1e3 (96.77%) | 📈 view plot 🚷 view threshold | 179.60 units x 1e3(+0.42%)Baseline: 178.84 units x 1e3 | 187.79 units x 1e3 (95.64%) |
ce78486 to
f312972
Compare
…interactive sessions
I agree that is human readable and provides heaps of structured information. I can definetly use that for e2e tests or any automated deployment. |
| //! consumer cuts our objects out of unrelated console noise such as the | ||
| //! ESP32 ROM bootloader prelude. [`SCHEMA`] is the format version: bumping | ||
| //! it signals an incompatible change; adding keys does not, so consumers | ||
| //! must ignore unknown ones. |
There was a problem hiding this comment.
I think that it is a good idea and being an internal tool I am not foreseeing misuse. I remember though that in our security audit for the ota, unknown metadata fields was unwelcome.
There was a problem hiding this comment.
Hmm, can you remember why? I can remove the schema field, but then we'd be locking ourselves into this "format", so it better be right on the first attempt :_S
OTOH, I'm not convinced this is final because there's "output fragmentation" across targets: the ESP32C3, for instance, does not have proper hardware atomics and it fallsback to "prose" format instead of the default JSONL :_/
There's some discussion of portable-atomics upstream:
But no proper stable cross-target solution right now :-/ ... also as briefly mentioned offline, defmt could help, but it's quite a lot of work to get all the other crates play well with it (i.e sunset not having defmt) and local re-tooling (since it's no longer a user-readable text, but binary encoding that needs to be translated somehow).
There was a problem hiding this comment.
Let's revisit this at a later time when #144 is merged in? Would you like me to take a refactoring stab at your code @jubeormk1 ? ;)
Scenarios are now plain Rust functions selected with `--scenario` (defaulting to `wifi-ap`), instead of a YAML list of actions, which drops the serde_yaml dependency. The SSID, PSK and AP address come from the `boot` and `net_up` JSON objects the firmware prints since brainstorm#123, rather than scraping log lines, so the AP address is no longer assumed. Objects from before the reset are ignored, and an unknown JSON schema version fails the run. Also align with the other commands: `--port` instead of `--prg-serial`, and no separate join step since `wait_for_reachable` already joins. The unrelated host.rs change is dropped.


Will eventually fix issues #77 #122