Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 DTrace Source released.
Index -> General Discussion
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Hikaru79




PostPosted: Tue Jan 25, 2005 8:56 pm   Post subject: DTrace Source released.

Just today, Sun Microsystems (the folks behind Java and several Canadian Computer contests) released most of the source behind the Solaris 10 OS. Apparently the most interesting feature about this is the source behind a utility called "DTrace" which, until now, has been unique to the Solaris 10 platform.

What is DTrace? Well, here's some info from Sun. (Thanks to Slashdot for linking it)

Quote:
Welcome to Dynamic Tracing in the Solaris Operating System! If you have ever wanted to understand the behavior of your system, DTrace is the tool for you. DTrace is a comprehensive dynamic tracing facility that is built into Solaris that can be used by administrators and developers on live production systems to examine the behavior of both user programs and of the operating system itself. DTrace enables you to explore your system to understand how it works, track down performance problems across many layers of software, or locate the cause of aberrant behavior. As you'll see, DTrace lets you create your own custom programs to dynamically instrument the system and provide immediate, concise answers to arbitrary questions you can formulate using the DTrace D programming language. The first section of this chapter provides a quick introduction to DTrace and shows you how to write your very first D program. The rest of the chapter introduces the complete set of rules for programming in D as well as tips and techniques for performing in-depth analysis of your system. You can share your DTrace experiences and scripts with the rest of the DTrace community on the web at http://www.sun.com/bigadmin/content/dtrace/. All of the example scripts presented in this guide can be found on your Solaris system in the directory /usr/demo/dtrace.

DTrace helps you understand a software system by enabling you to dynamically modify the operating system kernel and user processes to record additional data that you specify at locations of interest, called probes. A probe is a location or activity to which DTrace can bind a request to perform a set of actions, like recording a stack trace, a timestamp, or the argument to a function. Probes are like programmable sensors scattered all over your Solaris system in interesting places. If you want to figure out what's going on, you use DTrace to program the appropriate sensors to record the information that is of interest to you. Then, as each probe fires, DTrace gathers the data from your probes and reports it back to you. If you don't specify any actions for a probe, DTrace will just take note of each time the probe fires.

http://docs.sun.com/app/docs/doc/817-6223


Quote:
Q. What is DTrace?

A. DTrace is a new facility in the Solaris Operating System that adds dynamic instrumentation and tracing to the kernel and can be used on production systems. It's a power tool that can be used by both the entry-level and experienced system administrators to diagnose and resolve problems in hours or minutes that might have previously taken days.



Q. What are the benefits of DTrace?

A.
# Faster resolution of performance problems for system administrators
# Quicker time to market and higher quality product for developers
# Greater utilization of existing system resources for IT managers



Q. What are the key highlights of DTrace?

A.
# Comprehensive coverage: over 30,000 instrumentation points in even the smallest system; integrated access to both application and kernel data
# Always available: built-in with no need to reboot or otherwise reconfigure system, disable or alter applications, or disable user/client access
# Safe: cannot panic system and has no impact on the system when not being used
# Enable only the trace points you need
# Analyzes data in real time on production systems
# Extensible as new analysis routines can be built for re-use using the D programming language



Q. What is the performance overhead of DTrace?

A. When not in use, DTrace has no impact on system performance or other behavior. When being used, DTrace overhead is dependent on the number of probe points being observed.



Q. How does Sun's DTrace compare with competitive offerings?

A. DTrace is the only dynamic tracing tool available that eliminates the need for collecting and processing event data. With DTrace a system administrator can query the system experiencing the problem in real time, while in production, and get accurate and precise information regarding the source of the problem. No log files are generated, and there is no data to analyze. This reduces the time it takes to identify and resolve problems by orders of magnitude! Literally from days to minutes.

Containers are based on software. They offer logical separation with the same OS in each Container. Containers offer enormous scalabilty: while there is no hard coded limit, upto 4000 per OS image are available and is beyond normal requirements today.



Q. Can DTrace be used without knowing the D language?

A. You can leverage scripts developed by others (such as those available on the Sun BigAdmin portal). However, it is not difficult to learn D which is very similar to the ANSI C programming language with a special set of functions and variables to make tracing easy.


The source being released means that a UNIX port will most likely be soon available. Although I'm personally not qualified to make full use of this, it sounds really interesting and definetly something I'll be devoting time to understanding. I mean -- what a great learning tool! Seeing, dynamically, how a computer functions.

Anyone else interested about this?
Sponsor
Sponsor
Sponsor
sponsor
rizzix




PostPosted: Tue Jan 25, 2005 9:32 pm   Post subject: (No subject)

in a way by my understanding its quite a risk to companies.. i mean.. if u can trace how your programs works well thats basically reverse engineering made easy.
Display posts from previous:   
   Index -> General Discussion
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 2 Posts ]
Jump to:   


Style:  
Search: