The connection-start and
        connection-done probes enclose a connection
        from a client, regardless of whether the connection is through a
        socket or network connection.
      
connection-start(connectionid, user, host) connection-done(status, connectionid)
            connection-start — is triggered
            after a connection and successful login/authentication have
            been completed by a client. The arguments contain the
            connection information:
          
                connectionid — is an
                unsigned long containing the
                connection ID. This is the same as the process ID shown
                as the Id value in the output from
                SHOW PROCESSLIST.
              
                user — is the username used
                when authenticating. The value will be blank for the
                anonymous user.
              
                host — is the host of the
                client connection. For a connection made using UNIX
                sockets, the value will be blank.
              
            connection-done — is triggered just
            as the connection to the client has been closed. The
            arguments are:
          
                status — the status of the
                connection when it was closed. A logout operation will
                have a value of 0; any other termination of the
                connection has a nonzero value.
              
                connectionid — the connection
                ID of the connection that was closed.
              
The following D script will quantify and summarize the average duration of individual connections, and provide a count, dumping the information every 60 seconds:
#!/usr/sbin/dtrace -s
mysql*:::connection-start
{
  self->start = timestamp;
}
mysql*:::connection-done
/self->start/
{
  @ = quantize(((timestamp - self->start)/1000000));
  self->start = 0;
}
tick-60s
{
  printa(@);
}
When executed on a server with a large number of clients you might see output similar to this:
  1  57413                        :tick-60s
           value  ------------- Distribution ------------- count
              -1 |                                         0
               0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 30011
               1 |                                         59
               2 |                                         5
               4 |                                         20
               8 |                                         29
              16 |                                         18
              32 |                                         27
              64 |                                         30
             128 |                                         11
             256 |                                         10
             512 |                                         1
            1024 |                                         6
            2048 |                                         8
            4096 |                                         9
            8192 |                                         8
           16384 |                                         2
           32768 |                                         1
           65536 |                                         1
          131072 |                                         0
          262144 |                                         1
          524288 |                                         0        


User Comments
Add your own comment.