docstr: Earliest time when a task belonging to this span tree started computing;
  0 if no task has *finished* computing yet.
  
  Notes
  -----
  This is not updated until at least one task has *finished* computing.
  It could move backwards as tasks complete.
  
  See Also
  --------
  enqueued
  stop
  distributed.scheduler.TaskGroup.start
docstr_tok: ["Earliest","time","when","a","task","belonging","to","this","span","tree","started","computing",";","0","if","no","task","has","*","finished","*","computing","yet",".","Notes","--","--","-","This","is","not","updated","until","at","least","one","task","has","*","finished","*","computing",".","It","could","move","backwards","as","tasks","complete",".","See","Also","--","--","--","--","enqueued","stop","distributed.scheduler.TaskGroup.start"]
code: def start(self) -> float:
      """Earliest time when a task belonging to this span tree started computing;
      0 if no task has *finished* computing yet.
  
      Notes
      -----
      This is not updated until at least one task has *finished* computing.
      It could move backwards as tasks complete.
  
      See Also
      --------
      enqueued
      stop
      distributed.scheduler.TaskGroup.start
      """
      out = min(
          (
              tg.start
              for tg in self.traverse_groups()
              if tg.start != 0.0
          ),
          default=0.0,
      )
      if out:
          # absorb small errors in worker delay calculation
          out = max(out, self.enqueued)
      return out
  
imports: from __future__ import annotations
  import uuid
  import weakref
  from collections import defaultdict
  from collections.abc import Hashable, Iterable, Iterator
  from contextlib import contextmanager
  from itertools import islice
  from typing import TYPE_CHECKING, Any
  import dask.config
  from dask.typing import Key
  from distributed.collections import sum_mappings
  from distributed.itertools import ffill
  from distributed.metrics import time
label_desc: Use image node_id 7 for calling the Span obj's underlying member method code with example usage: obj.start() and returns: out