Пример #1
0
    def test_groupby(self):
        record_aggregator = RecordAggregator()
        # Insert 3 throughputs
        record_aggregator.insert(PerfThroughput(5, timestamp=0))
        record_aggregator.insert(PerfThroughput(1, timestamp=1))
        record_aggregator.insert(PerfThroughput(10, timestamp=1))

        def groupby_criteria(record):
            return record.timestamp()

        records = record_aggregator.groupby([PerfThroughput], groupby_criteria)
        self.assertEqual(list(records[PerfThroughput]), [0, 1])
        self.assertEqual(
            list(records[PerfThroughput].values()),
            [PerfThroughput(5.0), PerfThroughput(10.0)])

        records = record_aggregator.groupby([PerfThroughput], groupby_criteria)
        self.assertEqual(list(records[PerfThroughput]), [0, 1])
        self.assertEqual(
            list(records[PerfThroughput].values()),
            [PerfThroughput(5.0), PerfThroughput(10.0)])
Пример #2
0
    def test_groupby(self):
        record_aggregator = RecordAggregator()
        # Insert 3 throughputs
        record_aggregator.insert(
            PerfThroughput("Throughput: 5 infer/sec\n\n\n\n", timestamp=0))
        record_aggregator.insert(
            PerfThroughput("Throughput: 1 infer/sec\n\n\n\n", timestamp=1))
        record_aggregator.insert(
            PerfThroughput("Throughput: 10 infer/sec\n\n\n\n", timestamp=1))

        def groupby_criteria(record):
            return record.timestamp()

        records = record_aggregator.groupby([PerfThroughput], groupby_criteria)
        self.assertTrue(list(records[PerfThroughput]) == [0, 1])
        self.assertTrue(list(records[PerfThroughput].values()) == [5.0, 10.0])

        records = record_aggregator.groupby([PerfThroughput],
                                            groupby_criteria,
                                            reduce_func=min)
        self.assertTrue(list(records[PerfThroughput]) == [0, 1])
        self.assertTrue(list(records[PerfThroughput].values()) == [5.0, 1.0])