Exemplo n.º 1
0
def write_profiles(main_thread_profile):
    if cprofiler_stats is None:
        return

    from pyLibrary import convert
    from mo_files import File

    cprofiler_stats.add(pstats.Stats(main_thread_profile.cprofiler))
    stats = cprofiler_stats.pop_all()

    Log.note("aggregating {{num}} profile stats", num=len(stats))
    acc = stats[0]
    for s in stats[1:]:
        acc.add(s)

    stats = [{
        "num_calls": d[1],
        "self_time": d[2],
        "total_time": d[3],
        "self_time_per_call": d[2] / d[1],
        "total_time_per_call": d[3] / d[1],
        "file": (f[0] if f[0] != "~" else "").replace("\\", "/"),
        "line": f[1],
        "method": f[2].lstrip("<").rstrip(">")
    } for f, d, in iteritems(acc.stats)]
    stats_file = File(FILENAME,
                      suffix=convert.datetime2string(datetime.now(),
                                                     "_%Y%m%d_%H%M%S"))
    stats_file.write(convert.list2tab(stats))
    Log.note("profile written to {{filename}}", filename=stats_file.abspath)
Exemplo n.º 2
0
def write_profiles(main_thread_profile):
    if cprofiler_stats is None:
        return

    from pyLibrary import convert
    from mo_files import File

    cprofiler_stats.add(pstats.Stats(main_thread_profile.cprofiler))
    stats = cprofiler_stats.pop_all()

    Log.note("aggregating {{num}} profile stats", num=len(stats))
    acc = stats[0]
    for s in stats[1:]:
        acc.add(s)

    stats = [
        {
            "num_calls": d[1],
            "self_time": d[2],
            "total_time": d[3],
            "self_time_per_call": d[2] / d[1],
            "total_time_per_call": d[3] / d[1],
            "file": (f[0] if f[0] != "~" else "").replace("\\", "/"),
            "line": f[1],
            "method": f[2].lstrip("<").rstrip(">")
        }
        for f, d, in iteritems(acc.stats)
    ]
    stats_file = File(FILENAME, suffix=convert.datetime2string(datetime.now(), "_%Y%m%d_%H%M%S"))
    stats_file.write(convert.list2tab(stats))
    Log.note("profile written to {{filename}}", filename=stats_file.abspath)
Exemplo n.º 3
0
 def iteritems(self):
     # LOW LEVEL ITERATION, NO WRAPPING
     d = self._internal_dict
     return ((k, wrap(v)) for k, v in iteritems(d))
Exemplo n.º 4
0
 def iteritems(self):
     # LOW LEVEL ITERATION, NO WRAPPING
     d = self._internal_dict
     return ((k, wrap(v)) for k, v in iteritems(d))
Exemplo n.º 5
0
 def pop(self):
     output = iteritems(self._data).next()[1]
     self.remove(output)
     return wrap(output)
Exemplo n.º 6
0
 def pop(self):
     output = first(iteritems(self._data))[1]
     self.remove(output)
     return wrap(output)
Exemplo n.º 7
0
 def pop(self):
     output = iteritems(self._data).next()[1]
     self.remove(output)
     return wrap(output)