Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Jul 1, 2012
  1. @tsuna

    Handle all OSError when spawning a collector.

    tsuna authored tsuna committed
    Recently ran into `OSError: [Errno 26] Text file busy' while
    live-editing a collector, which made the main thread die.  :(
    
    Change-Id: Iec15a6d2c89977e947168bff749bcd00ddb9ef06
    Reviewed-on: http://review.stumble.net/14309
    Reviewed-by: Dave Barr <barr@stumbleupon.com>
    Reviewed-by: Benoit Sigoure <tsuna@stumbleupon.com>
    Tested-by: Benoit Sigoure <tsuna@stumbleupon.com>
Commits on Jun 22, 2012
  1. Merging ZFS collectors for tcollector

    Manuel Amador (Rudd-O) authored
Commits on Apr 24, 2012
  1. @tsuna

    Handle errors in tcollector related to failure to spawn collectors.

    Manuel Amador (Rudd-O) authored tsuna committed
    Change-Id: Ia27a4b528eac99e5d4f2ddc35c503d470eeaee37
    Reviewed-on: https://review.stumble.net/11428
    Reviewed-by: Dave Barr <barr@stumbleupon.com>
    Tested-by: Benoit Sigoure <tsuna@stumbleupon.com>
    Reviewed-by: Benoit Sigoure <tsuna@stumbleupon.com>
Commits on Mar 30, 2012
  1. @tsuna

    Better check logging flags. Increase default log size.

    tsuna authored
    Change-Id: Ibcb842a222e55065cecd429de7690088ceb8eb38
  2. @tsuna

    Limit the length of a line read from collectors.

    tsuna authored tsuna committed
    TSD won't accept any data point that doesn't fit in 1024 bytes anyway,
    so we may as well drop them early while in tcollector.
    
    Change-Id: Ie15b5bbc48ddada70ad5c42ea6374a929343bd87
Commits on Mar 29, 2012
  1. @tsuna

    Add RotatingFileHandler handler options to tcollector.

    Chad Rhyner authored tsuna committed
    This adds three new flags --max-bytes, --backup-count, and --logfile.
    
    Change-Id: Iac187c21d67431ffdeb348321393e32a940c422b
    Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Commits on Mar 27, 2012
  1. @tsuna

    Properly handle JMX TabularData.

    tsuna authored
    Change-Id: I3e27bbf6a4003f21fd78c40f086e3177b4293598
  2. @tsuna

    Don't double-print the value when dealing with arrays.

    tsuna authored
    Change-Id: I4356db19c80071364cdc461f653a1ef125448c8b
Commits on Mar 9, 2012
  1. @tsuna

    Close stdin if we don't need it.

    tsuna authored
    Change-Id: Idba0500ef4bf8d834d8705e80c0f671359eb8609
  2. @tsuna

    Rename a service introduced in HBase 0.92.1.

    tsuna authored
    Change-Id: I3e9c3967a600d98f62d5aca3ff4c4a72efe3c4d4
  3. @tsuna

    Catch some more invalid lines and report them instead of dying.

    tsuna authored tsuna committed
    Change-Id: I408c0e67525ba8c4d4becbabc68377914cf54d2d
Commits on Feb 8, 2012
  1. @davebarr

    Fix jmx path

    davebarr authored
    code left in during testing
    
    Change-Id: I4f5f304649cf5c6f362145cfdda183d864146e01
  2. @davebarr @tsuna

    Add hadoop datanode collector

    davebarr authored tsuna committed
    Change-Id: I37146c1c5882dbfa2fa94e44e54e05d6b2e8061a
    Reviewed-on: https://review.stumble.net/8182
    Reviewed-by: Benoit Sigoure <tsuna@stumbleupon.com>
    Reviewed-by: Dave Barr <barr@stumbleupon.com>
    Tested-by: Dave Barr <barr@stumbleupon.com>
Commits on Oct 17, 2011
  1. @tsuna

    Handle uncaught exceptions in the SenderThread.

    tsuna authored
    Allow up to 100 uncaught exceptions in a row for common kinds of
    exceptions that aren't too bad.  Other exceptions, or an excessive
    number of uncaught exceptions, will cause tcollector to shutdown.
    All uncaught exceptions in the SenderThread are now logged.
    
    Change-Id: Icfac4cf840c91243792ffcb4ddf1e5aa43ac8014
Commits on Oct 13, 2011
  1. @zorkian @tsuna

    Add a Redis collector.

    zorkian authored tsuna committed
    This collector gathers data from local Redis servers.  This requires
    the Redis module for Python.  We use netstat to look for 'redis-server'
    processes running on the local machine, since many people run multiple
    Redis servers per box.
    
    It is also suggested you put a hint in your Redis configuration file to
    tell this collector a logical 'cluster' name.  This helps if you have
    several Redis instances on different hosts and you want to be able to
    aggregate the data.
    
    Change-Id: I24975d78aab39148ed92f7a641240c14d725c7d4
  2. @zorkian @tsuna

    Add a Riak collector.

    zorkian authored tsuna committed
    This collector is for the Riak distributed database.  It uses the stats
    JSON object to parse out data and create some timeseries.
    
    This expects /usr/lib/riak to exist (it does by default) and it uses the
    default ports.  This expects you to only be running one Riak instance on
    a machine.  This also only collects stats from the local machine -- you
    will need to run collectors on every machine you use as a Riak node.
    
    Change-Id: I9758e0f99baadf1fe737609932edbb74a1d6581c
    Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
  3. @tsuna

    Only print slave status if we have slaves in our setup.

    Alex Newman authored tsuna committed
    This closes #24.
    
    Change-Id: I269f578e81502e1b31f8c18c90b8a2c33ca1e955
    Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Commits on Sep 17, 2011
  1. @tsuna

    MySQL collectors: ignore search directories that don't exist.

    tsuna authored
    Change-Id: Ife9efeac5c600a6298e14699b5d96e69f8d06531
  2. @tsuna

    Fix a couple variable names broken in the last change.

    tsuna authored
    Yay for unsafe languages that blow up at the last minute.
    
    Change-Id: Ib445fb01ac4137eca3ed55ee1d9c227bbe3c5333
Commits on Sep 16, 2011
  1. @spark404 @tsuna

    IPv6 support: Use `getaddrinfo' to resolve the TSD's host.

    spark404 authored tsuna committed
    This way it works with IPv6 hosts and can work with DNS entries that
    have multiple A or AAAA records.
    
    Change-Id: I7f64ad730d98d732f8bef2f75576499e917a02bd
    Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Commits on Aug 21, 2011
  1. @tsuna

    Collect more internal metrics from InnoDB.

    tsuna authored tsuna committed
    Run `SHOW ENGINE INNODB STATUS' and parse the output to extract some
    of the metrics.  Some InnoDB metrics are exposed in SHOW GLOBAL STATUS,
    but many are not.
    
    This adds 14 new metrics for InnoDB.  We can add more in the future.
    
    Change-Id: Ib1458bfa939f2314bcb5c9c88fd2e4ac0fb10b5c
    Reviewed-by: Tony Landells <tony@stumbleupon.com>
    Tested-by: Benoit Sigoure <tsuna@stumbleupon.com>
    Reviewed-by: Benoit Sigoure <tsuna@stumbleupon.com>
  2. @tsuna

    Refresh the timestamp more frequently.

    tsuna authored tsuna committed
    This is in case a command takes a significant amount of time.
    
    Change-Id: I4758b220d7883f5815e0618dbcf474ba8c299c9b
  3. @tsuna

    Detect when the InnoDB engine is used.

    tsuna authored tsuna committed
    Change-Id: Id43513cef6af2d4a6e3b53ba6c48dc6894bd44fe
  4. @tsuna

    Fix the metric name used for InnoDB mutex locks.

    tsuna authored tsuna committed
    The metric name ought to be `mysql.innodb.locks'.
    
    Change-Id: I7297ab0822fc945d60fde5b8be849155b74557cd
