openstack_cli_core/
lib.rs1use comfy_table::ContentArrangement;
17use comfy_table::Table;
18use comfy_table::presets::UTF8_FULL_CONDENSED;
19
20pub mod cli;
21pub mod common;
22pub mod config;
23pub mod error;
24pub mod output;
25pub mod tracing_stats;
26
27pub use openstack_sdk_auth_core;
28pub use openstack_sdk_core;
29
30use crate::tracing_stats::HttpRequestStats;
31
32pub fn build_http_requests_timing_table(data: &HttpRequestStats) -> Table {
34 let mut table = Table::new();
35 table
36 .load_preset(UTF8_FULL_CONDENSED)
37 .set_content_arrangement(ContentArrangement::Dynamic)
38 .set_header(Vec::from(["Url", "Method", "Duration (ms)"]));
39
40 let mut total_http_duration: u128 = 0;
41 for rec in data.summarize_by_url_method() {
42 total_http_duration += rec.2;
43 table.add_row(vec![rec.0, rec.1, rec.2.to_string()]);
44 }
45 table.add_row(vec!["Total", "", &total_http_duration.to_string()]);
46 table
47}