Measuring startup-time from userspace

From: Taras Glek
Date: Sun Jan 02 2011 - 18:05:27 EST


Hi,
Does Linux provide a reasonable way to measure how long a process has existed for? The goal is to have a function that returns the number of milliseconds since process-creation.

We'd like to be able to have Firefox self-diagnose startup times. Unfortunately, it turns out that library loading time adds a lot to startup before application code runs, so a in-application timer would underestimate startup time.

It appears that the most precise solution is to read start time from /proc/self/stat. Unfortunately the time is in jiffies-since-startup and there don't seem to be any good counters to compare against (ie /proc/uptime doesn't provide enough resolution). So far the only workable solution seems to create a new thread/process. Then one can do (/proc/<newpid>/stat.starttime - /proc/self/stat.starttime) * 1000 / HZ
.

The question is, there way for a process to measure time-since-startup without horrible hacks like spawning a new processes?


Taras

ps. Perhaps /proc/timer_list contains enough info?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/