gigl.common.metrics.decorators#
Attributes#
Classes#
Create a collection of name/value pairs. |
Functions#
|
Decorator for flushing metrics after function execution. |
|
performance profiling decorator |
Module Contents#
- class gigl.common.metrics.decorators.TimerRecordGranularity(*args, **kwds)[source]#
Bases:
enum.EnumCreate 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.
- 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:
metric_name (str)
get_metrics_service_instance_fn (Optional[Callable[[], Optional[gigl.common.metrics.metrics_interface.OpsMetricPublisher]]])
record_granularity (TimerRecordGranularity)
- Return type:
Callable[[F], F]