X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbootchart%2Fbootchart.c;h=fc00b4e3f2df888fa1fcf27ffeff770d29f0375d;hb=c358d728e7d6bf38a0176a9d5d013c6e972cddbf;hp=0ae72c29bbb1571268343f1728a7c0d5995ed940;hpb=799a8f39d8eb9ea725e85a598c0f5dbd658c8ba7;p=elogind.git diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c index 0ae72c29b..fc00b4e3f 100644 --- a/src/bootchart/bootchart.c +++ b/src/bootchart/bootchart.c @@ -310,6 +310,7 @@ int main(int argc, char *argv[]) { time_t t = 0; int r; struct rlimit rlim; + bool has_procfs = false; parse_conf(); @@ -349,6 +350,8 @@ int main(int argc, char *argv[]) { log_uptime(); + has_procfs = access("/proc/vmstat", F_OK) == 0; + LIST_HEAD_INIT(head); /* main program loop */ @@ -385,11 +388,11 @@ int main(int argc, char *argv[]) { parse_env_file("/usr/lib/os-release", NEWLINE, "PRETTY_NAME", &build, NULL); } - /* wait for /proc to become available, discarding samples */ - if (graph_start <= 0.0) - log_uptime(); - else + if (has_procfs) log_sample(samples, &sampledata); + else + /* wait for /proc to become available, discarding samples */ + has_procfs = access("/proc/vmstat", F_OK) == 0; sample_stop = gettime_ns();