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","."]
docstr: Observe a given `value` and add it to the appropriate bucket.
  
  Tags passed in will take precedence over the metric's default tags.
  
  Args:
      value(int, float): Value to set the gauge to.
      tags(Dict[str, str]): Tags to set or override for this gauge.
docstr_tok: ["Observe","a","given","`","value","`","and","add","it","to","the","appropriate","bucket",".","Tags","passed","in","will","take","precedence","over","the","metric","'s","default","tags",".","Args",":","value","(","int",",","float",")",":","Value","to","set","the","gauge","to",".","tags","(","Dict","[","str",",","str","]",")",":","Tags","to","set","or","override","for","this","gauge","."]
code: def observe(
      self, value: Union[int, float], tags: Dict[str, str] = None
  ):
      """Observe a given `value` and add it to the appropriate bucket.
  
      Tags passed in will take precedence over the metric's default tags.
  
      Args:
          value(int, float): Value to set the gauge to.
          tags(Dict[str, str]): Tags to set or override for this gauge.
      """
      if not isinstance(value, (int, float)):
          raise TypeError(
              f"value must be int or float, got {type(value)}."
          )
  
      self.record(value, tags, _internal=True)
  
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 2 for calling the Histogram obj's underlying member method code with example usage: obj.observe(value, tags) without return types