From 272792ef582077ff2b9e681ec5b61f251994e16d Mon Sep 17 00:00:00 2001 From: Kun Huang Date: Wed, 4 Nov 2015 00:23:47 +0800 Subject: [PATCH] add model save tracer Change-Id: Idf8e264a4328acdca0fa435f6d9b9b346a2152d4 --- scalpels/agents/base.py | 16 +++++++++++----- scalpels/cli/actions/start.py | 1 + scripts/model-save.stp | 14 ++++++++++++++ 3 files changed, 26 insertions(+), 5 deletions(-) create mode 100755 scripts/model-save.stp diff --git a/scalpels/agents/base.py b/scalpels/agents/base.py index d90c7f0..520301c 100644 --- a/scalpels/agents/base.py +++ b/scalpels/agents/base.py @@ -66,6 +66,13 @@ def parse_rabbit(out): "data": out} return (rbt_ret, ) +def _parse_count_stream(out, name): + ret = {"name": name, + "unit": "count", + "rtype": "stream", + "data": out} + return (ret, ) + def parse_oslolock(out): """ in: @@ -77,8 +84,7 @@ def parse_oslolock(out): unit: Count data: [(ts, 0), ...) """ - ret = {"name": "Oslo-Lock", - "unit": "count", - "rtype": "stream", - "data": out} - return (ret, ) + return _parse_count_stream(out, "Oslo-Lock") + +def parse_modelsave(out): + return _parse_count_stream(out, "Model-Save") diff --git a/scalpels/cli/actions/start.py b/scalpels/cli/actions/start.py index 27826aa..f182893 100644 --- a/scalpels/cli/actions/start.py +++ b/scalpels/cli/actions/start.py @@ -41,6 +41,7 @@ agents_map = { "rpc": "bash %s/port-input-traffic.sh 5672", "traffic": "bash %s/device-input-traffic.sh eth0", "oslolock": "stap %s/oslo-lock.stp", # with sudo, need add current user to stapdev group + "modelsave": "stap %s/model-save.stp", # with sudo, need add current user to stapdev group } def run(config): diff --git a/scripts/model-save.stp b/scripts/model-save.stp new file mode 100755 index 0000000..85e2e99 --- /dev/null +++ b/scripts/model-save.stp @@ -0,0 +1,14 @@ +#!/usr/bin/stap + +global count = 0; +global old_count = 0; +probe python.function.entry { + if ((funcname == "save") && isinstr(filename, "oslo_db/sqlalchemy/models.py") ) { + count = count + 1; + } +} +probe timer.ms(1000) { + new_count = count - old_count; + printf("%d\n", new_count); + old_count = count; +}