Fedora 13, released yesterday, broadens the Linux-based operating system’s debugging capabilities to applications that run above the kernel layer, assisting developers to locate bottlenecks.
Fedora is developed by the community-supported Fedora Project and is sponsored by Red Hat. Version 13 bundles an updated version of the open-source SystemTap utility, which adds support for static probes.
Previous releases were limited to tracing probe points in the Linux kernel, said Fedora Project leader Paul Frields. Now, developers can optimize applications written in PostgreSQL, Python and Tcl, he added.
“We needed a way to provide easier tracing of Python activity system-wide,” Frields explained. Developers can load a SystemTap script and display a list of the biggest consumers of CPU time and memory space, as well as seeing entry and exit points through Python libraries, he added. “They can watch code as it steps into and out of functions all the way down through the Python stack.”
The SystemTap project will likely extend support to other popular languages, Frields said. “My expectation is MySQL and Perl will be entering quickly. You may find other languages like Ruby and PHP soon after.”
Fedora also provides new support for developers mixing Python and C/C++ libraries. Developers no longer find themselves up “against a wall,” and they may use GDB (the GNU Project debugger) to debug “through the entire stack passing through the library space to the Python application and back again,” Frields said.
Likewise, attention was paid to extending Java development support with the addition of the NetBeans 6.8 IDE. NetBeans 6.8 adds support for developing in Java EE 6, as well as the JavaFX SDK. Fedora also bundles the Eclipse Galileo release tool chain. “Things like RESTful Web services and GlassFish will work,” Frields said.
At a lower level, the OS includes an updated release of the Linux Kernel-based Virtual Machine (KVM), which adds support for stable PCI addresses so that virtual guests retain their PCI addresses’ space on a host machine.