Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Jul 20, 2014
  1. Fix missing color if SelfTime is 0

    Someone should probably have a closer look at this; or perhaps some of
    this functionality should be pushed into functions in the call_graph
  2. Fix another division by zero

Commits on Jul 16, 2014
  1. Update LICENSE

  2. Add LICENSE

Commits on Apr 30, 2014
  1. Fix division by zero

    .. hopefully, at least.
    Diagnosed by Joel Jacobson, untested fix by me.
  2. Remove unwanted whitespace

Commits on Jul 29, 2013
  1. Fix typo

  2. Change where the save/restore logic happens for enable_call_graph

    It was possible to for the previous code to completely disable
    enable_call_graph if an error happened in a trigger function.  This
    should avoid that.
  3. Disable call_graph when INSERTing into CallGraphBuffer

    This allows creating triggers on that table without infinite recursion.
Commits on Dec 7, 2012
  1. Add the ability to collect daily/hourly stats

    This currently completely undocumented and there is no way to
    prevent the "No calls today" stuff from appearing in index.html if
    you choose not to use this feature.  Sorry about that.
Commits on Dec 4, 2012
  1. Small stylistical change

Commits on Oct 29, 2012
  1. Support 9.2 and later versions

    This was, indeed, really simple.
Commits on Oct 8, 2012
  1. Re-fix NodeHref in sample config file

    Looks like that somebody didn't test the fix either.
  2. Separate read-write tables from read-only tables

    Also add valign=top to the graph.
  3. Fix NodeHref in the sample ini file

    Looks like somebody didn't test the sample file. :-(
Commits on Oct 4, 2012
  1. Hide pg_stat_xact_user_tables information from TLF graphs

    Now that table usage tracking works for all callers, the graphs
    quickly grew bigger than necessary.  Now the only information we
    show is the name of the table and whether it was written to, or
    only read from.  UPDATE and DELETE both require a seq/idx scan
    before they can modify the data so we can't realiably tell the user
    that "this table is only written to"; it would only work for
  2. Use TopTransactionContext for the hash tables

    This should avoid memory leaks and potentially unmask some bugs.
  3. Rewrite table usage tracking

    After some testing it occurred that the feature introduced in
    6071135 was not enough even for
    our purposes since EXECUTE prepared_statement(); counts as two
    statements, and thus will not track table information. :-(
    The way to fix this was to take a snapshot of pg_stat_act_user_tables
    before entering the top level function, and then comparing that to
    the data in the table before leaving the top level function.  This,
    however, comes with a significant performance penalty, and I don't
    see any obvious way to make things significantly better without
    modifying PG itself.  One low-hanging fruit would be to avoid using
    the pg_stat_xact_*_tables views and do the hash lookups ourselves,
    but I'm not sure how much that would help.  Maybe in the future we
    could look into changing things in PG, but for now, this is all we
Commits on Oct 3, 2012
  1. Don't try to find table usage information for subgraphs

    We will never find that information since we don't (currently)
    have it.
  2. Fix bug in call_graph--1.3.sql

    Per testing by Joel Jacobson.  Obviously I didn't test installing
    1.3 into an empty database after the latest changes. :-(
  3. Move subgraphs to a separate HTML file

    This looks a lot better, but also makes the code even more complex.
    Also includes a small refactoring to I didn't like
    the way the IsSubGraph and EntryFunctionOid information was parsed
    from the GraphID, so I added extra columns for both of them.
    I originally wanted to change the name of the "main graphs" from
    "graph1" to EntryFunctionName, but that seemed a bit harder to do.
    Maybe some other day..
  4. Fix bug in 1.2->1.3 upgrade script

    This was broken by commit de1a450
Commits on Oct 2, 2012
  1. Fix statistics calculation bug in table usage graphs.

    We actually multiplied all the stats by the number of confrelids
    each table had. :-(
  2. Change the graph naming scheme

    Add some subdirs and make sure we have all the directories before
    generating the graphs.
Commits on Oct 1, 2012
  1. Add

    This commit also contains a huge number of unrelated changes. :-(
    Also, we need more documentation.
Something went wrong with that request. Please try again.