Monday Apr 26, 2010

Using DTrace for Gnome Performance Analysis

download for iPod

Gnome Desktop Environment is shipped with OpenSolaris by default. Gnome, like any other large software system has been hitting with performance issues, some annoying and some not so obviously visible. The idea is to use the power of DTrace to form a framework to enable tracing of Gnome.   I propose to do this by adding USDT probes into some of the core modules of Gnome like glib, gtk and gio/gvfs. Adding probes in glib namely in the g_malloc()/ g_free() interface lets us analyse the sizes of objects that are being allocated in Gnome. Since USDT probes are enabled on a per-process basis, we can get a process-wise chart of object sizes of all gnome applications. This gives us a good idea on what are the sizes of memory request each gnome application is making. Probes in gtk, enables us to analyse the time taken to initialize and destroy an object(by adding probes in corresponding class_init/class_finalize and obj_init/obj_finalize functions). It also allows us to track what is the Mean Life Time of objects used by gnome applications, through the gtk type interface. Probes in gio/gvfs will let us compute the latencies involved in file I/O in Gnome better. The probes can help us compute the time taken to handle various URIs and understand better the bottlenecks, if any.    With the above setup in place, I plan to write scripts that will aggregate "useful" data and deliver it in a meaningful form. This proposal is inspired by the observability and the near zero probe effect that DTrace offers. The traditional performance measurement concerns of the Gnome community are listed here: http://live.gnome.org/GnomePerformance Most of them listed, would be solved directly with above framework in place or with small extensions of the framework. 

Krishnan Parthasarathi works as a Sustaining Engineer at Sun Microsystems, Bangalore, for the Desktop Environment on Solaris/ OpenSolaris. Work involves fixing bugs in various components of Gnome on OpenSolaris release version and Solaris 10. 

About

Learn more about the industry's first operating system designed for enterprise cloud computing.

Connect with Oracle Solaris:


Search

Categories
Archives
« July 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Today