Skip to content

Commit c320757

Browse files
committed
Calculate total time in self-profile queries
1 parent f7ebcf6 commit c320757

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

site/src/api.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,7 @@ pub mod self_profile {
414414
pub struct QueryData {
415415
pub label: QueryLabel,
416416
// Nanoseconds
417+
pub time: u64,
417418
pub self_time: u64,
418419
pub percent_total_time: f32,
419420
pub number_of_cache_misses: u32,

site/src/request_handlers/self_profile.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ fn add_uninvoked_base_profile_queries(
177177
if !profile_queries.contains(qd.label.as_str()) {
178178
let uninvoked_query_data = self_profile::QueryData {
179179
label: qd.label,
180+
time: 0,
180181
self_time: 0,
181182
percent_total_time: 0.0,
182183
number_of_cache_misses: 0,

site/src/self_profile.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -234,16 +234,17 @@ fn get_self_profile_data(
234234
cpu_clock: Option<f64>,
235235
profile: &analyzeme::AnalysisResults,
236236
) -> ServerResult<self_profile::SelfProfile> {
237-
let total_time: Duration = profile.query_data.iter().map(|qd| qd.self_time).sum();
237+
let total_self_time: Duration = profile.query_data.iter().map(|qd| qd.self_time).sum();
238238

239239
let query_data = profile
240240
.query_data
241241
.iter()
242242
.map(|qd| self_profile::QueryData {
243243
label: qd.label.as_str().into(),
244+
time: qd.time.as_nanos() as u64,
244245
self_time: qd.self_time.as_nanos() as u64,
245-
percent_total_time: ((qd.self_time.as_secs_f64() / total_time.as_secs_f64()) * 100.0)
246-
as f32,
246+
percent_total_time: ((qd.self_time.as_secs_f64() / total_self_time.as_secs_f64())
247+
* 100.0) as f32,
247248
number_of_cache_misses: qd.number_of_cache_misses as u32,
248249
number_of_cache_hits: qd.number_of_cache_hits as u32,
249250
invocation_count: qd.invocation_count as u32,
@@ -254,10 +255,11 @@ fn get_self_profile_data(
254255

255256
let totals = self_profile::QueryData {
256257
label: "Totals".into(),
257-
self_time: total_time.as_nanos() as u64,
258+
time: profile.total_time.as_nanos() as u64,
259+
self_time: total_self_time.as_nanos() as u64,
258260
// TODO: check against wall-time from perf stats
259261
percent_total_time: cpu_clock
260-
.map(|w| ((total_time.as_secs_f64() / w) * 100.0) as f32)
262+
.map(|w| ((total_self_time.as_secs_f64() / w) * 100.0) as f32)
261263
// sentinel "we couldn't compute this time"
262264
.unwrap_or(-100.0),
263265
number_of_cache_misses: profile

0 commit comments

Comments
 (0)