summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
Diffstat (limited to 'tapset')
-rw-r--r--tapset/indent-default.stp1
-rw-r--r--tapset/indent.stp22
2 files changed, 23 insertions, 0 deletions
diff --git a/tapset/indent-default.stp b/tapset/indent-default.stp
new file mode 100644
index 00000000..fb9ff572
--- /dev/null
+++ b/tapset/indent-default.stp
@@ -0,0 +1 @@
+function __indent_timestamp() { return gettimeofday_us() }
diff --git a/tapset/indent.stp b/tapset/indent.stp
new file mode 100644
index 00000000..dface781
--- /dev/null
+++ b/tapset/indent.stp
@@ -0,0 +1,22 @@
+global _indent_counters, _indent_timestamps
+
+function _generic_indent (idx, delta)
+{
+ ts = __indent_timestamp ()
+ if (! _indent_counters[idx]) _indent_timestamps[idx] = ts
+
+ # pre-increment for positive delta and post-decrement for negative delta
+ x = _indent_counters[idx] + (delta > 0 ? delta : 0)
+ _indent_counters[idx] += delta
+
+ r = sprintf("%6d %s(%d):", (ts - _indent_timestamps[idx]),
+ execname(), tid())
+ for (i=1; i<x; i++) r .= " "
+
+ return r
+}
+
+function thread_indent (delta)
+{
+ return _generic_indent (tid(), delta)
+}