class_docstr: A very simple, in memory time series database
class_docstr_tok: ["A","very","simple",",","in","memory","time","series","database"]
docstr: Push new data points to the store.
  
  Args:
      data_points: dictionary containing the metrics values. The
        key should be a string that uniquely identifies this time series
        and to be used to perform aggregation.
      timestamp: the unix epoch timestamp the metrics are
        collected at.
docstr_tok: ["Push","new","data","points","to","the","store",".","Args",":","data_points",":","dictionary","containing","the","metrics","values",".","The","key","should","be","a","string","that","uniquely","identifies","this","time","series","and","to","be","used","to","perform","aggregation",".","timestamp",":","the","unix","epoch","timestamp","the","metrics","are","collected","at","."]
code: def add_metrics_point(
      self, data_points: Dict[str, float], timestamp: float
  ):
      """Push new data points to the store.
  
      Args:
          data_points: dictionary containing the metrics values. The
            key should be a string that uniquely identifies this time series
            and to be used to perform aggregation.
          timestamp: the unix epoch timestamp the metrics are
            collected at.
      """
      for name, value in data_points.items():
          # Using in-sort to insert while maintaining sorted ordering.
          bisect.insort(
              a=self.data[name], x=TimeStampedValue(timestamp, value)
          )
  
file_path: ray/python/ray/serve/_private/autoscaling_metrics.py
imports: import bisect
  import logging
  from collections import defaultdict
  from dataclasses import dataclass, field
  from typing import DefaultDict, Dict, List, Optional
  from ray.serve._private.constants import SERVE_LOGGER_NAME
label_desc: Use image node_id 2 for calling the InMemoryMetricsStore obj's underlying member method code with example usage: obj.add_metrics_point(data_points, timestamp) without return types