lkml.org 
[lkml]   [2008]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[RFC PATCH 20/30 v3] Add timestamps to tracer
Add timestamps to trace entries.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
lib/tracing/tracer.c | 16 ++++++++++++++++
lib/tracing/tracer.h | 1 +
2 files changed, 17 insertions(+)

Index: linux-compile.git/lib/tracing/tracer.c
===================================================================
--- linux-compile.git.orig/lib/tracing/tracer.c 2008-01-14 13:14:13.000000000 -0500
+++ linux-compile.git/lib/tracing/tracer.c 2008-01-14 14:57:41.000000000 -0500
@@ -19,12 +19,18 @@
#include <linux/percpu.h>
#include <linux/debugfs.h>
#include <linux/kallsyms.h>
+#include <linux/clocksource.h>
#include <linux/uaccess.h>
#include <linux/mcount.h>

#include "tracer.h"
#include "tracer_interface.h"

+static inline notrace cycle_t now(void)
+{
+ return get_monotonic_cycles();
+}
+
static struct mctracer_trace mctracer_trace;
static DEFINE_PER_CPU(struct mctracer_trace_cpu, mctracer_trace_cpu);
static int trace_enabled __read_mostly;
@@ -58,6 +64,7 @@ mctracer_add_trace_entry(struct mctracer
entry->ip = ip;
entry->parent_ip = parent_ip;
entry->pid = tsk->pid;
+ entry->t = now();
memcpy(entry->comm, tsk->comm, TASK_COMM_LEN);
}

@@ -250,6 +257,15 @@ static int s_show(struct seq_file *m, vo
if (iter->ent == NULL) {
seq_printf(m, "mctracer:\n");
} else {
+ unsigned long long t;
+ unsigned long usec_rem;
+ unsigned long secs;
+
+ t = cycles_to_usecs(iter->ent->t);
+ usec_rem = do_div(t, 1000000ULL);
+ secs = (unsigned long)t;
+
+ seq_printf(m, "[%5lu.%06lu] ", secs, usec_rem);
seq_printf(m, "CPU %d: ", iter->cpu);
seq_printf(m, "%s:%d ", iter->ent->comm, iter->ent->pid);
seq_print_ip_sym(m, iter->ent->ip, sym_only);
Index: linux-compile.git/lib/tracing/tracer.h
===================================================================
--- linux-compile.git.orig/lib/tracing/tracer.h 2008-01-14 13:14:13.000000000 -0500
+++ linux-compile.git/lib/tracing/tracer.h 2008-01-14 14:57:41.000000000 -0500
@@ -5,6 +5,7 @@
#include <linux/sched.h>

struct mctracer_entry {
+ unsigned long long t;
unsigned long idx;
unsigned long ip;
unsigned long parent_ip;
--


\
 
 \ /
  Last update: 2008-01-15 22:03    [W:0.154 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site