Improve SDK and SWQOS logging: alignment, errors, duration format

- Rename wait_transaction_confirmed to wait_tx_confirmed (params, lib, docs, examples)
- SDK timing: use [SDK][provider] style with fixed-width labels; add newline before block
- Move print_sdk_timing_block to common::sdk_log; unify SWQOS_LABEL_WIDTH
- SWQOS submitted/failed: aligned [Provider] labels via log_swqos_submitted/submission_failed
- Extract short error message from JSON (message/data) or quoted string; prefix with 'error: '
- Format elapsed as 'X.XXXX ms' or 'X.XXXX µs' (4 decimals, space before unit); use comma before error
- Add SwqosType::as_str() for zero-allocation log labels; only parse JSON when input starts with '{'

Made-with: Cursor
This commit is contained in:
Wood
2026-03-17 13:11:33 +08:00
parent 7d2ecd57e9
commit 624b1843a2
21 changed files with 387 additions and 169 deletions
+8 -6
View File
@@ -99,12 +99,12 @@ impl NextBlockClient {
if let Ok(response_json) = serde_json::from_str::<serde_json::Value>(&response_text) {
if response_json.get("result").is_some() {
println!(" [nextblock] {} submitted: {:?}", trade_type, start_time.elapsed());
crate::common::sdk_log::log_swqos_submitted("nextblock", trade_type, start_time.elapsed());
} else if let Some(_error) = response_json.get("error") {
eprintln!(" [nextblock] {} submission failed: {:?}", trade_type, _error);
crate::common::sdk_log::log_swqos_submission_failed("nextblock", trade_type, start_time.elapsed(), _error);
}
} else {
eprintln!(" [nextblock] {} submission failed: {:?}", trade_type, response_text);
crate::common::sdk_log::log_swqos_submission_failed("nextblock", trade_type, start_time.elapsed(), response_text);
}
let start_time: Instant = Instant::now();
@@ -113,16 +113,18 @@ impl NextBlockClient {
Err(e) => {
println!(" signature: {:?}", signature);
println!(
" [nextblock] {} confirmation failed: {:?}",
" [{:width$}] {} confirmation failed: {:?}",
"nextblock",
trade_type,
start_time.elapsed()
start_time.elapsed(),
width = crate::common::sdk_log::SWQOS_LABEL_WIDTH
);
return Err(e);
}
}
if wait_confirmation {
println!(" signature: {:?}", signature);
println!(" [nextblock] {} confirmed: {:?}", trade_type, start_time.elapsed());
println!(" [{:width$}] {} confirmed: {:?}", "nextblock", trade_type, start_time.elapsed(), width = crate::common::sdk_log::SWQOS_LABEL_WIDTH);
}
Ok(())