summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2019-02-28 12:27:28 +0100
committerDaniil Baturin <daniil@baturin.org>2019-04-14 10:52:43 +0200
commit1adac4e6afeeda3459b57fbab46bbf1c822cabd7 (patch)
tree1bde93d9eba640d7340458d14cf70019e1142cff
parent7de2cfdd667bd0a94f902f3a7fb97256702bebd0 (diff)
downloadvyatta-cfg-1adac4e6afeeda3459b57fbab46bbf1c822cabd7.tar.gz
vyatta-cfg-1adac4e6afeeda3459b57fbab46bbf1c822cabd7.zip
T1273: add rudimentary script profiling support.
-rw-r--r--src/cstore/cstore.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cstore/cstore.cpp b/src/cstore/cstore.cpp
index 02e04ba..4750ba0 100644
--- a/src/cstore/cstore.cpp
+++ b/src/cstore/cstore.cpp
@@ -2049,9 +2049,21 @@ Cstore::executeTmplActions(char *at_str, const Cpath& path,
var_ref_handle = (void *) this;
// const_cast for legacy code
+
+ std::time_t start_time = std::time(0);
+
bool ret = execute_list(const_cast<vtw_node *>(actions), def,
sdisp.c_str());
var_ref_handle = NULL;
+
+ char* debug_on = getenv("VYOS_DEBUG");
+ if (debug_on != NULL)
+ {
+ std::time_t stop_time = std::time(0);
+ unsigned long int exec_time = stop_time - start_time;
+ output_internal("Action for \"%s\" took %u seconds to execute\n", sdisp.c_str(), exec_time);
+ }
+
return ret;
}