[Tracker] tracker-applet and accessing icon file
- From: Michal Pryc <Michal Pryc Sun COM>
- To: tracker-list gnome org
- Subject: [Tracker] tracker-applet and accessing icon file
- Date: Fri, 26 Oct 2007 15:46:53 +0100
Hello,
Today I saw some strange behavior and I digg into it and here are the
results.
So what is the problem?
The tracker-applet is accessing way too many times the three image
files, during indexing (icon changes every second).
Here is the dtrace script showing which file is accessed how many times
during 60s. We can see that it's 20, so 20*3=60s, which gives us way to
many times. The image should be in memory in such case.
# dtrace -n 'syscall::open*:entry /execname == "tracker-applet"/{
@[copyinstr(arg0)]=count(); } tick-60s{exit(0);}'
dtrace: description 'syscall::open*:entry ' matched 3 probes
CPU ID FUNCTION:NAME
0 1224 :tick-60s
/usr/share/tracker/icons/tracker-applet-default.png 20
/usr/share/tracker/icons/tracker-applet-indexing1.png 20
/usr/share/tracker/icons/tracker-applet-indexing2.png 20
Here we can see the real user stack for this operation:
# dtrace -n 'syscall::open*:entry /execname == "tracker-applet"/{
@[ustack()]=count(); } tick-10s{exit(0);}'
dtrace: description 'syscall::open*:entry ' matched 3 probes
CPU ID FUNCTION:NAME
0 1223 :tick-10s
libc.so.1`__open64+0x15
libc.so.1`_endopen+0xb8
libc.so.1`fopen64+0x29
libgdk_pixbuf-2.0.so.0.1000.12`gdk_pixbuf_new_from_file+0x7d
libgtk-x11-2.0.so.0.1000.12`gtk_status_icon_set_from_file+0x3a
tracker-applet`set_tracker_icon+0x4f
tracker-applet`set_icon+0x9d
libglib-2.0.so.0.1200.12`g_timeout_dispatch+0x24
libglib-2.0.so.0.1200.12`g_main_dispatch+0x1d9
libglib-2.0.so.0.1200.12`g_main_context_dispatch+0x85
libglib-2.0.so.0.1200.12`g_main_context_iterate+0x3ce
libglib-2.0.so.0.1200.12`g_main_loop_run+0x1b8
libgtk-x11-2.0.so.0.1000.12`gtk_main+0xb2
tracker-applet`main+0x31e
tracker-applet`_start+0x7d
10
--
best
Michal Pryc
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]