{"id":2390,"date":"2010-04-15T22:46:47","date_gmt":"2010-04-16T05:46:47","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/?p=2390"},"modified":"2010-04-16T14:39:01","modified_gmt":"2010-04-16T21:39:01","slug":"alphabet-of-tracing","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/alphabet-of-tracing\/","title":{"rendered":"Alphabet of Tracing"},"content":{"rendered":"<p>So I&#8217;m sitting in the tracing discussion at this year&#8217;s <a href=\"http:\/\/events.linuxfoundation.org\/events\/collaboration-summit\/\">Linux Foundation Collaboration Summit<\/a>. One presenter discussed a tracing facility called utrace. This got me thinking of all the different _trace utilities I could name off the top of my head: dtrace, ptrace, strace, and utrace. Then I wondered how many letters of the English alphabet already serve as prefixes to the word &#8216;trace&#8217; as software utilities. My cursory research indicates <strike>21\/26<\/strike> 24\/26.<\/p>\n<p><em>Oh yeah, I looked them all up (and thanks to all who helped me fill in the blanks):<\/em><\/p>\n<ul>\n<li><a href=\"http:\/\/github.com\/astrange\/atrace\">atrace<\/a>: astrange&#8217;s raytracer<\/li>\n<li><a href=\"https:\/\/btrace.dev.java.net\/\">btrace<\/a>: Tracing for Java<\/li>\n<li><a href=\"http:\/\/ctrace.sourceforge.net\/\">ctrace<\/a>: multi-threaded trace\/debug library<\/li>\n<li><a href=\"http:\/\/www.sun.com\/bigadmin\/content\/dtrace\/index.jsp\">dtrace<\/a>: Sun&#8217;s comprehensive framework<\/li>\n<li><a href=\"http:\/\/www.jose.it-berater.org\/smfforum\/index.php?topic=3092.0\">etrace<\/a>: The Embedded ELF tracer<\/li>\n<li><a href=\"http:\/\/www.google.com\/search?sourceid=chrome&#038;ie=UTF-8&#038;q=ftrace\">ftrace<\/a>: Fast traceroute for Win32; also <a href=\"http:\/\/lwn.net\/Articles\/322666\/\">ftrace<\/a>: function tracer<\/li>\n<li><a href=\"http:\/\/www.caida.org\/tools\/visualization\/gtrace\/\">gtrace<\/a>: Graphical front-end to traceroute<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ff563208(VS.85).aspx\">htrace<\/a>: apparently an extension to windbg<\/li>\n<li><a href=\"http:\/\/perfinsp.sourceforge.net\/itrace.html\">itrace<\/a>: <em>not<\/em> Apple-related (see ktrace); this stands for instruction strace<\/li>\n<li><a href=\"http:\/\/maglab.psy.uconn.edu\/jtrace\/\">jtrace<\/a>: Java rewrite of a speech recognition technique called TRACE<\/li>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/Ktrace\">ktrace<\/a>: Kernel tracing for certain BSDs including Mac OS X<\/li>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/Ltrace\">ltrace<\/a>: Linux utility to monitor library calls<\/li>\n<li><a href=\"http:\/\/en.wikipedia.org\/wiki\/Mtrace\">mtrace<\/a>: Memory debugger in the GNU C library<\/li>\n<li><a href=\"http:\/\/ntrace.codeplex.com\/\">ntrace<\/a>: Tracing for .NET applications<\/li>\n<li><a href=\"http:\/\/www.dba-oracle.com\/oracle_news\/2004_2_23.htm\">otrace<\/a>: Oracle database tracing<\/li>\n<li><a href=\"http:\/\/www.linuxjournal.com\/article\/6100\">ptrace<\/a>: Process tracing in Linux<\/li>\n<li><a href=\"http:\/\/www.governmentsecurity.org\/forum\/index.php?showtopic=5498\">qtrace<\/a>: Another traceroute utility<\/li>\n<li><strong>rtrace<\/strong>: Ruby-Trace almost qualifies<\/li>\n<li><a href=\"http:\/\/multimedia.cx\/pre\/re-strace.html\">strace<\/a>: Tracing system calls<\/li>\n<li><a href=\"http:\/\/docs.hp.com\/en\/B2355-90693\/ttrace.2.html\">ttrace<\/a>: Tracing facility for multithreaded processes<\/li>\n<li><a href=\"http:\/\/lwn.net\/Articles\/224772\/\">utrace<\/a>: Linux tracing<\/li>\n<li><a href=\"http:\/\/www.cs.berkeley.edu\/~lorch\/vtrace\/\">vtrace<\/a>: System-wide profiling of WinNT or Win2K<\/li>\n<li><a href=\"http:\/\/publib.boulder.ibm.com\/tividd\/td\/\/framework\/SC31-8434-04\/en_US\/HTML\/mpg3234.htm\">wtrace<\/a>: Provides information to debug methods (pertains to Tivoli?)<\/li>\n<li><a href=\"http:\/\/xtrace.alioth.debian.org\/\">xtrace<\/a>: Tracing for X servers<\/li>\n<li><strong>ytrace<\/strong>: Nothing<\/li>\n<li><a href=\"http:\/\/www.jose.it-berater.org\/smfforum\/index.php?topic=3092.0\">ztrace<\/a>: Win32 tracing utility<\/li>\n<\/ul>\n<p>So, if you must make a new tracing utility, <strike>atrace<\/strike>, <strike>etrace<\/strike>, rtrace, ytrace, and <strike>ztrace<\/strike> all seem to be open.<\/p>\n<p>Thanks for sitting through another of my pointless surveys. Oh, and thanks also to Google for providing Summit attendees with free, unlocked Nexus One phones. I haven&#8217;t seen many other mentions of this. Maybe Google does this so often that it barely counts as news anymore.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Another totally pointless survey&#8211; how many _trace utility variants are currently taken<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2390","post","type-post","status-publish","format-standard","hentry","category-general"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/2390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=2390"}],"version-history":[{"count":9,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/2390\/revisions"}],"predecessor-version":[{"id":2398,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/2390\/revisions\/2398"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=2390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=2390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=2390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}