Skip to content
This repository has been archived by the owner on Nov 28, 2023. It is now read-only.

Commit

Permalink
Adding units to global functions
Browse files Browse the repository at this point in the history
  • Loading branch information
amir-jakoby committed Sep 18, 2016
1 parent 9e1bd03 commit 95ea432
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 22 deletions.
42 changes: 22 additions & 20 deletions pyformance/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,20 +246,20 @@ def _get_key(self, key):
key = '/'.join((v for match in matches for v in match.groups() if v))
return key

def timer(self, key):
return super(RegexRegistry, self).timer(self._get_key(key))
def timer(self, key, unit=None):
return super(RegexRegistry, self).timer(self._get_key(key), unit=unit)

def histogram(self, key):
return super(RegexRegistry, self).histogram(self._get_key(key))
def histogram(self, key, unit=None):
return super(RegexRegistry, self).histogram(self._get_key(key), unit=unit)

def counter(self, key):
return super(RegexRegistry, self).counter(self._get_key(key))
def counter(self, key, unit=None):
return super(RegexRegistry, self).counter(self._get_key(key), unit=unit)

def gauge(self, key, gauge=None, default=float("nan")):
return super(RegexRegistry, self).gauge(self._get_key(key), gauge, default)
def gauge(self, key, g=None, default=float("nan")):
return super(RegexRegistry, self).gauge(self._get_key(key), g, default)

def meter(self, key):
return super(RegexRegistry, self).meter(self._get_key(key))
def meter(self, key, unit=None):
return super(RegexRegistry, self).meter(self._get_key(key), unit=unit)


_global_registry = MetricsRegistry()
Expand All @@ -274,24 +274,24 @@ def set_global_registry(registry):
_global_registry = registry


def counter(key):
return _global_registry.counter(key)
def counter(key, unit=None):
return _global_registry.counter(key, unit)


def histogram(key):
return _global_registry.histogram(key)
def histogram(key, unit=None):
return _global_registry.histogram(key, unit)


def meter(key):
return _global_registry.meter(key)
def meter(key, unit=None):
return _global_registry.meter(key, unit)


def timer(key):
return _global_registry.timer(key)
def timer(key, unit=None):
return _global_registry.timer(key, unit)


def gauge(key, gauge=None):
return _global_registry.gauge(key, gauge)
def gauge(key, g=None):
return _global_registry.gauge(key, g)


def dump_metrics():
Expand All @@ -301,11 +301,13 @@ def dump_metrics():
def clear():
return _global_registry.clear()


def get_qualname(obj):
if sys.version_info[0] > 2:
return obj.__qualname__
return obj.__name__


def count_calls(fn):
"""
Decorator to track the number of times a function is called.
Expand Down
5 changes: 3 additions & 2 deletions pyformance/reporters/newrelic_reporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,9 @@ def create_metrics(self, registry):
key.format("999_percentile"): snapshot.get_999th_percentile()})

# noinspection PyProtectedMember
sink_meters = chain(registry._timers.items(), registry._counters.items(), registry._histograms.items(),
registry._meters.items())
sink_meters = filter(lambda tup: tup[1].sink,
chain(registry._timers.items(), registry._counters.items(), registry._histograms.items(),
registry._meters.items()))
for key, value in sink_meters:
sink = value.sink

Expand Down

0 comments on commit 95ea432

Please sign in to comment.