gigl.common.metrics.decorators#

Attributes#

Classes#

TimerRecordGranularity

Create a collection of name/value pairs.

Functions#

flushes_metrics(get_metrics_service_instance_fn)

Decorator for flushing metrics after function execution.

profileit(metric_name, get_metrics_service_instance_fn)

performance profiling decorator

Module Contents#

class gigl.common.metrics.decorators.TimerRecordGranularity(*args, **kwds)[source]#

Bases: enum.Enum

Create a collection of name/value pairs.

Example enumeration:

>>> class Color(Enum):
...     RED = 1
...     BLUE = 2
...     GREEN = 3

Access them by:

  • attribute access:

>>> Color.RED
<Color.RED: 1>
  • value lookup:

>>> Color(1)
<Color.RED: 1>
  • name lookup:

>>> Color['RED']
<Color.RED: 1>

Enumerations can be iterated over, and know how many members they have:

>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]

Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.

MILLISECONDS = 'ms'[source]#
SECONDS = 's'[source]#
gigl.common.metrics.decorators.flushes_metrics(get_metrics_service_instance_fn)[source]#

Decorator for flushing metrics after function execution. Always catches any raised exceptions by decorated function and flushes metrics before reraising the exception. :return: wrapped result

Parameters:

get_metrics_service_instance_fn (Optional[Callable[[], Optional[gigl.common.metrics.metrics_interface.OpsMetricPublisher]]])

Return type:

Callable[[F], F]

gigl.common.metrics.decorators.profileit(metric_name, get_metrics_service_instance_fn, record_granularity=TimerRecordGranularity.SECONDS)[source]#

performance profiling decorator :param name: name of block being profiled :return: wrapped result

Parameters:
Return type:

Callable[[F], F]

gigl.common.metrics.decorators.F[source]#
gigl.common.metrics.decorators.logger[source]#