aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/function-trace.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/function-trace.cc')
-rw-r--r--src/libexpr/function-trace.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libexpr/function-trace.cc b/src/libexpr/function-trace.cc
new file mode 100644
index 000000000..af1486f78
--- /dev/null
+++ b/src/libexpr/function-trace.cc
@@ -0,0 +1,17 @@
+#include "function-trace.hh"
+
+namespace nix {
+
+FunctionCallTrace::FunctionCallTrace(const Pos & pos) : pos(pos) {
+ auto duration = std::chrono::high_resolution_clock::now().time_since_epoch();
+ auto ns = std::chrono::duration_cast<std::chrono::nanoseconds>(duration);
+ printMsg(lvlInfo, "function-trace entered %1% at %2%", pos, ns.count());
+}
+
+FunctionCallTrace::~FunctionCallTrace() {
+ auto duration = std::chrono::high_resolution_clock::now().time_since_epoch();
+ auto ns = std::chrono::duration_cast<std::chrono::nanoseconds>(duration);
+ printMsg(lvlInfo, "function-trace exited %1% at %2%", pos, ns.count());
+}
+
+}