aboutsummaryrefslogtreecommitdiff
path: root/process
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2010-12-21 09:57:18 -0800
committerArjan van de Ven <arjan@linux.intel.com>2010-12-21 09:57:18 -0800
commit72a7946789f70f8a5fad84d22d40203f08046192 (patch)
tree7998895a84e1ada23199fa0c26808039aa08f48d /process
parentc70369afad59b7383659b7170628c51ba1c76ea6 (diff)
downloadpowertop-72a7946789f70f8a5fad84d22d40203f08046192.tar.gz
Feedback from Matthew Wilcox; show % not ms/s in the summary
Diffstat (limited to 'process')
-rw-r--r--process/do_process.cpp4
-rw-r--r--process/powerconsumer.cpp2
-rw-r--r--process/powerconsumer.h3
-rw-r--r--process/process.cpp13
-rw-r--r--process/process.h3
5 files changed, 22 insertions, 3 deletions
diff --git a/process/do_process.cpp b/process/do_process.cpp
index b876a7f..bf0a092 100644
--- a/process/do_process.cpp
+++ b/process/do_process.cpp
@@ -768,9 +768,9 @@ void html_summary(void)
usage[0] = 0;
if (all_power[i]->usage_units()) {
if (all_power[i]->usage() < 1000)
- sprintf(usage, "%5.1f%s", all_power[i]->usage(), all_power[i]->usage_units());
+ sprintf(usage, "%5.1f%s", all_power[i]->usage_summary(), all_power[i]->usage_units_summary());
else
- sprintf(usage, "%5i%s", (int)all_power[i]->usage(), all_power[i]->usage_units());
+ sprintf(usage, "%5i%s", (int)all_power[i]->usage_summary(), all_power[i]->usage_units_summary());
}
sprintf(events, "%5.1f", all_power[i]->events());
if (!all_power[i]->show_events()) {
diff --git a/process/powerconsumer.cpp b/process/powerconsumer.cpp
index 7428f77..53b8b84 100644
--- a/process/powerconsumer.cpp
+++ b/process/powerconsumer.cpp
@@ -73,7 +73,7 @@ double power_consumer::usage(void)
{
double t;
t = (accumulated_runtime - child_runtime) / 1000000.0 / measurement_time;
- if (t < 0.1)
+ if (t < 0.7)
t = t * 1000;
return t;
}
diff --git a/process/powerconsumer.h b/process/powerconsumer.h
index d03e8ce..e184b59 100644
--- a/process/powerconsumer.h
+++ b/process/powerconsumer.h
@@ -57,6 +57,9 @@ public:
virtual double usage(void);
virtual const char * usage_units(void);
+
+ virtual double usage_summary(void) { return usage();};
+ virtual const char * usage_units_summary(void) { return usage_units(); };
virtual double events(void) { return (wake_ups + gpu_ops + hard_disk_hits) / measurement_time;};
virtual int show_events(void) { return 1; };
};
diff --git a/process/process.cpp b/process/process.cpp
index e9c8067..4593cf5 100644
--- a/process/process.cpp
+++ b/process/process.cpp
@@ -147,6 +147,17 @@ const char * process::description(void)
return desc;
}
+double process::usage_summary(void)
+{
+ double t;
+ t = (accumulated_runtime - child_runtime) / 1000000.0 / measurement_time / 10;
+ return t;
+}
+
+const char * process::usage_units_summary(void)
+{
+ return "%";
+}
class process * find_create_process(char *comm, int pid)
{
@@ -216,3 +227,5 @@ void all_processes_to_all_power(void)
if (all_processes[i]->accumulated_runtime)
all_power.push_back(all_processes[i]);
}
+
+
diff --git a/process/process.h b/process/process.h
index 03f257d..33a8bdb 100644
--- a/process/process.h
+++ b/process/process.h
@@ -63,6 +63,9 @@ public:
virtual const char * name(void) { return "process"; };
virtual const char * type(void) { return "Process"; };
+ virtual double usage_summary(void);
+ virtual const char * usage_units_summary(void);
+
};
extern vector <class process *> all_processes;