Skip to content

Commit d87f7a0

Browse files
committed
refactor
1 parent 1be8b2d commit d87f7a0

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

workflows/src/bin/tps.rs

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#[cfg(feature = "profiling")]
22
mod profile {
33
pub use dkn_workflows::{DriaWorkflowsConfig, OllamaConfig};
4+
pub use log::{debug, warn};
45
pub use ollama_workflows::ollama_rs::{
56
generation::{completion::request::GenerationRequest, options::GenerationOptions},
67
Ollama,
@@ -61,26 +62,27 @@ async fn main() {
6162
let cfg = DriaWorkflowsConfig::new(models);
6263
let config = OllamaConfig::default();
6364
let ollama = Ollama::new(config.host, config.port);
64-
log::info!("Starting...");
65+
debug!("Starting...");
6566
// ensure that all lists of CPUs and processes are filled
6667
let mut system = System::new_all();
6768
// update all information of the system
6869
system.refresh_all();
6970

70-
log::debug!("Getting system information...");
71+
debug!("Getting system information...");
7172
let brand = system.cpus()[0].brand().to_string();
7273
let os_name = System::name().unwrap_or_else(|| "Unknown".to_string());
7374
let os_version = System::long_os_version().unwrap_or_else(|| "Unknown".to_string());
7475
let cpu_usage = system.global_cpu_usage();
7576
let total_memory = system.total_memory();
7677
let used_memory = system.used_memory();
78+
let mut tps = 0 as f64;
7779

7880
for (_, model) in cfg.models {
79-
log::info!("Pulling model: {}", model);
81+
debug!("Pulling model: {}", model);
8082

8183
// pull model
8284
match ollama.pull_model(model.to_string(), false).await {
83-
Ok(status) => log::info!("Status: {}", status.message),
85+
Ok(status) => debug!("Status: {}", status.message),
8486
Err(err) => {
8587
log::error!("Failed to pull model {}: {:?}", model, err);
8688
}
@@ -104,13 +106,19 @@ async fn main() {
104106
// generate response
105107
match ollama.generate(generation_request).await {
106108
Ok(response) => {
107-
log::debug!("Got response for model {}", model);
109+
debug!("Got response for model {}", model);
108110
// compute TPS
109-
let tps = (response.eval_count.unwrap_or_default() as f64)
111+
tps = (response.eval_count.unwrap_or_default() as f64)
110112
/ (response.eval_duration.unwrap_or(1) as f64)
111113
* 1_000_000_000f64;
112114
// report machine info
113-
log::info!(
115+
}
116+
Err(e) => {
117+
warn!("Ignoring model {}: Workflow failed with error {}", model, e);
118+
}
119+
}
120+
// print system info
121+
println!(
114122
"\n Model: {} \n TPS: {} \n OS: {} {} \n Version: {} \n CPU Usage: % {} \n Total Memory: {} KB \n Used Memory: {} KB ",
115123
model,
116124
tps,
@@ -121,11 +129,6 @@ async fn main() {
121129
total_memory,
122130
used_memory,
123131
);
124-
}
125-
Err(e) => {
126-
log::warn!("Ignoring model {}: Workflow failed with error {}", model, e);
127-
}
128-
}
129132
// refresh CPU usage (https://docs.rs/sysinfo/latest/sysinfo/struct.Cpu.html#method.cpu_usage)
130133
system = System::new_with_specifics(
131134
RefreshKind::new().with_cpu(CpuRefreshKind::everything()),
@@ -135,6 +138,6 @@ async fn main() {
135138
// refresh CPUs again to get actual value
136139
system.refresh_cpu_usage();
137140
}
141+
debug!("Finished");
138142
}
139-
log::info!("Finished");
140143
}

0 commit comments

Comments
 (0)