Beispiel #1
0
def tracker_index():
    """Get tracker overview."""
    stats = server.stats
    if stats and stats.snapshots:
        stats.annotate()
        timeseries = []
        for cls in stats.tracked_classes:
            series = []
            for snapshot in stats.snapshots:
                series.append(snapshot.classes.get(cls, {}).get('sum', 0))
            timeseries.append((cls, series))

        series = [s.overhead for s in stats.snapshots]
        timeseries.append(("Profiling overhead", series))

        if stats.snapshots[0].system_total.data_segment:
            # Assume tracked data resides in the data segment
            series = [s.system_total.data_segment - s.tracked_total - s.overhead
                      for s in stats.snapshots]
            timeseries.append(("Data segment", series))
            series = [s.system_total.code_segment for s in stats.snapshots]
            timeseries.append(("Code segment", series))
            series = [s.system_total.stack_segment for s in stats.snapshots]
            timeseries.append(("Stack segment", series))
            series = [s.system_total.shared_segment for s in stats.snapshots]
            timeseries.append(("Shared memory", series))
        else:
            series = [s.total - s.tracked_total - s.overhead
                      for s in stats.snapshots]
            timeseries.append(("Other", series))
        timeseries = [dict(label=label, data=list(enumerate(data)))
                      for label, data in timeseries]
        return dict(snapshots=stats.snapshots, timeseries=dumps(timeseries))
    else:
        return dict(snapshots=[])
Beispiel #2
0
def tracker_index():
    """Get tracker overview."""
    stats = server.stats
    if stats and stats.snapshots:
        stats.annotate()
        timeseries = []
        for cls in stats.tracked_classes:
            series = []
            for snapshot in stats.snapshots:
                series.append(snapshot.classes.get(cls, {}).get('sum', 0))
            timeseries.append((cls, series))

        series = [s.overhead for s in stats.snapshots]
        timeseries.append(("Profiling overhead", series))

        if stats.snapshots[0].system_total.data_segment:
            # Assume tracked data resides in the data segment
            series = [
                s.system_total.data_segment - s.tracked_total - s.overhead
                for s in stats.snapshots
            ]
            timeseries.append(("Data segment", series))
            series = [s.system_total.code_segment for s in stats.snapshots]
            timeseries.append(("Code segment", series))
            series = [s.system_total.stack_segment for s in stats.snapshots]
            timeseries.append(("Stack segment", series))
            series = [s.system_total.shared_segment for s in stats.snapshots]
            timeseries.append(("Shared memory", series))
        else:
            series = [
                s.total - s.tracked_total - s.overhead for s in stats.snapshots
            ]
            timeseries.append(("Other", series))
        timeseries = [
            dict(label=label, data=list(enumerate(data)))
            for label, data in timeseries
        ]
        return dict(snapshots=stats.snapshots, timeseries=dumps(timeseries))
    else:
        return dict(snapshots=[])