Measuring startup-time from userspace
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?
Quoted 3 lines · Taras Glek
The question is, there way for a process to measure time-since-startup without horrible hacks like spawning a new processes?
Would you consider an LD_PRELOAD library to fall into the "hack" category? I'm not sure when .init section is executed, but it might be substantially earlier than when _start() is called.
- Ben
Quoted 5 lines · Taras Glek
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.
At a glance:
----
alex@berk:~$ stat /proc/16863/ File: `/proc/16863/' Size: 0 Blocks: 0 IO Block: 1024 directory Device: 3h/3d Inode: 837808 Links: 6 Access: (0555/dr-xr-xr-x) Uid: ( 1000/ alex) Gid: ( 1000/ alex) Access: 2011-01-03 05:07:47.888363341 +0000 Modify: 2011-01-03 05:07:47.888363341 +0000 Change: 2011-01-03 05:07:47.888363341 +0000 ----
A nanosecond resolution timestamp for the moment when the pid is created it seems. I could be completely wrong, but this seems to be one of those "too easy to be true" moments.
Cheers
Signature · 2 lines
Alexander Clouter .sigmonster says: Marriage is the sole cause of divorce.