code: def execution_timer(self, *path):
          
          start = time.time()
          try:
              yield
          finally:
              self.record_timing(max(start, time.time()) - start, *path)
docs: Record the time it takes to perform an arbitrary code block.
  
          :param path: elements of the metric path to record
  
          This method returns a context manager that records the amount
          of time spent inside of the context and submits a timing metric
          to the specified `path` using (:meth:`record_timing`).