def test_latency_stats_invalid_tag_shape(self): with self.assertRaisesRegexp( ValueError, 'Shape must be rank 0 but is rank 1'): self.run_core_tests( lambda: dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats(["record_latency", "record_latency_2"])), None, 100)
def test_latency_stats_invalid_tag_shape(self): with self.assertRaisesRegexp(ValueError, 'Shape must be rank 0 but is rank 1'): self.run_core_tests( lambda: dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats( ["record_latency", "record_latency_2"])), None, 100)
def testMultipleIteratorsSameAggregator(self): dataset = dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats("record_latency")) iterator_0 = dataset.make_initializable_iterator() iterator_1 = dataset.make_initializable_iterator() stats_aggregator = stats_ops.StatsAggregator() stats_aggregator_subscribers = [ stats_aggregator.subscribe(iterator_0), stats_aggregator.subscribe(iterator_1) ] next_element = iterator_0.get_next() + iterator_1.get_next() summary_t = stats_aggregator.get_summary() with self.test_session() as sess: sess.run([ iterator_0.initializer, iterator_1.initializer, stats_aggregator_subscribers ]) for i in range(100): self.assertEqual(i * 2, sess.run(next_element)) self._assertSummaryHasCount(sess.run(summary_t), "record_latency", float(2 * (i + 1))) with self.assertRaises(errors.OutOfRangeError): sess.run(next_element) self._assertSummaryHasCount(sess.run(summary_t), "record_latency", 200.0)
def testRepeatedTags(self): stats_aggregator = stats_ops.StatsAggregator() dataset = dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats("record_latency")).apply( stats_ops.latency_stats("record_latency")).apply( stats_ops.set_stats_aggregator(stats_aggregator)) iterator = dataset.make_initializable_iterator() next_element = iterator.get_next() summary_t = stats_aggregator.get_summary() with self.test_session() as sess: sess.run(iterator.initializer) for i in range(100): self.assertEqual(i, sess.run(next_element)) self._assertSummaryHasCount( sess.run(summary_t), "record_latency", float(2 * (i + 1))) with self.assertRaises(errors.OutOfRangeError): sess.run(next_element) self._assertSummaryHasCount(sess.run(summary_t), "record_latency", 200.0)
def testRepeatedTags(self): stats_aggregator = stats_ops.StatsAggregator() dataset = dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats("record_latency")).apply( stats_ops.latency_stats("record_latency")).apply( stats_ops.set_stats_aggregator(stats_aggregator)) iterator = dataset.make_initializable_iterator() next_element = iterator.get_next() summary_t = stats_aggregator.get_summary() with self.test_session() as sess: sess.run(iterator.initializer) for i in range(100): self.assertEqual(i, sess.run(next_element)) self._assertSummaryHasCount( sess.run(summary_t), "record_latency", float(2 * (i + 1))) with self.assertRaises(errors.OutOfRangeError): sess.run(next_element) self._assertSummaryHasCount(sess.run(summary_t), "record_latency", 200.0)
def testNoAggregatorRegistered(self): dataset = dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats("record_latency")) iterator = dataset.make_initializable_iterator() next_element = iterator.get_next() with self.test_session() as sess: sess.run(iterator.initializer) for i in range(100): self.assertEqual(i, sess.run(next_element)) with self.assertRaises(errors.OutOfRangeError): sess.run(next_element)
def testNoAggregatorRegistered(self): dataset = dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats("record_latency")) iterator = dataset.make_initializable_iterator() next_element = iterator.get_next() with self.test_session() as sess: sess.run(iterator.initializer) for i in range(100): self.assertEqual(i, sess.run(next_element)) with self.assertRaises(errors.OutOfRangeError): sess.run(next_element)
def testMultipleStatsAggregatorsSameIteratorFail(self): dataset = dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats("record_latency")) iterator = dataset.make_initializable_iterator() stats_aggregator_0 = stats_ops.StatsAggregator() stats_aggregator_1 = stats_ops.StatsAggregator() with self.test_session() as sess: sess.run(stats_aggregator_0.subscribe(iterator)) # TODO (mrry): Consider making this allowable (and also allowing id:580 gh:581 # aggregators to unsubscribe). with self.assertRaises(errors.FailedPreconditionError): sess.run(stats_aggregator_1.subscribe(iterator))
def testMultipleStatsAggregatorsSameIteratorFail(self): dataset = dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats("record_latency")) iterator = dataset.make_initializable_iterator() stats_aggregator_0 = stats_ops.StatsAggregator() stats_aggregator_1 = stats_ops.StatsAggregator() with self.test_session() as sess: sess.run(stats_aggregator_0.subscribe(iterator)) # TODO(mrry): Consider making this allowable (and also allowing # aggregators to unsubscribe). with self.assertRaises(errors.FailedPreconditionError): sess.run(stats_aggregator_1.subscribe(iterator))
def testMultipleTags(self): dataset = dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats("record_latency")).apply( stats_ops.latency_stats("record_latency_2")) iterator = dataset.make_initializable_iterator() stats_aggregator = stats_ops.StatsAggregator() stats_aggregator_subscriber = stats_aggregator.subscribe(iterator) next_element = iterator.get_next() summary_t = stats_aggregator.get_summary() with self.test_session() as sess: sess.run([iterator.initializer, stats_aggregator_subscriber]) for i in range(100): self.assertEqual(i, sess.run(next_element)) self._assertSummaryHasCount( sess.run(summary_t), "record_latency", float(i + 1)) self._assertSummaryHasCount( sess.run(summary_t), "record_latency_2", float(i + 1)) with self.assertRaises(errors.OutOfRangeError): sess.run(next_element) self._assertSummaryHasCount(sess.run(summary_t), "record_latency", 100.0) self._assertSummaryHasCount( sess.run(summary_t), "record_latency_2", 100.0)
def testMultipleIteratorsSameAggregator(self): stats_aggregator = stats_ops.StatsAggregator() dataset = dataset_ops.Dataset.range(100).apply( stats_ops.latency_stats("record_latency")).apply( stats_ops.set_stats_aggregator(stats_aggregator)) iterator_0 = dataset.make_initializable_iterator() iterator_1 = dataset.make_initializable_iterator() next_element = iterator_0.get_next() + iterator_1.get_next() summary_t = stats_aggregator.get_summary() with self.cached_session() as sess: sess.run([iterator_0.initializer, iterator_1.initializer]) for i in range(100): self.assertEqual(i * 2, sess.run(next_element)) self._assertSummaryHasCount( sess.run(summary_t), "record_latency", float(2 * (i + 1))) with self.assertRaises(errors.OutOfRangeError): sess.run(next_element) self._assertSummaryHasCount(sess.run(summary_t), "record_latency", 200.0)
def _build_dataset_multiple_tags(self, num_elements, tag1="record_latency", tag2="record_latency_2"): return dataset_ops.Dataset.range(num_elements).apply( stats_ops.latency_stats(tag1)).apply(stats_ops.latency_stats(tag2))
def _build_dataset_latency_stats(self, num_elements, tag="record_latency"): return dataset_ops.Dataset.range(num_elements).apply( stats_ops.latency_stats(tag))
def _build_dataset_multiple_tags(self, num_elements, tag1="record_latency", tag2="record_latency_2"): return dataset_ops.Dataset.range(num_elements).apply( stats_ops.latency_stats(tag1)).apply(stats_ops.latency_stats(tag2))
def _build_dataset_latency_stats(self, num_elements, tag="record_latency"): return dataset_ops.Dataset.range(num_elements).apply( stats_ops.latency_stats(tag))