{"id":87,"date":"2008-01-27T02:59:15","date_gmt":"2008-01-27T07:59:15","guid":{"rendered":"http:\/\/www.visophyte.org\/blog\/2008\/01\/27\/chronicle-recorder-and-amd64-hooray\/"},"modified":"2009-04-01T08:28:40","modified_gmt":"2009-04-01T13:28:40","slug":"chronicle-recorder-and-amd64-hooray","status":"publish","type":"post","link":"https:\/\/www.visophyte.org\/blog\/2008\/01\/27\/chronicle-recorder-and-amd64-hooray\/","title":{"rendered":"chronicle-recorder and amd64, hooray!"},"content":{"rendered":"<p> <a href=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/01\/python-hello-world-visichron-3deep.png\" title=\"visichron.py against python 'hello world'\"><img decoding=\"async\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/01\/python-hello-world-visichron-3deep-cropped.png\" alt=\"overview: visichron.py trace python -f main -d 3\" \/><\/a><\/p>\n<p>My personal laptop rolls amd64-style (rather than i686), and chronicle-recorder&#8217;s valgrind component was not working on it (&#8220;illegal instruction&#8221;).  I have done some vendor-branch dancing to get chronicle-recorder&#8217;s valgrind sub-directory to use valgrind 3.3.0.  A bzr branch of <strong>just the valgrind subdirectory<\/strong> (drop-in or build separately and make sure you invoke valgrind from that location) is available here: <a href=\"http:\/\/www.visophyte.org\/rev_control\/bzr\/valgrind-chronicle\/valgrind-chronicle\/\">http:\/\/www.visophyte.org\/rev_control\/bzr\/valgrind-chronicle\/valgrind-chronicle\/<\/a><\/p>\n<p>A probably faster location to bzr branch from is here: <a href=\"http:\/\/clicky.visophyte.org\/rev_control\/bzr\/valgrind-chronicle\/valgrind-chronicle\/\">http:\/\/clicky.visophyte.org\/rev_control\/bzr\/valgrind-chronicle\/valgrind-chronicle\/<\/a><\/p>\n<p>and a tarball of the tip is here: <a href=\"http:\/\/www.visophyte.org\/rev_control\/tarballs\/valgrind-chronicle-r6.tar.bz2\">http:\/\/www.visophyte.org\/rev_control\/tarballs\/valgrind-chronicle-r6.tar.bz2<\/a><\/p>\n<p>I have also updated chroniquery (my python binding for chronicle-query&#8217;s JSON interface, and its own set of tools that build on it) to work with amd64.  Its bzr branch is here: <a href=\"http:\/\/www.visophyte.org\/rev_control\/bzr\/chroniquery\/trunk\/\">http:\/\/www.visophyte.org\/rev_control\/bzr\/chroniquery\/trunk\/<\/a><\/p>\n<p>The goal of all of this was to be able to run chronicle against Thunderbird, which I was able to do.  Unfortunately, visichron (the visualizing part of chroniquery using visophyte) is not quite ready for such an undertaking at this time.\u00a0 (Not to mention a few C++ symbols issues&#8230;)<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.visophyte.org\/blog\/wp-content\/uploads\/2008\/01\/python-hello-world-visichron-3deep-snippet.png\" alt=\"snippet: visichron.py trace python -f main -d 3\" \/><\/p>\n<p>However, it was powerful enough to handle visualizing the trace resulting from invoking python on a python file with just &#8220;print &#8216;hello world'&#8221; in it.  So that&#8217;s what you see here, albeit limited to only 3 call levels deep.  Click on the upper picture to see the whole thing at 2000&#215;2000, or just look on the lower picture to get an idea of what&#8217;s going on.  Just like my <a href=\"http:\/\/www.visophyte.org\/blog\/2007\/09\/03\/chronicle-recorder-graphring-visualization-hooray\/\">first post using visichron<\/a>, the rings are colored based on a (naive) control-flow-taken basis.  The ring colors are per-function, however.  Also, the node colors are &#8216;hot&#8217; colored based on how many &#8216;ticks&#8217; were spent inside the functions, multiple counting for recursion.<\/p>\n<p>Other interesting changes include some primitive watch functionality for chronisole&#8217;s &#8216;trace&#8217; mode.  Also, the previously unmentioned readchron.py now understands and prints BunchedEffect and RegEffect info.  (readchron aspires to be along the lines of readelf for chronicle databases, but with more colors.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My personal laptop rolls amd64-style (rather than i686), and chronicle-recorder&#8217;s valgrind component was not working on it (&#8220;illegal instruction&#8221;). I have done some vendor-branch dancing to get chronicle-recorder&#8217;s valgrind sub-directory to use valgrind 3.3.0. A bzr branch of just the &hellip; <a href=\"https:\/\/www.visophyte.org\/blog\/2008\/01\/27\/chronicle-recorder-and-amd64-hooray\/\">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,8,4],"tags":[29,28,33,39],"class_list":["post-87","post","type-post","status-publish","format-standard","hentry","category-debugging","category-program-execution","category-visualizing","tag-chronicle","tag-chroniquery","tag-visichron","tag-visophyte"],"_links":{"self":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/87","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=87"}],"version-history":[{"count":2,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/87\/revisions"}],"predecessor-version":[{"id":257,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/posts\/87\/revisions\/257"}],"wp:attachment":[{"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/media?parent=87"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/categories?post=87"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.visophyte.org\/blog\/wp-json\/wp\/v2\/tags?post=87"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}