From 3de2aec7772fc8ed0a4c2ce8eab5b1e4b07ae407 Mon Sep 17 00:00:00 2001 From: Vipin Balachandran Date: Fri, 18 Nov 2016 14:05:48 +0530 Subject: [PATCH] Add exception to trace point details Adding exception raised by the method to its corresponding trace point details. Change-Id: I8bdaee1f4eaf8cd7875c5264519e03f2d04ea12a --- osprofiler/cmd/template.html | 2 +- osprofiler/drivers/base.py | 4 ++++ osprofiler/tests/drivers/test_ceilometer.py | 6 ++++-- osprofiler/tests/drivers/test_mongodb.py | 6 ++++-- osprofiler/tests/drivers/test_redis_driver.py | 6 ++++-- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/osprofiler/cmd/template.html b/osprofiler/cmd/template.html index 2006e0c..925978d 100644 --- a/osprofiler/cmd/template.html +++ b/osprofiler/cmd/template.html @@ -145,7 +145,7 @@ var trace_data = "
" columns = ["name", "project", "service", "host", "started", - "finished", "duration", "metadata"]; + "finished", "duration", "exception", "metadata"]; for (var i = 0; i < columns.length; i++){ trace_data += "
" + columns[i] + "
"; trace_data += "
" + info[columns[i]] + "
"; diff --git a/osprofiler/drivers/base.py b/osprofiler/drivers/base.py index b2db3ca..c9f883c 100644 --- a/osprofiler/drivers/base.py +++ b/osprofiler/drivers/base.py @@ -175,6 +175,10 @@ class Driver(object): if name.endswith("stop"): self.result[trace_id]["info"]["finished"] = timestamp + self.result[trace_id]["info"]["exception"] = "None" + if raw_payload and "info" in raw_payload: + exc = raw_payload["info"].get("etype", "None") + self.result[trace_id]["info"]["exception"] = exc else: self.result[trace_id]["info"]["started"] = timestamp diff --git a/osprofiler/tests/drivers/test_ceilometer.py b/osprofiler/tests/drivers/test_ceilometer.py index 10ccebe..0daf2fa 100644 --- a/osprofiler/tests/drivers/test_ceilometer.py +++ b/osprofiler/tests/drivers/test_ceilometer.py @@ -376,7 +376,8 @@ class CeilometerParserTestCase(test.TestCase): "name": "db", "project": "keystone", "service": "main", - "started": 56}, + "started": 56, + "exception": "None"}, "parent_id": "06320327-2c2c-45ae-923a-515de890276a", "trace_id": "1baf1d24-9ca9-4f4c-bd3f-01b7e0c0735a"} ], @@ -397,7 +398,8 @@ class CeilometerParserTestCase(test.TestCase): "name": "wsgi", "project": "keystone", "service": "main", - "started": 88}, + "started": 88, + "exception": "None"}, "parent_id": "7253ca8c-33b3-4f84-b4f1-f5a4311ddfa4", "trace_id": "016c97fd-87f3-40b2-9b55-e431156b694b"}], "info": {"finished": 88, "name": "total", "started": 0}, diff --git a/osprofiler/tests/drivers/test_mongodb.py b/osprofiler/tests/drivers/test_mongodb.py index 2168b7f..34f8d45 100644 --- a/osprofiler/tests/drivers/test_mongodb.py +++ b/osprofiler/tests/drivers/test_mongodb.py @@ -223,7 +223,8 @@ class MongoDBParserTestCase(test.TestCase): "name": "db", "project": "keystone", "service": "main", - "started": 56}, + "started": 56, + "exception": "None"}, "parent_id": "06320327-2c2c-45ae-923a-515de890276a", "trace_id": "1baf1d24-9ca9-4f4c-bd3f-01b7e0c0735a"}], @@ -269,7 +270,8 @@ class MongoDBParserTestCase(test.TestCase): "name": "wsgi", "project": "keystone", "service": "main", - "started": 41}, + "started": 41, + "exception": "None"}, "parent_id": "7253ca8c-33b3-4f84-b4f1-f5a4311ddfa4", "trace_id": "839ca3f1-afcb-45be-a4a1-679124c552bf"}, diff --git a/osprofiler/tests/drivers/test_redis_driver.py b/osprofiler/tests/drivers/test_redis_driver.py index 9fbc2e8..655c5d8 100644 --- a/osprofiler/tests/drivers/test_redis_driver.py +++ b/osprofiler/tests/drivers/test_redis_driver.py @@ -228,7 +228,8 @@ class RedisParserTestCase(test.TestCase): "name": "db", "project": "keystone", "service": "main", - "started": 56}, + "started": 56, + "exception": "None"}, "parent_id": "06320327-2c2c-45ae-923a-515de890276a", "trace_id": "1baf1d24-9ca9-4f4c-bd3f-01b7e0c0735a"}], @@ -274,7 +275,8 @@ class RedisParserTestCase(test.TestCase): "name": "wsgi", "project": "keystone", "service": "main", - "started": 41}, + "started": 41, + "exception": "None"}, "parent_id": "7253ca8c-33b3-4f84-b4f1-f5a4311ddfa4", "trace_id": "839ca3f1-afcb-45be-a4a1-679124c552bf"},