コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
    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)
コード例 #4
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)
コード例 #5
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)
コード例 #6
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)
コード例 #7
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)
コード例 #8
0
  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))
コード例 #9
0
  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))
コード例 #10
0
  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)
コード例 #11
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)
コード例 #12
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))
コード例 #13
0
 def _build_dataset_latency_stats(self, num_elements, tag="record_latency"):
   return dataset_ops.Dataset.range(num_elements).apply(
       stats_ops.latency_stats(tag))
コード例 #14
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))
コード例 #15
0
 def _build_dataset_latency_stats(self, num_elements, tag="record_latency"):
   return dataset_ops.Dataset.range(num_elements).apply(
       stats_ops.latency_stats(tag))