{"id":123,"date":"2008-09-17T04:25:03","date_gmt":"2008-09-17T09:25:03","guid":{"rendered":"http:\/\/www.visophyte.org\/blog\/?p=123"},"modified":"2009-03-15T07:48:39","modified_gmt":"2009-03-15T12:48:39","slug":"chroniquery-does-useful-things","status":"publish","type":"post","link":"https:\/\/www.visophyte.org\/blog\/2008\/09\/17\/chroniquery-does-useful-things\/","title":{"rendered":"chroniquery does useful things!"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"671\" height=\"273\" class=\"alignnone size-full wp-image-124\" title=\"chroniquery-with-js-magic-xpcshell\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/09\/chroniquery-with-js-magic-xpcshell.png\" alt=\"\" srcset=\"https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/09\/chroniquery-with-js-magic-xpcshell.png 671w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/09\/chroniquery-with-js-magic-xpcshell-600x244.png 600w, https:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/09\/chroniquery-with-js-magic-xpcshell-300x122.png 300w\" sizes=\"auto, (max-width: 671px) 100vw, 671px\" \/><\/p>\n<p>Before <a href=\"http:\/\/www.visophyte.org\/blog\/category\/visualizing\/program-execution\/\">pecobro<\/a>, there was chroniquery (<a href=\"http:\/\/www.visophyte.org\/blog\/2008\/01\/27\/chronicle-recorder-and-amd64-hooray\/\">shiny<\/a>, <a href=\"http:\/\/www.visophyte.org\/blog\/2007\/09\/03\/chronicle-recorder-graphring-visualization-hooray\/\">also shiny<\/a>, <a href=\"http:\/\/www.visophyte.org\/blog\/2007\/09\/01\/hooray-for-dwarf-location-lists\/\">texty<\/a>), a python binding for <a href=\"http:\/\/weblogs.mozillazine.org\/roc\/\">roc<\/a>&#8216;s <a href=\"http:\/\/code.google.com\/p\/chronicle-recorder\/\">chronicle-recorder<\/a> omega-debugger.\u00a0 Now, there is still chroniquery.\u00a0 It just does more stuff, and does the stuff it previously did more correctly.<\/p>\n<p>In any event, what the awesome &#8216;screenshot&#8217; (it&#8217;s from a console&#8230;) shows:<\/p>\n<ul>\n<li>A trace from running chronicle-recorder against xpcshell on amd64 running a gloda unit test.<\/li>\n<li>Javascript being &#8216;traced&#8217; with extraction of the function name, script, and line number&#8230; everything you&#8217;d expect from your dtrace probes or your JSD hooks\/venkman\/firebug&#8230;<\/li>\n<li>Hm&#8230; it seems to know something about an XPConnect call going down&#8230;<\/li>\n<li>Oh noes!\u00a0 It has escaped into the C++ codes!<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Before pecobro, there was chroniquery (shiny, also shiny, texty), a python binding for roc&#8216;s chronicle-recorder omega-debugger.\u00a0 Now, there is still chroniquery.\u00a0 It just does more stuff, and does the stuff it previously did more correctly. In any event, what the &hellip; <a href=\"https:\/\/www.visophyte.org\/blog\/2008\/09\/17\/chroniquery-does-useful-things\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[7,3,8],"tags":[28],"class_list":["post-123","post","type-post","status-publish","format-standard","hentry","category-debugging","category-mozilla","category-program-execution","tag-chroniquery"],"_links":{"self":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/comments?post=123"}],"version-history":[{"count":6,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/123\/revisions"}],"predecessor-version":[{"id":193,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/123\/revisions\/193"}],"wp:attachment":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/media?parent=123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/categories?post=123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/tags?post=123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}