Thread

  1. connection logging dtrace probe

    Robert Treat <xzilla@users.sourceforge.net> — 2009-02-12T22:43:08Z

    I whipped up a quick dtrace probe for one of our servers to monitor connection 
    attempts.  My goal was to monitor for any connection attempts from a specific 
    role within the database.  Unfortunatly you can't set logging of connections 
    for a specific user, and logging all connections on that machine would be 
    quite the logfile bloater... enter dtrace. With the probe, I can do something 
    like this:
    
    -bash-3.00$ /opt/csw/bin/sudo dtrace -n 'postgresql*:::connection 
    {printf("connection attempt: %s@%s\n",copyinstr(arg0),copyinstr(arg1)) }' | 
    grep robert
    dtrace: description 'postgresql*:::connection ' matched 5 probes
      2  18984            ServerLoop:connection connection attempt: robert@robert
      2  16222            ServerLoop:connection connection attempt: robert@robert
      1  16876            ServerLoop:connection connection attempt: robert@pagila
    
    which can be piped to logfile or whatever. I'm attaching a patch against 8.4 
    as an idea of what I've implemented (actual implementation was against a 
    custom build) but should be close to working (don't have a working pg repo on 
    any solaris machines atm). Any feedback appreciated (mostly wondering about 
    probe name or location). TIA
    
    -- 
    Robert Treat
    Conjecture: http://www.xzilla.net
    Consulting: http://www.omniti.com
    
  2. Re: connection logging dtrace probe

    Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp> — 2009-02-16T05:54:28Z

    Hi,
    
    Robert Treat <xzilla@users.sourceforge.net> wrote:
    
    > I whipped up a quick dtrace probe for one of our servers to monitor connection 
    > attempts.  My goal was to monitor for any connection attempts from a specific 
    > role within the database.
    
    How about adding probes not only for connection attempts but also for
    connection performance? The name would be CONNECTION_[START|DONE] like
    other existing probes.
    
    I received a report from my client that Postgres didn't return responce
    of heatbeat connection requests for *1 minute*, but there are few methods
    to dig it now...
    
    Regards,
    ---
    ITAGAKI Takahiro
    NTT Open Source Software Center