Lines Matching refs:trace
59 This will produce a binary trace file (perf.data) that %prog can analyse.
81 $ %prog --log=foo.log --trace=foo.data
453 """Descriptor of a structure in the binary trace log."""
471 def Read(self, trace, offset):
472 return self.ctype.from_buffer(trace, offset)
588 """Perf (linux-2.6/tools/perf) trace file reader."""
594 self.trace = mmap.mmap(self.trace_file.fileno(), 0, mmap.MAP_PRIVATE)
595 self.trace_header = TRACE_HEADER_DESC.Read(self.trace, 0)
597 print("Warning: unsupported trace header magic", file=sys.stderr)
600 assert self.limit <= self.trace.size(), \
601 "Trace data limit exceeds trace file size"
604 "No perf event attributes found in the trace"
605 perf_event_attr = PERF_EVENT_ATTR_DESC.Read(self.trace,
619 header = PERF_EVENT_HEADER_DESC.Read(self.trace, self.offset)
624 mmap_info = PERF_MMAP_EVENT_BODY_DESC.Read(self.trace,
627 filename = self.trace[offset + self.header_size + ctypes.sizeof(mmap_info):
633 mmap_info = PERF_MMAP2_EVENT_BODY_DESC.Read(self.trace,
636 filename = self.trace[offset + self.header_size + ctypes.sizeof(mmap_info):
642 sample = self.sample_event_body_desc.Read(self.trace,
650 self.ip_struct.from_buffer(self.trace, offset).value)
655 self.trace.close()
846 parser.add_option("--trace",
848 help="perf trace file name [default: %default]")
884 print("Perf trace file: %s" % options.trace)
914 # Process the code and trace logs.
917 trace_reader = TraceReader(options.trace)
976 print("%10d total trace events" % events)