docstr: Decorator syntax
docstr_tok: ["Decorator","syntax"]
code: def __call__(self, fn):
      """Decorator syntax"""
      caller_id = (fn.__code__.co_filename, fn.__code__.co_firstlineno)
      timer_context = _TimerContextManager(
          self.label, self.timer, caller_id
      )
  
      @functools.wraps(fn)
      def wrapper(*args, **kwargs):
          with timer_context:
              return fn(*args, **kwargs)
  
      return wrapper
  
imports: import collections
  import functools
  import timeit
  import traceback
  import weakref
  from json import dumps
  from typing import List
  import numpy
  from .ascii_table import ascii_table
label_desc: Use image node_id 4 for calling the _TimerContextManager obj's underlying member method code with example usage: obj.__call__(fn) and returns: wrapper, fn