MCPcopy Index your code
hub / github.com/nodejs/node / __init__

Method __init__

deps/v8/tools/profiling/ll_prof.py:599–622  ·  view source on GitHub ↗
(self, trace_name)

Source from the content-addressed store, hash-verified

597 assert _TRACE_HEADER_MAGIC_2 == 3622385352885552464
598
599 def __init__(self, trace_name):
600 self.trace_file = open(trace_name, "r")
601 self.trace = mmap.mmap(self.trace_file.fileno(), 0, mmap.MAP_PRIVATE)
602 self.trace_header = TRACE_HEADER_DESC.Read(self.trace, 0)
603 if self.trace_header.magic not in (self._TRACE_HEADER_MAGIC,
604 self._TRACE_HEADER_MAGIC_2):
605 print("Warning: unsupported trace header magic", file=sys.stderr)
606 self.offset = self.trace_header.data_offset
607 self.limit = self.trace_header.data_offset + self.trace_header.data_size
608 assert self.limit <= self.trace.size(), \
609 "Trace data limit exceeds trace file size"
610 self.header_size = ctypes.sizeof(PERF_EVENT_HEADER_DESC.ctype)
611 assert self.trace_header.attrs_size != 0, \
612 "No perf event attributes found in the trace"
613 perf_event_attr = PERF_EVENT_ATTR_DESC.Read(self.trace,
614 self.trace_header.attrs_offset)
615 self.sample_event_body_desc = self._SampleEventBodyDesc(
616 perf_event_attr.sample_type)
617 self.callchain_supported = \
618 (perf_event_attr.sample_type & PERF_SAMPLE_CALLCHAIN) != 0
619 self.ip_struct = None
620 if self.callchain_supported:
621 self.ip_struct = Descriptor.CTYPE_MAP[PERF_SAMPLE_EVENT_IP_FORMAT]
622 self.ip_size = ctypes.sizeof(self.ip_struct)
623
624 def ReadEventHeader(self):
625 if self.offset >= self.limit:

Callers

nothing calls this directly

Calls 5

_SampleEventBodyDescMethod · 0.95
openFunction · 0.50
printFunction · 0.50
ReadMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected