Integrate the Exometer metrics package #465

Closed
wants to merge 40 commits into
from

Projects

None yet

3 participants

@uwiger
uwiger commented Dec 5, 2013

This PR is part of a set of PRs aimed at integrating the Exometer metrics package into Riak.

From our measurements so far, Exometer offers both better throughput and lower footprint than the previous metrics management, and at the same time offers more flexible and uniform handling and better extensibility.

In addition to maintaining the console command riak-admin status and the HTTP JSON report (which aim to be backwards-compatible), a new console command, riak-admin stat <cmd> has been added, for selective reporting of statistics as well as some management (ability to enable/disable metrics on the fly).

Other noteworthy changes:

  • Exometer entry names are always lists. In riak, only atoms and numbers should be used as list elements.
  • A top-level 'prefix' (default: riak) has been added, in order to differentiate between stats from different riak-style products (e.g. when reporting stats to collectd). The function riak_core_stat:prefix() is generated as a constant expression through the parse transform riak_core_stat_xform, which in its turn checks the OS env variable RIAK_CORE_STAT_PREFIX. A typical entry would thus be e.g. [riak,riak_kv,node,gets,siblings].
  • Internally in riak, stats are referred to symbolically using the same (tuple-based) names as before. These often refer to more than one low-level metric, so it seemed reasonable to keep this naming scheme.
  • Exometer provides similar functionality as 'sidejob' and the riak_core stat cache, so these are no longer used for stats management (although sidejob still maintains some stats on its own, which are accessible via Exometer). Other apps still register with riak_core_stat, but need not provide callbacks in other to query the stats. The query style of exometer is the same as that of riak_core_stat.
@jrwest
jrwest commented Mar 24, 2014

marked as 2.1 for same reason as #487 (comment)

@jrwest jrwest added this to the 2.1 milestone Mar 24, 2014
uwiger and others added some commits Aug 15, 2013
@uwiger uwiger added exometer & riak_exoport deps def619f
@uwiger uwiger integrated exometer bbd1ce4
@uwiger uwiger further exometer fixes 2a7258a
@uwiger uwiger find_entries() new return value d6ac01e
Ubuntu select only enabled metrics c875d96
@uwiger uwiger counter datapoint extraction in backwards_compat 464ceb3
@uwiger uwiger simplifications for exometer f954548
@uwiger uwiger integrated exometer 2aa8e34
@uwiger uwiger further exometer fixes 293a091
@uwiger uwiger find_entries() new return value 8ac5e5d
@uwiger uwiger Started adding console 'stat' commands a071bbd
@uwiger uwiger JSON stats fixed ddc8fd1
@uwiger uwiger remove debug printout f19e5e2
@uwiger uwiger Forgot prefix when updating stat 73603a8
@uwiger uwiger wrong git protocol for exometer.git 8b5cfaf
@uwiger uwiger export vnodeq_stats (for riak_kv_wm_stat) 64d69c2
@uwiger uwiger typo in vnodeq aggregate 7a1cea8
@uwiger uwiger testing after rebase 4753805
@uwiger uwiger undo erroneous rebase results c61a754
@uwiger uwiger added exometer & riak_exoport deps e3fb73b
@uwiger uwiger integrated exometer 187997e
@uwiger uwiger integrated exometer 8399ef3
@uwiger uwiger further exometer fixes 3ea742f
@uwiger uwiger further exometer fixes 4d943c2
@uwiger uwiger find_entries() new return value 2940ab0
@uwiger uwiger find_entries() new return value a730c2e
Ubuntu select only enabled metrics fbd3896
@uwiger uwiger counter datapoint extraction in backwards_compat 90f0808
@uwiger uwiger simplifications for exometer b38c39f
@uwiger uwiger Started adding console 'stat' commands 1e1d7f2
@uwiger uwiger JSON stats fixed eb08dc9
@uwiger uwiger remove debug printout 54a0af4
@uwiger uwiger Forgot prefix when updating stat ed6ada8
@uwiger uwiger wrong git protocol for exometer.git d824085
@uwiger uwiger export vnodeq_stats (for riak_kv_wm_stat) 102a84a
@uwiger uwiger typo in vnodeq aggregate e25b322
@uwiger uwiger testing after rebase 75ff57f
@uwiger uwiger undo erroneous rebase results 9ae73f4
@uwiger uwiger add vnode stats (exometer) 4e976a4
@uwiger uwiger Merge branch 'feuerlabs-exometer' of git://github.com/basho/riak_core…
… into feuerlabs-exometer
c51f5e5
@uwiger uwiger referenced this pull request Jul 29, 2014
Closed

use exometer metrics #616

@jburwell
jburwell commented Aug 1, 2014

This PR has been superseded by PR 616.

@jburwell jburwell closed this Aug 1, 2014
@seancribbs seancribbs deleted the feuerlabs-exometer branch Apr 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment