def check_pprof_file(filename): with gzip.open(filename, "rb") as f: content = f.read() p = pprof_pb2.Profile() p.ParseFromString(content) assert len(p.sample_type) == 10 assert p.string_table[p.sample_type[0].type] == "cpu-samples"
def _build_profile(self, start_time_ns, duration_ns, period, sample_types, program_name): pprof_sample_type = [ pprof_pb2.ValueType(type=self._str(type_), unit=self._str(unit)) for type_, unit in sample_types ] sample = [ pprof_pb2.Sample( location_id=locations, value=[values.get(sample_type_name, 0) for sample_type_name, unit in sample_types], label=[pprof_pb2.Label(key=self._str(key), str=self._str(s)) for key, s in labels], ) for (locations, labels), values in sorted(six.iteritems(self._location_values), key=_ITEMGETTER_ZERO) ] period_type = pprof_pb2.ValueType(type=self._str("time"), unit=self._str("nanoseconds")) # WARNING: no code should use _str() here as once the _string_table is serialized below, # it won't be updated if you call _str later in the code here return pprof_pb2.Profile( sample_type=pprof_sample_type, sample=sample, mapping=[pprof_pb2.Mapping(id=1, filename=self._str(program_name),),], # Sort location and function by id so the output is reproducible location=sorted(self._locations.values(), key=_ATTRGETTER_ID), function=sorted(self._functions.values(), key=_ATTRGETTER_ID), string_table=list(self._string_table), time_nanos=start_time_ns, duration_nanos=duration_ns, period=period, period_type=period_type, )
def check_pprof_file( filename, # type: str ): # type: (...) -> None with gzip.open(filename, "rb") as f: content = f.read() p = pprof_pb2.Profile() p.ParseFromString(content) assert len(p.sample_type) == 11 assert p.string_table[p.sample_type[0].type] == "cpu-samples" assert len(p.sample) >= 1
def check_pprof_file(filename): with gzip.open(filename, "rb") as f: content = f.read() p = pprof_pb2.Profile() p.ParseFromString(content) if tracemalloc: if stack.FEATURES["stack-exceptions"]: assert len(p.sample_type) == 11 else: assert len(p.sample_type) == 10 else: assert len(p.sample_type) == 8 assert p.string_table[p.sample_type[0].type] == "cpu-samples"