class_docstr: Execution stats for this block.
  
  Attributes:
      wall_time_s: The wall-clock time it took to compute this block.
      cpu_time_s: The CPU time it took to compute this block.
      node_id: A unique id for the node that computed this block.
class_docstr_tok: ["Execution","stats","for","this","block",".","Attributes",":","wall_time_s",":","The","wall-clock","time","it","took","to","compute","this","block",".","cpu_time_s",":","The","CPU","time","it","took","to","compute","this","block",".","node_id",":","A","unique","id","for","the","node","that","computed","this","block","."]
code: def __repr__(self):
      return repr(
          {
              "wall_time_s": self.wall_time_s,
              "cpu_time_s": self.cpu_time_s,
              "node_id": self.node_id,
          }
      )
  
imports: import collections
  import os
  import time
  from dataclasses import dataclass
  from typing import TYPE_CHECKING, Callable, Dict, Iterator, List, Literal, Optional, Protocol, Tuple, TypeVar, Union
  import numpy
  import ray
  from ray import DynamicObjectRefGenerator
  from ray.data._internal.util import _check_pyarrow_version, _truncated_repr
  from ray.types import ObjectRef
  from ray.util.annotations import DeveloperAPI
  import psutil
label_desc: Use image node_id 3 for calling the BlockExecStats obj's underlying member method code with example usage: obj.__repr__() and returns: repr