{"id":2081,"date":"2008-07-01T19:31:40","date_gmt":"2008-07-02T02:31:40","guid":{"rendered":"http:\/\/redmonk.com\/sogrady\/?p=2081"},"modified":"2008-07-01T19:31:40","modified_gmt":"2008-07-02T02:31:40","slug":"dtrace-vs-systemtap-redux","status":"publish","type":"post","link":"https:\/\/redmonk.com\/sogrady\/2008\/07\/01\/dtrace-vs-systemtap-redux\/","title":{"rendered":"DTrace vs SystemTap, Redux"},"content":{"rendered":"<p>Three years ago come August, O&#8217;Reilly&#8217;s Nat Torkington, <a href=\"http:\/\/radar.oreilly.com\/archives\/2005\/11\/oscon-jonathan-schwartz-interv.html\">interviewing<\/a> Sun&#8217;s Jonathan Schwartz, pressed the CEO on the issues of patents generally and DTrace patents specifically. <\/p>\n<p>Torkington&#8217;s question? &#8220;So if the Linux kernel were to implement DTrace, Sun wouldn&#8217;t employ the patents against them?&#8221;<\/p>\n<p>Schwartz&#8217; answer? &#8220;Knock yourself out.&#8221;<\/p>\n<p>That was 2005. Fast forward to 2008. As one of the DTrace engineers has <a href=\"http:\/\/blogs.sun.com\/bmc\/entry\/dtrace_on_linux\">noted<\/a>, <a href=\"http:\/\/www.crisp.demon.co.uk\/blog\/index.html\">Paul Fox<\/a> is taking Schwartz up on that challenge. <\/p>\n<p>As the FreeBSD and OS X engineers can <a href=\"http:\/\/redmonk.com\/sogrady\/2008\/03\/16\/dtraceconf-and-the-dumbest-guy-in-the-room\/\">tell you<\/a>, the task of porting DTrace to a platform other than Solaris is non-trivial in the extreme. On the other hand, as they&#8217;ve both been successful (or in progress, in the case of FreeBSD) &#8211; with the kind assistance of the DTrace team &#8211; it clearly <i>can<\/i> be done. Where there&#8217;s a will, there&#8217;s a way and so on. <\/p>\n<p>Making Fox&#8217;s work more compelling is <a href=\"ftp:\/\/crisp.dynalias.com\/pub\/release\/website\/dtrace\/\">the code<\/a>. Or rather, the fact that there is code. That alone elevates this from an interesting but ambitious idea to potentially fascinating project. <\/p>\n<p>Merely potentially because the appetite for DTrace within the Linux ecosystem would be, how do I put this, <i>uncertain<\/i>. Some view the technology as <a href=\"https:\/\/lists.linux-foundation.org\/pipermail\/ksummit-2008-discuss\/2008-June\/000153.html\">marketing coolaid<\/a>, some argue it&#8217;s <a href=\"https:\/\/lists.linux-foundation.org\/pipermail\/ksummit-2008-discuss\/2008-June\/000173.html\">far ahead<\/a>, and others, well, they&#8217;re undecided. <\/p>\n<p>Undecided, at least in part, because there&#8217;s already a project within the Linux ecosystem to provide DTrace like functionality. <a href=\"http:\/\/en.wikipedia.org\/wiki\/Systemtap\">SystemTap<\/a> is a project we&#8217;ve discussed in this space before: a little over <a href=\"http:\/\/redmonk.com\/sogrady\/2006\/04\/07\/linux-responds-to-dtrace-systemtap-on-tap\/\">two years ago<\/a>, to be precise. At that time, I said the following:<\/p>\n<blockquote><p>Anyhow, still undetermined for SystemTap is when\/if a.) SystemTap makes its way into mainstream commercial and non-commercial distributions and b.) the required kernel modules, KProbes and RELAYFS (both of which I had to add to my kernel, necessitating two separate compiles) become standard. Until that happens, DTrace has an advantage over its Linux counterpart.<\/p><\/blockquote>\n<p>How does SystemTap score on those metrics? Well, on the Ubuntu Hardy machine I&#8217;m writing this on now, SystemTap is available for install. Which is good. Less so is the fact that kernel developers called the technology, on list, &#8220;klunky and prone to break in unexpected ways&#8221; (see Frank Ch. Eigler&#8217;s response to that charge <a href=\"https:\/\/lists.linux-foundation.org\/pipermail\/ksummit-2008-discuss\/2008-June\/000192.html\">here<\/a>) just four days ago. As a related aside, I was interested to read that with respect to user space probing &#8211; an ability I&#8217;d believed to have been added &#8211; is not there yet (&#8220;<a href=\"https:\/\/lists.linux-foundation.org\/pipermail\/ksummit-2008-discuss\/2008-June\/000192.html\">We&#8217;re finally getting very close in this<\/a>&#8220;) two years later. <\/p>\n<p>What does this tell us? That the problem that DTrace and SystemTap both are trying to solve is hard; exceedingly so. Further, that DTrace merely by its production availability and accessibility to mere systems administrators owns a significant edge over its Linux based competition. Whatever the marketers on either side might say. <\/p>\n<p>What we don&#8217;t yet know, however, is where things go from here: there are too many variables to make predicting a reasonable exercise. Can DTrace be successfully and completely ported to Linux, technically? Assuming the licensing issues cannot be resolved <a href=\"http:\/\/www.crisp.demon.co.uk\/blog\/archives\/2008-04.html#e2008-04-30T22_45_50.txt\">via technical workarounds<\/a>, are Schwartz&#8217; 2005 words sufficient legal grounds to stand on? If not, what does that mean for Fox&#8217;s project? <\/p>\n<p>And even if DTrace can overcome the daunting technical and legal obstacles to find a new home in Linux, would anyone use it? Or would <a href=\"http:\/\/en.wikipedia.org\/wiki\/Not_Invented_Here\">NIH<\/a> preempt its adoption? <\/p>\n<p>One answer, at least, we have. While many would probably argue that a DTrace port to Linux would be disastrous for Solaris and OpenSolaris &#8211; that DTrace was one the reasons the CDDL license was originally selected for the latter project, in face &#8211; the engineers that built it appear to be standing ready to help, should anyone be inclined to ask. <\/p>\n<p>Technically, at least, the decision between DTrace and SystemTap would appear to be straightforward. While I know SystemTap advocates champion the greater reach of SystemTap&#8217;s guru mode among other differentiating factors, even the Linux kernel developers are admitting &#8211; implicitly and otherwise &#8211; that DTrace is the better choice at present.<\/p>\n<p>When it comes to Linux and Solaris technologies, however, decisions are rarely if ever straightforward, and even more rarely made strictly according to the technology. <\/p>\n<p>Which means that this should be an interesting space to watch. <\/p>\n<p><b>Disclaimer<\/b>: Many of the principals on both sides of the DTrace v SystemTap divide are clients, including IBM, The Linux Foundation, Red Hat, and Sun. On a personal level, I know many of the DTrace developers, and the SystemTap guys were kind enough to send me both a sticker and a mug after I <a href=\"http:\/\/redmonk.com\/sogrady\/2008\/03\/12\/guess-where-im-headed-tomorrow\/\">complained<\/a> that the DTrace guys didn&#8217;t have any. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Three years ago come August, O&#8217;Reilly&#8217;s Nat Torkington, interviewing Sun&#8217;s Jonathan Schwartz, pressed the CEO on the issues of patents generally and DTrace patents specifically. Torkington&#8217;s question? &#8220;So if the Linux kernel were to implement DTrace, Sun wouldn&#8217;t employ the patents against them?&#8221; Schwartz&#8217; answer? &#8220;Knock yourself out.&#8221; That was 2005. Fast forward to 2008.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[61,63,1],"tags":[202,588,387,473,492],"class_list":["post-2081","post","type-post","status-publish","format-standard","hentry","category-open-source","category-operating-systems","category-uncategorized","tag-dtrace","tag-linux","tag-opensolaris","tag-solaris","tag-systemtap"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/redmonk.com\/sogrady\/wp-json\/wp\/v2\/posts\/2081","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/sogrady\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/sogrady\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/sogrady\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/sogrady\/wp-json\/wp\/v2\/comments?post=2081"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/sogrady\/wp-json\/wp\/v2\/posts\/2081\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/sogrady\/wp-json\/wp\/v2\/media?parent=2081"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/sogrady\/wp-json\/wp\/v2\/categories?post=2081"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/sogrady\/wp-json\/wp\/v2\/tags?post=2081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}