Commits on Aug 17, 2011
  1. @tsuna

    Handle the output of "SHOW PROCESSLIST" from MySQL 5.5.

    tsuna authored tsuna committed
    New columns have been added in 5.5, just ignore them.
    
    Change-Id: Ia71339f7fd7b212c771736dee00e4dd676107889
Commits on Aug 16, 2011
  1. @tsuna

    Make sure there are no spaces in the `state' tag.

    tsuna authored tsuna committed
    Change-Id: I35a38605ccb5b5ac708a85f421d4c6a87a1d10f3
Commits on Aug 12, 2011
  1. @tsuna

    Add a basic collector for ElasticSearch.

    tsuna authored tsuna committed
    The collector comes with 38 metrics about ElasticSearch server instances
    as well as 8 additional cluster-wide metrics collected from the master
    node.  Most metrics are system-level metrics, because right now ES
    doesn't have many serving statistics.  We don't collect per-index
    metrics at this time, because many indices are named dynamically and
    we would need a way of canonicalizing index names.
    
    Change-Id: I7619b29fc7cb83450e478c3601760762dbd83ba5
    Tested-by: Benoit Sigoure <tsuna@stumbleupon.com>
    Reviewed-by: Tony Landells <tony@stumbleupon.com>
  2. @tsuna

    Add a collector for MySQL.

    tsuna authored
    The collector includes about 300 metrics about MySQL (when InnoDB
    is used).  Most metrics are collected through `SHOW GLOBAL STATUS'.
    
    The collector has a configuration file, `mysqlconf.py', in which
    the user / password to use to connect to MySQL must be specified.
    
    The collector has limited support for MySQL 5.0, because in that
    version of MySQL running the command `SHOW GLOBAL STATUS' has a
    big impact on the performance of the database.  Hopefully almost
    everyone uses at least MySQL 5.1 these days.
    
    Change-Id: If6042427f1701da3f5954c166a087c7996a86a1f
