[RSS]

DTrace GUI FAQ

Welcome to the DTrace GUI Frequently Asked Questions page.

What is DTrace GUI?

The NetBeans DTrace GUI plug-in is a Graphical User Interface (GUI) for DTrace , and can be installed into the SunTM Studio IDE or NetBeansTM IDE.

You can run D scripts from the GUI, even those that are embedded in shell scripts. In fact, the DTrace GUI plug-in runs all of the D scripts that are packaged in the DTraceToolkit . The DTraceToolkit is a collection of useful documented scripts developed by the OpenSolaris DTrace community.

You can visualize the output of DTrace using Chime . Chime is a graphical tool for visualizing DTrace aggregations. In particular, its ability to display data over time adds a missing dimension to system observability. Chime is fully integrated with NetBeans DTrace GUI Plug-in.

What are the most important key points?

  • It leverages the extensive work that has been done in OpenSolaris.org community. Specifically, it leverages both DTraceToolkit and Chime projects in OpenSolaris.org community.
  • It also works with Sun Studio IDE.
  • Facilitates developers to use DTrace in conjunction with either Sun Studio Tools or NetBeans IDE.
  • Users are not forced to learn D language before using DTrace. Simply, they can use D scripts that are written by other developers.
  • Users are allowed to use the full functionality of DTrace. NB DTrace GUI does not impose any restriction on how D scripts can be written by users.
  • Users can visualize the output of DTrace using Chime. Chime is fully integrated with NetBeans DTrace GUI Plug-in.
  • Chime can display data over time and can generate line graphs, bar charts, and stack trace.
  • Users can create new Chime displays from the existing D scripts that are shipped with NetBeans DTrace GUI plug-in.
  • Drilldown lets you answer questions about values of interest.
  • One of the most useful features of Chime is ability to turn on recording while DTrace is collecting data about the application and the system itself. The recored data can be played back at later time to diagnose the cause of failure or performance degradation. The recorded data can be sent to other users who have access to NetBeans DTrace GUI Plug-in or Chime for further investigation.
  • Users can query for the list of available Providers, Modules, Functions, or Probes using the List Probes window.
  • A framework that can be easily extended to include other tools
  • Users can easily add a new D script to the NB DTrace GUI.
  • Users can easily create a new D script using NB DTrace GUI.

What is the current architecture?

The NetBeans DTrace GUI plug-in is architected in such a way that you can easily extend and customize it.

The GUI package consists of two components: The NetBeans plug-in (includes Chime) and the DTraceScripts directory.

  • The NetBeans DTrace GUI plug-in can be easily installed into Sun Studio IDE or NetBeans IDE.
  • The DTraceScripts directory contains several subdirectories. Each subdirectory contains several D scripts. The D scripts are categorized mostly based on DTrace providers. You can copy a new D script to an existing subdirectory from the shell command line, you can copy it into a newly created subdirectory in the DTraceScripts directory. You can also create and save a new D script from within the IDE. Chime displays are included in the DTraceScripts directory.

What features needs to be implemented?

  • The remote capability needs to be added to NB DTrace GUI. With remote capability, D scripts will be run remotely on a Solaris system from a client machine. The client machine can be a Windows, Linux, or Solaris system. The output of D scripts will be sent to client system for further investigation by the user.
  • The code completion, code folding, and syntax checking. A new DTrace editor needs to be implemented for D language.
  • Use your imagination to propose a new feature or enhance an existing one.

What is the status of open-sourcing DTrace GUI?

The OSR# 7723 is approved for open-sourcing NetBeans DTrace GUI plug-in with Chime.

DTrace GUI Documentation