[PATCH] Create a function that indents without the tid()
Breno Leitao
leitao@linux.vnet.ibm.com
Thu Oct 1 01:26:00 GMT 2009
Frank,
Frank Ch. Eigler wrote:
> How about generalizing _generic_indent to also take the
> execname()/tid() as incoming parameters:
Yes. It works perfectly as you told.
Here is the patch, with some basic documentation:
---
diff --git a/tapset/indent.stp b/tapset/indent.stp
index dface78..1dbbebd 100644
--- a/tapset/indent.stp
+++ b/tapset/indent.stp
@@ -1,6 +1,6 @@
global _indent_counters, _indent_timestamps
-function _generic_indent (idx, delta)
+function _generic_indent (idx, desc, delta)
{
ts = __indent_timestamp ()
if (! _indent_counters[idx]) _indent_timestamps[idx] = ts
@@ -9,14 +9,26 @@ function _generic_indent (idx, delta)
x = _indent_counters[idx] + (delta > 0 ? delta : 0)
_indent_counters[idx] += delta
- r = sprintf("%6d %s(%d):", (ts - _indent_timestamps[idx]),
- execname(), tid())
+ r = sprintf("%6d %s:", (ts - _indent_timestamps[idx]), desc)
+
for (i=1; i<x; i++) r .= " "
return r
}
+/**
+ * sfunction thread_indent - returns an amount of space with the current task information
+ * @delta: the amount of space added/removed for each call
+ */
function thread_indent (delta)
{
- return _generic_indent (tid(), delta)
+ return _generic_indent (tid(), sprintf("%s(%d)", execname(), tid()), delta)
+}
+
+/**
+ * sfunction indent - returns an amount of space to indent
+ * @delta: the amount of space added/removed for each call
+ */
+function indent(delta){
+ return _generic_indent(-1, "", delta)
}
More information about the Systemtap
mailing list