class_docstr: Tracks the size and number of events in buckets.
  
  Histograms allow you to calculate aggregate quantiles
  such as 25, 50, 95, 99 percentile latency for an RPC.
  
  This corresponds to Prometheus' histogram metric:
  https://prometheus.io/docs/concepts/metric_types/#histogram
  
  Args:
      name: Name of the metric.
      description: Description of the metric.
      boundaries: Boundaries of histogram buckets.
      tag_keys: Tag keys of the metric.
class_docstr_tok: ["Tracks","the","size","and","number","of","events","in","buckets",".","Histograms","allow","you","to","calculate","aggregate","quantiles","such","as","25",",","50",",","95",",","99","percentile","latency","for","an","RPC",".","This","corresponds","to","Prometheus","'","histogram","metric",":","https",":","\/\/prometheus.io\/docs\/concepts\/metric_types\/","#","histogram","Args",":","name",":","Name","of","the","metric",".","description",":","Description","of","the","metric",".","boundaries",":","Boundaries","of","histogram","buckets",".","tag_keys",":","Tag","keys","of","the","metric","."]
code: def __init__(
      self,
      name: str,
      description: str = "",
      boundaries: List[float] = None,
      tag_keys: Optional[Tuple[str, ...]] = None,
  ):
      super().__init__(name, description, tag_keys)
      if boundaries is None or len(boundaries) == 0:
          raise ValueError(
              "boundaries argument should be provided when using "
              "the Histogram class. e.g., "
              'Histogram("name", boundaries=[1.0, 2.0])'
          )
      for i, boundary in enumerate(boundaries):
          if boundary <= 0:
              raise ValueError(
                  "Invalid `boundaries` argument at index "
                  f"{i}, {boundaries}. Use positive values for the arguments."
              )
  
      self.boundaries = boundaries
      self._metric = CythonHistogram(
          self._name, self._description, self.boundaries, self._tag_keys
      )
  
imports: import logging
  from typing import Dict, Any, List, Optional, Tuple, Union
  from ray._raylet import Sum, Histogram, Gauge
  from ray.util.annotations import DeveloperAPI
label_desc: Use image node_id 1 to create a new Histogram object from inherited base classes: Metric with example: obj = Histogram(name, description, boundaries, tag_keys)