Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Nov 13, 2012
  1. Version 0.1.3

  2. Try to fix travis. :(

  3. lein pkg task

  4. Add tar task

  5. Tune JVM opts.

    Add compressed object pointers, drop -d64, port to pkg/ scripts.
  6. Replace localhost with

    Stop confusing users with ipv6 jvms.
  7. Merge pull request #60 from jib/bin-exec

    * this should exec, rather than launch a subprocess. this way it works n...
  8. * this should exec, rather than launch a subprocess. this way it work…

    Jos Boumans authored
    …s nicely under supervisor, etc
Commits on Nov 11, 2012
  1. Clarify the relationship between where, where-event, and match.

    (where expr) rewrites expr in complex ways, as well as binding
    symbols like 'event, 'metric, and 'state. In cases where you want to
    write a predicate without symbol capture, (where-event event-name expr)
    allowed you to bind the event to an arbitrary symbol inside expr.
    We already have a system for binding variables in scope: function
    arguments. We also have a large library of functions which take events
    and return truthy values. It made sense to consolidate these two into a
    new stream: (where* f), which takes a *function* of an event instead of
    an expression. (where*) does not rewrite its arguments, except to
    provide (where)'s (else ...) blocks.
    (where-event) is gone; (where*) provides all its functionality in a more
    composable way.
    (match) has been underappreciated for a while now. I've made it more
    powerful by using the new Match protocol in riemann.common, which allows
    it to apply functions, regexes, sets, and values as predicates for
    matching aspects of an event. It should be a solid complement to
    (where) with these changes.
Commits on Nov 10, 2012
  1. streams/tagged-all and tagged-any take strings now, too.

    Their documentation lied! Now, (tagged-all "cat" prn) works the same as
    (tagged-all ["cat"] prn).
  2. streams/adjust is no longer a multimethod.

    Also document that streams/smap is to be preferred to adjust's
    functional form.
  3. Document streams/tagged

  4. Remove trailing whitespace.

  5. (where predicate ... (else ...))

    (where used to work like (when), passing events which matched predicate
    to each child and doing nothing when events did not match. Now, children
    inside one (or more) expressions wrapped in (else) receive events which
    *do not* match predicate. For instance:
    (where (metric < 500)
      (with :state "ok" index)
        (with :state "warning" index)
        (email "")))
  6. streams/where uses new Match protocol for matching values.

    This lets it match regular expressions, functions, and objects against
    events efficiently at runtime instead of compile-time. This allows the
    use of variables in where predicates.
  7. test.pool: fix a timing bug.

    with-pool-test needs time to allow the pool to regenerate.
  8. test.streams/rate-fast: try to track down a bug on travis-ci.

    There's some sort of errror that only manifests on travis-ci; hoping
    this extra assertion will help figure it out.
  9. riemann.graphite uses riemann.pool

    This should fix the reconnection and liveness issues with the old socket
    system and provide the higher throughput of the
    arrayblockingqueue-of-sockets implementation. Also makes the code much
    simpler. Tests with graphite, both automated and live, show resilience
    to transient and long-running failures, including flapping.
  10. Add riemann.pool: a mutable resource pool.

    Where side effects matter, like working with sockets, riemann.pool
    provides a fixed-size resource pool which automatically retries and
    yields resources with adjustable timeouts.
Commits on Nov 9, 2012
  1. Merge pull request #50 from jib/log-to-stdout

    * mention how to do it on windows as well
  2. * mention how to do it on windows as well

    Jos Boumans authored
  3. Merge pull request #48 from jib/log-to-stdout

    * document how to log to stdout
Something went wrong with that request. Please try again.