Monitoring IPC during login



Hi, everyone,

A long time ago I posted a plea for help to DTrace-enabled hackers [1],
to help us view when apps wait on IPC during login.  Apps send requests
over D-Bus and wait for replies, daemons wake up and respond, GConf does
IPC, etc.

Michal Pryc at Sun was very kind to start extracting this data, which I
had forgotten to send to the list.  The results are very interesting, in
particular the stack traces of just where apps wait and wake up for IPC.
You can see Michal's work in the attached mail.

I'm not really sure what the next task is; perhaps we can extract the
same data for the new GNOME 2.20, and see where we can avoid doing IPC
during login.

[1] http://www.gnome.org/~federico/news-2007-04.html#dtrace-help-for-ipc

  Federico
--- Begin Message ---
Hello Federico,
A friend of mine Alberto Ruiz pointed me to your " *Call for help from OpenSolaris hackers* <http://primates.ximian.com/%7Efederico/news-2007-04.html#dtrace-help-for-ipc>", on the page:
http://primates.ximian.com/~federico/news-2007-04.html#dtrace-help-for-ipc

So I have written few dtrace scripts and collected some data.

Please tell me if this is what you wanted. I know that this is only the start, and later we will need to focus on more detailed information. But I also have to know which exactly processes are the most important for you.

All of the system calls that you have asked were measured, except select(). There is no such provider for this system call in opensolaris. I could install branded zone and trace this call inside the lx zone, but this would take MUCH more time.

All the data is sorted, so the functions/stack traces that are probably the most interesting for us (the most calls or time spend in this function) are at the bottom of the files.

Explanation of the collected data, that are attached:
1. There are 3 files:
   syscalls_function.d_SYSTEMCALL_gnome_startup_second_login
   where SYSTEMCALL is the call that was traced.
Basically this is the trace from pressing enter to the end of login. This trace was done after logout, so the session was started already before, which contains four rows:
           CMD  - actual command calling the specific system call
           SYSCALL  - system call
TOTAL TIME - the total time (ns), that the CMD spend in the system call (between entry and return)
           COUNT - the total number of calls by the CMD

2. There are 3 files:
   syscalls_function_ustack.d__SYSTEMCALL__gnome_startup_second_login
This is the user stack trace for each system call. This is an aggregation, so it means that under each stack there is number. This number represents the total number of the same stack traces.


3. There is one additional file:
   syscalls.d_gnome_startup_second_login
Which contains the time and the number of all system calls for the login.

I am going to 2 weeks holidays starting from this Monday, but if you will have any questions I am normally on the #gnome-hackers nick: migi

Please let me know if this is what you wanted and/or if you need those dtrace scripts :) :) :)

--
best
Michal Pryc
http://blogs.sun.com/migi

Attachment: data_gnome_startup.tar.gz
Description: GNU Zip compressed data


--- End Message ---


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]