diff --git a/bin/coz-plot/coz-plot.r b/bin/coz-plot/coz-plot.r index a4f6e3c..df60c25 100755 --- a/bin/coz-plot/coz-plot.r +++ b/bin/coz-plot/coz-plot.r @@ -59,7 +59,7 @@ l <- levels(dat$Location) # Reorder the line factor by slope dat$Location <- factor(dat$Location, levels=l[rev(order(slopes))], ordered=TRUE) -dat <- subset(dat, slopes[dat$Location] > 0.0) +#dat <- subset(dat, slopes[dat$Location] > 0.0) # Graph it ggplot(dat, aes(x=Speedup, y=Progress.Speedup, color=Location, shape=Progress.Point, weight=Progress.Count, size=Progress.Count)) + diff --git a/bin/pycoz/profile.py b/bin/pycoz/profile.py index 82ff030..d07a7a2 100644 --- a/bin/pycoz/profile.py +++ b/bin/pycoz/profile.py @@ -208,7 +208,7 @@ def read_profile(filename): elif command == 'progress-point': # Log a performance change for a single progress point during the current experiment if current_exp: - m = measurement(data['name'], data['type'], int(data['delta']), current_exp) + m = measurement(data['name'], data['type'], float(data['delta']), current_exp) buffered_profile.add_measurement(m) elif command == 'samples': diff --git a/lib/profiler.cpp b/lib/profiler.cpp index 0ddfe3c..90d36e7 100644 --- a/lib/profiler.cpp +++ b/lib/profiler.cpp @@ -220,11 +220,15 @@ void profiler::profiler_thread(spinlock& l) { size_t queue_len = _begin_point.load()->get_count() - _end_point.load()->get_count(); float latency = period * queue_len; - output << "latency-point\t" + // "Period" is computed as duration / delta. latency is just this time queue length, + // so fake a "delta" to produce the right output by dividing by queue length + float fake_delta = (float)delta / queue_len; + + output << "progress-point\t" << "name=latency\t" << "type=latency\t" - << "latency=" << latency << "\t" - << "delta=" << delta << "\n"; + //<< "latency=" << latency << "\t" + << "delta=" << fake_delta << "\n"; } output.flush();