(POOLER-34) Ship clone request to ready time to metrics (#277)

* (POOLER-34) Ship clone request to ready time to metrics

Before, we were already capturing this metric but we failed to ship
it anywhere. This ships the appropriate metric as `time_to_ready_state`
Dashboards can be found in grafana.

* Add spec test to ensure metric is being shipped properly on
move_pending_vm_to_ready call.
This commit is contained in:
Spencer McElmurry 2018-07-09 16:22:49 -07:00 committed by mattkirby
parent 1910cffaf7
commit a865e6bd2f
2 changed files with 9 additions and 1 deletions

View file

@ -102,7 +102,7 @@ module Vmpooler
# last boot time is displayed in API, and used by alarming script
$redis.hset('vmpooler__lastboot', pool, Time.now)
$metrics.timing("time_to_ready_state.#{pool}", finish)
$logger.log('s', "[>] [#{pool}] '#{vm}' moved from 'pending' to 'ready' queue")
end
end

View file

@ -217,6 +217,14 @@ EOT
subject.move_pending_vm_to_ready(vm, pool, host)
end
it 'should receive time_to_ready_state metric' do
redis.hset("vmpooler__vm__#{vm}", 'clone',Time.now.to_s)
expect(metrics).to receive(:timing).with(/time_to_ready_state\./,/0/)
subject.move_pending_vm_to_ready(vm, pool, host)
end
it 'should set the boot time in redis' do
redis.hset("vmpooler__vm__#{vm}", 'clone',Time.now.to_s)
expect(redis.hget('vmpooler__boot__' + Date.today.to_s, pool + ':' + vm)).to be_nil