working on incremental kpi

This commit is contained in:
Sandy Walsh
2012-11-07 11:57:26 -04:00
parent 6b0fa8a317
commit eaf0fe7d11
3 changed files with 25 additions and 1 deletions

View File

@@ -76,3 +76,13 @@ class Timing(models.Model):
end_when = models.DecimalField(null=True, max_digits=20, decimal_places=6)
diff = models.DecimalField(null=True, max_digits=20, decimal_places=6)
class RequestTracker(models.Model):
request_id = models.CharField(max_length=50, db_index=True)
class RequestEvents(models.Model):
request_tracker = models.ForeignKey(RequestTracker)
raw = models.ForeignKey(RawData, related_name='+')
when = models.DecimalField(max_digits=20, decimal_places=6)

View File

@@ -280,7 +280,7 @@ def do_watch(request, deployment_id):
def do_kpi(request):
yesterday = datetime.datetime.now() - datetime.timedelta(days=1)
yesterday = datetime.datetime.utcnow() - datetime.timedelta(days=1)
events = models.RawData.objects.exclude(instance=None) \
.exclude(when__lt=yesterday) \

View File

@@ -74,6 +74,20 @@ HANDLERS = {'monitor.info':_monitor_message,
'':_compute_update_message}
def kpi(raw):
if raw.event == "compute.instance.update":
if "api" in e.host:
activities = instance_map.get(e.instance, [])
activities.append((e.request_id, e, None))
instance_map[e.instance] = activities
return
if not e.event.endswith(".end"):
return
def aggregate(raw):
"""Roll up the raw event into a Lifecycle object
and a bunch of Timing objects.