class_docstr: Timing a code snippet with a context manager.
class_docstr_tok: ["Timing","a","code","snippet","with","a","context","manager","."]
code: def __exit__(self, typ, value, traceback):
      self.duration = self.now()
  
      self.readable_duration = get_readable_time(seconds=self.duration)
  
      self._exit_msg()
  
imports: import time
  import typing
  from functools import wraps
  from typing import Optional, Union, Callable
  from jina.constants import __windows__
  from jina.helper import get_readable_size, get_readable_time, colored, get_rich_console
  from rich.progress import Progress, Task, BarColumn, TimeRemainingColumn, SpinnerColumn, TimeElapsedColumn, TextColumn, ProgressColumn, TaskID
  from rich.text import Text
  from rich.table import Column
  from rich.console import Console
label_desc: Use image node_id 4 for calling the TimeContext obj's underlying member method code with example usage: obj.__exit__(typ, value, traceback) without return types