| 123456789101112131415161718192021 | import functoolsfrom compose.metrics.client import MetricsCommandfrom compose.metrics.client import Statusclass metrics:    def __init__(self, command_name=None):        self.command_name = command_name    def __call__(self, fn):        @functools.wraps(fn,                         assigned=functools.WRAPPER_ASSIGNMENTS,                         updated=functools.WRAPPER_UPDATES)        def wrapper(*args, **kwargs):            if not self.command_name:                self.command_name = fn.__name__            result = fn(*args, **kwargs)            MetricsCommand(self.command_name, status=Status.SUCCESS).send_metrics()            return result        return wrapper
 |