Record timing stats for devstack node launch.

Add success/error/timeout counts.  Per node-provider.

Change-Id: I59960c59383cde42f3141b394073ee1babccc844
This commit is contained in:
James E. Blair
2012-12-27 19:10:15 -08:00
parent 6e29ad7d6c
commit c45a80dc13

View File

@@ -26,6 +26,7 @@ import time
import paramiko
import traceback
import ConfigParser
from statsd import statsd
import myjenkins
import vmdatabase
@@ -127,6 +128,10 @@ def check_machine(jenkins, client, machine, error_counts):
machine.ip = ip
print "Machine %s is running, testing ssh" % machine.id
if utils.ssh_connect(ip, 'jenkins'):
dt = int((time.time() - machine.state_time) * 1000)
key = 'devstack.launch.%s' % machine.base_image.provider.name
statsd.timing(key, dt)
statsd.incr(key)
print "Adding machine %s to Jenkins" % machine.id
create_jenkins_node(jenkins, machine)
print "Machine %s is ready" % machine.id
@@ -140,9 +145,12 @@ def check_machine(jenkins, client, machine, error_counts):
server.status,
count)
if count >= 5:
statsd.incr('devstack.error.%s' % machine.base_image.provider.name)
raise Exception("Too many errors querying machine %s" % machine.id)
else:
if time.time() - machine.state_time >= ABANDON_TIMEOUT:
statsd.incr('devstack.timeout.%s' %
machine.base_image.provider.name)
raise Exception("Waited too long for machine %s" % machine.id)