Commits on Jul 14, 2011
  1. @retr0h @tsuna

    Add the ability to pass additional tags with `startstop'.

    retr0h authored tsuna committed
    It may be necessary to pass additional tags when running tcollector.
    In our case we are monitoring host level OpenStack systems, and
    want to roll up into availability zones and hypervisor type.
    
    ./startstop start -t az=paloalto0 hv=kvm
    
    Change-Id: Id48e4442dd984cd670d4677bbd5f393368501621
    Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Commits on Jun 21, 2011
  1. @nikolaybotev @tsuna

    Fix issue #2 using ALIVE flag for graceful termination of threads.

    nikolaybotev authored tsuna committed
    Change-Id: I12e589820daa6809b122322c87534c2f1d7d5212
    Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Commits on Jun 17, 2011
  1. @tsuna

    Use '/' in tag values for mount points.

    Jari Takkala authored tsuna committed
    Implements OpenTSDB feature request #14.
    
    Change-Id: I566e45f7af3f38364c313b71d65447b74012e1bc
    Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
  2. @tsuna

    Allow `/' in metric names, tag keys and values.

    Jari Takkala authored tsuna committed
    Change-Id: Icc995a58c3e1275fb8985c67936c607f2c13247c
    Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
  3. @tsuna

    Evict old keys from the de-dup cache.

    tsuna authored
    For every combination of (metric, tags), collectors remember what was
    the last value they saw so that they can remove duplicate values (or,
    in the future, perform RLE encoding).  If there are loads of different
    combinations of (metric, tags) changing over time, this can lead to
    excessive memory consumption because old values are never evicted from
    this "de-dup cache".
    
    This change adds a flag, --evict-interval (set to 6000 seconds = 1h40m
    by default), to put an upper bound on how long a collector will remember
    the last value seen for a specific combination of (metric, tags).
    
    This change is based on a contribution of Kai Ren <kair at cs.cmu.edu>.
    
    Change-Id: I5b5b0b64e05b2f1f81b213e14117e029bfd25ba7
  4. @tsuna

    Simplify a call to pgrep.

    tsuna authored tsuna committed
    Change-Id: I949bf012e9864c0ded44d7fa06e8f4e22d6c892e
    Reviewed-on: https://review.stumble.net/2242
    Reviewed-by: Dave Barr <barr@stumbleupon.com>
    Tested-by: Benoit Sigoure <tsuna@stumbleupon.com>
  5. @davebarr @tsuna

    Fix restart in case pidfile is stale

    davebarr authored tsuna committed
    If the pidfile is stale, tcollector won't get restarted
    if the pid got reused.
    
    Don't do simplistic checks of the pid running but just
    always use the pgrep check.
    
    Removes blindly using the pidfile in stop() too.
    
    Should just get rid of using the pidfile, but currently
    it's required as part of tcollector.py.  The remaining
    use case is the forcerestart logic, but we could get
    the same functionality from looking at start time from
    /proc/PID
    
    Change-Id: I24b3fa0eb10332cac51e4d28a06ae030147b2c28
    Reviewed-on: https://review.stumble.net/2236
    Reviewed-by: Benoit Sigoure <tsuna@stumbleupon.com>
    Tested-by: Benoit Sigoure <tsuna@stumbleupon.com>
Something went wrong with that request. Please try again.