Esempio n. 1
0
 def __init__(self):
     self.very_long_page_histories_count = Metrics.counter(
         self.__class__, 'very_long_page_histories_count')
     self.pages_count = Metrics.counter(self.__class__, 'pages_count')
     self.revisions_count = Metrics.counter(self.__class__,
                                            'revisions_count')
     self.revisions_per_page_distr = Metrics.distribution(
         self.__class__, 'revisions_per_page_distr')
     self.cumulative_page_rev_size_distr = Metrics.distribution(
         self.__class__, 'cumulative_page_rev_size_distr')
Esempio n. 2
0
  def test_create_counter_distribution(self):
    sampler = statesampler.StateSampler('', counters.CounterFactory())
    statesampler.set_current_tracker(sampler)
    state1 = sampler.scoped_state('mystep', 'myState',
                                  metrics_container=MetricsContainer('mystep'))
    sampler.start()
    with state1:
      counter_ns = 'aCounterNamespace'
      distro_ns = 'aDistributionNamespace'
      name = 'a_name'
      counter = Metrics.counter(counter_ns, name)
      distro = Metrics.distribution(distro_ns, name)
      counter.inc(10)
      counter.dec(3)
      distro.update(10)
      distro.update(2)
      self.assertTrue(isinstance(counter, Metrics.DelegatingCounter))
      self.assertTrue(isinstance(distro, Metrics.DelegatingDistribution))

      del distro
      del counter

      container = MetricsEnvironment.current_container()
      self.assertEqual(
          container.counters[MetricName(counter_ns, name)].get_cumulative(),
          7)
      self.assertEqual(
          container.distributions[MetricName(distro_ns, name)].get_cumulative(),
          DistributionData(12, 2, 2, 10))
    sampler.stop()
Esempio n. 3
0
  def test_create_counter_distribution(self):
    MetricsEnvironment.set_current_container(MetricsContainer('mystep'))
    counter_ns = 'aCounterNamespace'
    distro_ns = 'aDistributionNamespace'
    gauge_ns = 'aGaugeNamespace'
    name = 'a_name'
    counter = Metrics.counter(counter_ns, name)
    distro = Metrics.distribution(distro_ns, name)
    gauge = Metrics.gauge(gauge_ns, name)
    counter.inc(10)
    counter.dec(3)
    distro.update(10)
    distro.update(2)
    gauge.set(10)
    self.assertTrue(isinstance(counter, Metrics.DelegatingCounter))
    self.assertTrue(isinstance(distro, Metrics.DelegatingDistribution))
    self.assertTrue(isinstance(gauge, Metrics.DelegatingGauge))

    del distro
    del counter
    del gauge

    container = MetricsEnvironment.current_container()
    self.assertEqual(
        container.counters[MetricName(counter_ns, name)].get_cumulative(),
        7)
    self.assertEqual(
        container.distributions[MetricName(distro_ns, name)].get_cumulative(),
        DistributionData(12, 2, 2, 10))
    self.assertEqual(
        container.gauges[MetricName(gauge_ns, name)].get_cumulative().value,
        10)
Esempio n. 4
0
  def test_create_counter_distribution(self):
    sampler = statesampler.StateSampler('', counters.CounterFactory())
    statesampler.set_current_tracker(sampler)
    state1 = sampler.scoped_state('mystep', 'myState',
                                  metrics_container=MetricsContainer('mystep'))
    sampler.start()
    with state1:
      counter_ns = 'aCounterNamespace'
      distro_ns = 'aDistributionNamespace'
      name = 'a_name'
      counter = Metrics.counter(counter_ns, name)
      distro = Metrics.distribution(distro_ns, name)
      counter.inc(10)
      counter.dec(3)
      distro.update(10)
      distro.update(2)
      self.assertTrue(isinstance(counter, Metrics.DelegatingCounter))
      self.assertTrue(isinstance(distro, Metrics.DelegatingDistribution))

      del distro
      del counter

      container = MetricsEnvironment.current_container()
      self.assertEqual(
          container.counters[MetricName(counter_ns, name)].get_cumulative(),
          7)
      self.assertEqual(
          container.distributions[MetricName(distro_ns, name)].get_cumulative(),
          DistributionData(12, 2, 2, 10))
    sampler.stop()
Esempio n. 5
0
    def test_create_counter_distribution(self):
        MetricsEnvironment.set_current_container(MetricsContainer('mystep'))
        counter_ns = 'aCounterNamespace'
        distro_ns = 'aDistributionNamespace'
        gauge_ns = 'aGaugeNamespace'
        name = 'a_name'
        counter = Metrics.counter(counter_ns, name)
        distro = Metrics.distribution(distro_ns, name)
        gauge = Metrics.gauge(gauge_ns, name)
        counter.inc(10)
        counter.dec(3)
        distro.update(10)
        distro.update(2)
        gauge.set(10)
        self.assertTrue(isinstance(counter, Metrics.DelegatingCounter))
        self.assertTrue(isinstance(distro, Metrics.DelegatingDistribution))
        self.assertTrue(isinstance(gauge, Metrics.DelegatingGauge))

        del distro
        del counter
        del gauge

        container = MetricsEnvironment.current_container()
        self.assertEqual(
            container.counters[MetricName(counter_ns, name)].get_cumulative(),
            7)
        self.assertEqual(
            container.distributions[MetricName(distro_ns,
                                               name)].get_cumulative(),
            DistributionData(12, 2, 2, 10))
        self.assertEqual(
            container.gauges[MetricName(gauge_ns,
                                        name)].get_cumulative().value, 10)
Esempio n. 6
0
 def process(self, element):
   gauge = Metrics.gauge(self.__class__, 'latest_element')
   gauge.set(element)
   count = Metrics.counter(self.__class__, 'elements')
   count.inc()
   distro = Metrics.distribution(self.__class__, 'element_dist')
   distro.update(element)
   return [element]
Esempio n. 7
0
 def process(self, element):
   count = Metrics.counter(self.__class__, 'elements')
   count.inc()
   distro = Metrics.distribution(self.__class__, 'element_dist')
   distro.update(element)
   return [element]
Esempio n. 8
0
 def process(self, element):
   count = Metrics.counter(self.__class__, 'elements')
   count.inc()
   distro = Metrics.distribution(self.__class__, 'element_dist')
   distro.update(element)
   return [element]
Esempio n. 9
0
 def distribution(self, name: str) -> 'Distribution':
     from apache_beam.metrics.metric import Metrics
     return Distribution(Metrics.distribution(self._get_namespace(), name))
Esempio n. 10
0
 def process(self, element):
     self.static_counter_elements.inc(2)
     self.user_counter_elements.inc()
     distro = Metrics.distribution(self.__class__, 'element_dist')
     distro.update(element)
     yield element
Esempio n. 11
0
 def test_distribution_empty_namespace(self):
     with self.assertRaises(ValueError):
         Metrics.distribution("", "names")
Esempio n. 12
0
 def test_distribution_empty_namespace(self):
   with self.assertRaises(ValueError):
     Metrics.distribution("", "names")