Permalink
Commits on Aug 8, 2016
  1. Merge pull request #21 from github/namespace

    Namespace under GitHub
    jnunemaker committed on GitHub Aug 8, 2016
  2. Remove temporary file

    No longer needed.
    jnunemaker committed Aug 8, 2016
Commits on Aug 5, 2016
Commits on Aug 2, 2016
Commits on Aug 1, 2016
  1. Just check for decimals instead of exactly 3

    When checking 3 explicitly we sometimes get failures because 1.1.to_s is "1.1" instead of "1.10".
    
    According to vmg, one or more should be fine and we want more than 2 points of precision, so it is better to change the test than the implementation.
    jnunemaker committed Aug 1, 2016
  2. Move Statsd into GitHub module

    To avoid collision with other top level Statsd classes.
    
    Also gets the specs passing again and adds a gemfile to make it easier to work on.
    jnunemaker committed Aug 1, 2016
Commits on Jan 19, 2016
  1. Merge pull request #18 from github/vmg/buffered

    Buffered multi-metric packets
    vmg committed Jan 19, 2016
Commits on Jan 13, 2016
  1. Add flush count statistics

    vmg committed Jan 13, 2016
  2. statsd: Allow buffering for the clients

    The new `Buffer` wrapper allow wrapping any UDP clients in a "buffering
    mode" that batches incoming metrics into a buffer and eventually flushes
    them to the statsd-compatible server.
    
    The receiving server *must* support the multi-metric StatsD protocol
    (namely, parsing several metrics in the same packet, separated by
    newlines). Both the original StatsD and now Brubeck support this. By
    sending several metrics in a single packet, we reduce the amount of
    network operations (both in the client and the server) and the amount of
    context switches to the kernel UDP stack, significantly increasing the
    throughput of the server implementation.
    
    The default maximum packet size has been set at 512 bytes, which is a
    "safe size" to reliably transmit an atomic packet through the internet:
    The MTU on the internet is 576, and the size of the IPv4 header is 20
    bytes, and the UDP header 8 bytes.  This leaves 548 bytes available for
    user data. We cap it at 512 to add some headspace (most other UDP-based
    protocols, such as DNS, do the same thing).
    vmg committed Jan 12, 2016
Commits on Jan 12, 2016
  1. statsd: Abstract the Secure Client

    All the secure client implementation has been moved into the
    SecureUDPClient class; the `StatsD` core no longer has any
    secure-related features. Hence, the secure client must be initialized
    directly with the shared key, or with `StatsD#add_shard`, which has been
    updated to transparently forward its arguments to the client
    constructor.
    
    The hashing/HMAC is now performed right before writing to the socket,
    which allows for greater composability.
    vmg committed Jan 12, 2016
Commits on Sep 29, 2015
  1. Merge pull request #17 from github/vmg/fast

    Merge vmg/fast into master
    aroben committed Sep 29, 2015
  2. Merge pull request #16 from github/reduce-allocations

    Reduce allocations when sending metrics
    aroben committed Sep 29, 2015
  3. Get rid of COLON_COLON_REGEX constant

    According to @charliesome this is no more efficient than using the literal inline.
    aroben committed Sep 29, 2015
Commits on Sep 25, 2015
  1. Build up message string incrementally

    This saves one String allocation per recorded metric.
    aroben committed Sep 25, 2015
  2. Use frozen strings for cleaning metric names

    This saves two String allocations per recorded metric.
    aroben committed Sep 25, 2015
  3. Use a regex for replacing :: in metric names

    This saves two String allocations per recorded metric.
    aroben committed Sep 25, 2015
  4. Use #gsub! instead of #gsub to clean up metric names

    This saves one String allocation per recorded metric.
    aroben committed Sep 25, 2015
  5. Precompute the namespace prefix

    This saves one String allocation per recorded metric.
    aroben committed Sep 25, 2015
  6. Freeze metric type strings

    This saves one String allocation per recorded metric.
    aroben committed Sep 25, 2015
Commits on May 7, 2015
  1. Merge pull request #15 from github/charliesome/ipv6

    Use addrinfo to find correct address family to create socket with
    vmg committed May 7, 2015
Commits on May 5, 2015
  1. Add reader

    vmg committed May 5, 2015
  2. Connect dat UDP socket

    vmg committed May 5, 2015
Commits on Apr 1, 2015
  1. Merge pull request #14 from github/avoid-openssl

    Avoid loading openssl + securerandom unless needed
    rtomayko committed Apr 1, 2015
Commits on Mar 31, 2015
  1. Also shouldn't need extended 'time' module stuff here

    Time.now is built in. Loading the time library adds some stuff like
    Time#iso8601 but doesn't seem to be used here.
    rtomayko committed Mar 31, 2015
Commits on Feb 9, 2015
  1. Merge pull request #13 from github/add-histogram

    Add histogram method
    keithduncan committed Feb 9, 2015
Commits on Jan 24, 2015
  1. Bump version

    keithduncan committed Jan 24, 2015
  2. Add histogram method

    keithduncan committed Jan 24, 2015
Commits on Jan 21, 2015
  1. Merge pull request #12 from github/vmg/shard

    Shard between different hosts on demand
    vmg committed Jan 21, 2015
Commits on Jan 20, 2015
  1. Ooops...

    vmg committed Jan 20, 2015
  2. Bump version again

    vmg committed Jan 20, 2015
  3. Version bump

    vmg committed Jan 20, 2015
  4. Add optional ports

    vmg committed Jan 20, 2015