Solaris Dynamic Tracing - Increasing Performance Through Complete Software Observability

76KPDF[76K]
Table of Contents
 
 
 
 

Key Feature Highlights

Key feature highlights
Designed for use on production systems to find performance bottlenecks
Provides a single view of the software stack - from kernel to application, leading to rapid identification of performance bottlenecks
Dynamically instruments the kernel and instructions in any application with a near-infinite number of probe points, improving ability to service software
Enables maximum resource utilization and application performance, as well as precise quantification of resource requirements
Fast and easy to use, even on complex systems with multiple layers of software
 

Back to top

 
 

Introducing Solaris Dynamic Tracing (DTrace)

With the Solaris 10 Operating System OS, Sun introduces Dynamic Tracing (DTrace): a dynamic tracing framework for troubleshooting systemic problems in real time on production systems. DTrace is designed to quickly identify the root cause of system performance problems. DTrace safely and dynamically instruments the running operating system kernel and running applications without rebooting the kernel and recompiling - or even restarting - applications. And, when not explicitly enabled, DTrace has zero effect on the system. It is available on all supported Solaris OS platforms.

Back to top

 
 

Designed for use on production systems

DTrace is absolutely safe for use on production systems. It has little impact when running, and no impact on the system when not in use. Unlike other tools, it can be initiated dynamically without rebooting the system, using special modes, restarting applications, or any other changes to the kernel or applications.

DTrace provides accurate and concise information in real time. Questions are answered immediately, eliminating the need to collect large amounts of data for later analysis. DTrace can also highlight patterns and trends. This makes it easier and faster to identify bottle-necks, a task that can be difficult and time-consuming with many other tools. By employing speculative tracing, DTrace can record and report (or discard) trace data based on nonsimultaneous events, enabling quick identification of transient problems and reducing the need for post processing. In addition, DTrace can be used across Solaris Containers to quickly correlate events and find bottlenecks on distributed applications such as Web applications. All of this leads to increased performance and service availability, while system downtime is reduced.

Back to top

 
 

Provides single view of software stack

With DTrace, system administrators, integrators, and developers can really see what the system is doing, as well as how the kernel and applications interact with each other. It enables users to formulate arbitrary questions and get concise answers, allowing them to find performance bottlenecks on development, pilot, and production systems. More generally, DTrace can be used to troubleshoot virtually any systemic problem - often finding problems that have been plaguing a system for years.

Jarod Jenson of Aeysis, Inc. has has been using DTrace since March, 2003 to find previously undiagnosable system performance problems. "DTrace changes my methodologies and the way I approach issues now. Time previously wasted creating custom code for instrumentation is now dedicated to creating novel hypotheses to explain abberant behavior," says Jenson. "It's what I call a quality-of-life feature, because root-causing these problems used to be a very painful process that could take weeks."

Back to top

 
 

Dynamically instruments any application

DTrace finds problems that simply could not be found before, regardless of how many days, weeks, or months of troubleshooting took place. "I can't tell you how many times we find a problem using DTrace where someone asks how we did it before, and the answer is, we couldn't," says Jenson. DTrace can instrument any application without modifying or restarting. It runs only the traces that are requested, analyzes the data, and delivers fast, accurate answers. Designed for system administrators and application developers, DTrace is easy to learn and easy to use, providing a C-like scripting language to save, share, and rerun tracing routines.

Back to top

 
 

Enables maximum resource utilization and application performance

Now that users have the ability to understand performance problems on production systems, companies no longer need to spend time and money trying to replicate the problems on separate test systems. With DTrace, customers can tune their systems for better performance, better utilization, and achieving greater returns on investment (ROI).

For example, one of Sun's own Sun Ray ultra-thin client servers was underperforming. A team of experts looked into the problem for several weeks, to no avail. After upgrading the system to the Solaris 10 OS with DTrace, it took just 20 minutes of analysis to find a rogue application. The system now supports 30 percent more desktops.

By using DTrace, Jenson routinely provides his financial customers with triple-digit performance increases, far above what is typically achieved through hardware upgrades. Customers can now support more transactions on their existing systems. He explains, "Many customers I have worked with had long-standing questions about their application and its demands on the OS that, due to failings of previously available tools, had gone unanswered. DTrace allows us to answer those questions in minutes and make decisions based on real data." Finally, because it is now possible to see exactly what the system is doing, companies can more accurately plan for future capacity.

Back to top

 
 

Fast, accurate, and easy to use

For the user, DTrace not only means higher utilization of assets, it also means empowerment when dealing with technology vendors. No longer do users need to take a vendor's word for the causes of systemic problems. By using DTrace, they can discover for themselves the nature of problems, gathering data that can end finger-pointing among vendors, which often plagues high-priority problems. The upshot for the user is higher quality applications and better system performance. And the upshot for vendors is less time spent resolving problems. With DTrace, everyone wins.

Back to top

 
 

Conclusion

DTrace provides every developer and customer running the Solaris 10 OS with an extremely powerful tool to analyze performance. It empowers them with advanced observability into the systems they own to see how they work. With DTrace, the bottom line is developing higher quality applications, lowering costs, reducing downtime, and providing greater utilization of existing resources to improve ROI.

Back to top

 
 

Learn More

Get the inside story on the trends and technologies shaping the future of computing by signing up for the Sun Inner Circle program. You'll receive a monthly newsletter packed with information, plus access to a wealth of resources. Register today at sun.com/joinic.

Back to top