Merge branch 'usage_json_body' of github.com:ramielrowe/stacktach into opt_migr_verif
This commit is contained in:
commit
a9c5ce87df
@ -218,12 +218,11 @@ INSTANCE_EVENT = {
|
||||
}
|
||||
|
||||
|
||||
def _process_usage_for_new_launch(raw):
|
||||
notif = json.loads(raw.json)
|
||||
payload = notif[1]['payload']
|
||||
def _process_usage_for_new_launch(raw, body):
|
||||
payload = body['payload']
|
||||
values = {}
|
||||
values['instance'] = payload['instance_id']
|
||||
values['request_id'] = notif[1]['_context_request_id']
|
||||
values['request_id'] = body['_context_request_id']
|
||||
|
||||
(usage, new) = STACKDB.get_or_create_instance_usage(**values)
|
||||
|
||||
@ -234,11 +233,10 @@ def _process_usage_for_new_launch(raw):
|
||||
STACKDB.save(usage)
|
||||
|
||||
|
||||
def _process_usage_for_updates(raw):
|
||||
notif = json.loads(raw.json)
|
||||
payload = notif[1]['payload']
|
||||
def _process_usage_for_updates(raw, body):
|
||||
payload = body['payload']
|
||||
instance_id = payload['instance_id']
|
||||
request_id = notif[1]['_context_request_id']
|
||||
request_id = body['_context_request_id']
|
||||
(usage, new) = STACKDB.get_or_create_instance_usage(instance=instance_id,
|
||||
request_id=request_id)
|
||||
|
||||
@ -256,9 +254,8 @@ def _process_usage_for_updates(raw):
|
||||
STACKDB.save(usage)
|
||||
|
||||
|
||||
def _process_delete(raw):
|
||||
notif = json.loads(raw.json)
|
||||
payload = notif[1]['payload']
|
||||
def _process_delete(raw, body):
|
||||
payload = body['payload']
|
||||
instance_id = payload['instance_id']
|
||||
deleted_at = utils.str_time_to_unix(payload['deleted_at'])
|
||||
values = {
|
||||
@ -276,9 +273,8 @@ def _process_delete(raw):
|
||||
STACKDB.save(delete)
|
||||
|
||||
|
||||
def _process_exists(raw):
|
||||
notif = json.loads(raw.json)
|
||||
payload = notif[1]['payload']
|
||||
def _process_exists(raw, body):
|
||||
payload = body['payload']
|
||||
instance_id = payload['instance_id']
|
||||
launched_at = utils.str_time_to_unix(payload['launched_at'])
|
||||
launched_range = (launched_at, launched_at+1)
|
||||
@ -287,7 +283,7 @@ def _process_exists(raw):
|
||||
delete = STACKDB.get_instance_delete(instance=instance_id,
|
||||
launched_at__range=launched_range)
|
||||
values = {}
|
||||
values['message_id'] = notif[1]['message_id']
|
||||
values['message_id'] = body['message_id']
|
||||
values['instance'] = instance_id
|
||||
values['launched_at'] = launched_at
|
||||
values['instance_type_id'] = payload['instance_type_id']
|
||||
@ -321,12 +317,12 @@ USAGE_PROCESS_MAPPING = {
|
||||
}
|
||||
|
||||
|
||||
def aggregate_usage(raw):
|
||||
def aggregate_usage(raw, body):
|
||||
if not raw.instance:
|
||||
return
|
||||
|
||||
if raw.event in USAGE_PROCESS_MAPPING:
|
||||
USAGE_PROCESS_MAPPING[raw.event](raw)
|
||||
USAGE_PROCESS_MAPPING[raw.event](raw, body)
|
||||
|
||||
|
||||
def process_raw_data(deployment, args, json_args):
|
||||
@ -353,7 +349,7 @@ def process_raw_data(deployment, args, json_args):
|
||||
STACKDB.save(record)
|
||||
|
||||
aggregate_lifecycle(record)
|
||||
aggregate_usage(record)
|
||||
aggregate_usage(record, body)
|
||||
return record
|
||||
|
||||
|
||||
|
@ -174,7 +174,7 @@ class StacktachRawParsingTestCase(unittest.TestCase):
|
||||
self.mox.StubOutWithMock(views, "aggregate_lifecycle")
|
||||
views.aggregate_lifecycle(raw)
|
||||
self.mox.StubOutWithMock(views, "aggregate_usage")
|
||||
views.aggregate_usage(raw)
|
||||
views.aggregate_usage(raw, dict)
|
||||
self.mox.ReplayAll()
|
||||
views.process_raw_data(deployment, args, json_args)
|
||||
self.mox.VerifyAll()
|
||||
@ -203,7 +203,7 @@ class StacktachRawParsingTestCase(unittest.TestCase):
|
||||
self.mox.StubOutWithMock(views, "aggregate_lifecycle")
|
||||
views.aggregate_lifecycle(raw)
|
||||
self.mox.StubOutWithMock(views, "aggregate_usage")
|
||||
views.aggregate_usage(raw)
|
||||
views.aggregate_usage(raw, dict)
|
||||
self.mox.ReplayAll()
|
||||
views.process_raw_data(deployment, args, json_args)
|
||||
self.mox.VerifyAll()
|
||||
@ -417,7 +417,7 @@ class StacktackUsageParsingTestCase(unittest.TestCase):
|
||||
.AndReturn((usage, True))
|
||||
views.STACKDB.save(usage)
|
||||
self.mox.ReplayAll()
|
||||
views._process_usage_for_new_launch(raw)
|
||||
views._process_usage_for_new_launch(raw, notif[1])
|
||||
self.assertEquals(usage.instance_type_id, '1')
|
||||
self.mox.VerifyAll()
|
||||
|
||||
@ -457,7 +457,7 @@ class StacktackUsageParsingTestCase(unittest.TestCase):
|
||||
views.STACKDB.save(usage)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
views._process_usage_for_updates(raw)
|
||||
views._process_usage_for_updates(raw, notif[1])
|
||||
self.assertEqual(usage.instance, INSTANCE_ID_1)
|
||||
self.assertEqual(usage.request_id, REQUEST_ID_1)
|
||||
self.assertEqual(usage.instance_type_id, '1')
|
||||
@ -510,7 +510,7 @@ class StacktackUsageParsingTestCase(unittest.TestCase):
|
||||
views.STACKDB.save(usage)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
views._process_usage_for_updates(raw)
|
||||
views._process_usage_for_updates(raw, notif[1])
|
||||
self.assertEqual(usage.instance, INSTANCE_ID_1)
|
||||
self.assertEqual(usage.request_id, REQUEST_ID_1)
|
||||
self.assertEqual(usage.instance_type_id, '1')
|
||||
@ -535,7 +535,7 @@ class StacktackUsageParsingTestCase(unittest.TestCase):
|
||||
views.STACKDB.save(usage)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
views._process_usage_for_updates(raw)
|
||||
views._process_usage_for_updates(raw, notif[1])
|
||||
self.assertEqual(usage.instance, INSTANCE_ID_1)
|
||||
self.assertEqual(usage.request_id, REQUEST_ID_1)
|
||||
self.assertEqual(usage.instance_type_id, '2')
|
||||
@ -565,7 +565,7 @@ class StacktackUsageParsingTestCase(unittest.TestCase):
|
||||
views.STACKDB.save(delete)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
views._process_delete(raw)
|
||||
views._process_delete(raw, notif[1])
|
||||
self.assertEqual(delete.instance, INSTANCE_ID_1)
|
||||
self.assertEqual(delete.launched_at, launch_decimal)
|
||||
self.assertEqual(delete.deleted_at, delete_decimal)
|
||||
@ -590,7 +590,7 @@ class StacktackUsageParsingTestCase(unittest.TestCase):
|
||||
views.STACKDB.save(delete)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
views._process_delete(raw)
|
||||
views._process_delete(raw, notif[1])
|
||||
self.assertEqual(delete.instance, INSTANCE_ID_1)
|
||||
self.assertEqual(delete.deleted_at, delete_decimal)
|
||||
self.mox.VerifyAll()
|
||||
@ -625,7 +625,7 @@ class StacktackUsageParsingTestCase(unittest.TestCase):
|
||||
views.STACKDB.create_instance_exists(**exists_values).AndReturn(exists)
|
||||
views.STACKDB.save(exists)
|
||||
self.mox.ReplayAll()
|
||||
views._process_exists(raw)
|
||||
views._process_exists(raw, notif[1])
|
||||
self.mox.VerifyAll()
|
||||
|
||||
def test_process_exists_with_deleted_at(self):
|
||||
@ -664,6 +664,6 @@ class StacktackUsageParsingTestCase(unittest.TestCase):
|
||||
views.STACKDB.create_instance_exists(**exists_values).AndReturn(exists)
|
||||
views.STACKDB.save(exists)
|
||||
self.mox.ReplayAll()
|
||||
views._process_exists(raw)
|
||||
views._process_exists(raw, notif[1])
|
||||
self.mox.VerifyAll()
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
# to set TENANT_ID and URL to point to your StackTach web server.
|
||||
|
||||
import datetime
|
||||
import json
|
||||
import kombu
|
||||
import kombu.entity
|
||||
import kombu.mixins
|
||||
@ -25,6 +24,14 @@ import logging
|
||||
import sys
|
||||
import time
|
||||
|
||||
try:
|
||||
import ujson as json
|
||||
except ImportError:
|
||||
try:
|
||||
import simplejson as json
|
||||
except ImportError:
|
||||
import json
|
||||
|
||||
from pympler.process import ProcessMemoryInfo
|
||||
|
||||
from stacktach import db, views
|
||||
|
Loading…
x
Reference in New Issue
Block a user