diff --git a/example.coffee b/example.coffee index 714e014..c0318d9 100644 --- a/example.coffee +++ b/example.coffee @@ -71,6 +71,10 @@ c.machines (err, val) -> c.leader (err, val) -> console.log err, val +# Statistics (leader and self) +c.statsLeader (err, val) -> console.log err, val +c.statsSelf (err, val) -> console.log err, val + ## SSL Support diff --git a/package.json b/package.json index 19f6779..208aa32 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-etcd", - "version": "0.3.0", + "version": "0.4.0", "description": "etcd library for node.js", "licenses": [ { diff --git a/src/index.coffee b/src/index.coffee index 2855119..dbb39d5 100644 --- a/src/index.coffee +++ b/src/index.coffee @@ -82,6 +82,16 @@ class Etcd opt = @_prepareOpts "leader", "" request.get opt, @_responseHandler callback + # Get statistics about the leader + statsLeader: (callback) -> + opt = @_prepareOpts "stats/leader" + request.get opt, @_responseHandler callback + + # Get statistics about the currently connected entity + statsSelf: (callback) -> + opt = @_prepareOpts "stats/self" + request.get opt, @_responseHandler callback + # Get version of etcd version: (callback) -> opt = @_prepareOpts "", "" diff --git a/test/index.coffee b/test/index.coffee index 69de628..bb1605a 100644 --- a/test/index.coffee +++ b/test/index.coffee @@ -90,6 +90,16 @@ describe 'Basic functions', () -> getNock().get('/leader').reply(200, '{"value":"value"}') etcd.leader checkVal done + describe '#statsLeader()', () -> + it 'should ask etcd for statistics for leader', (done) -> + getNock().get('/v1/stats/leader').reply(200, '{"value":"value"}') + etcd.statsLeader checkVal done + + describe '#statsSelf()', () -> + it 'should ask etcd for statistics for connected server', (done) -> + getNock().get('/v1/stats/self').reply(200, '{"value":"value"}') + etcd.statsSelf checkVal done + describe '#version()', () -> it 'should ask etcd for version', (done) -> getNock().get('/').reply(200, 'etcd v0.1.0-8-gaad1626')