ray.serve.metrics.Gauge#

class ray.serve.metrics.Gauge(name: str, description: str = '', tag_keys: Tuple[str] | None = None)[source]#

Bases: Gauge

Gauges keep the last recorded value and drop everything before.

This corresponds to Prometheus’ gauge metric: https://prometheus.io/docs/concepts/metric_types/#gauge

Serve-related tags (“deployment”, “replica”, “application”, “route”) are added automatically if not provided.

@serve.deployment
class MyDeployment:
    def __init__(self):
        self.num_requests = 0
        self.my_gauge = metrics.Gauge(
            "my_gauge",
            description=("The current memory usage."),
            tag_keys=("model",),
        )
        self.my_counter.set_default_tags({"model": "123"})

    def __call__(self):
        process = psutil.Process()
        self.gauge.set(process.memory_info().rss)
Parameters:
  • name – Name of the metric.

  • description – Description of the metric.

  • tag_keys – Tag keys of the metric.

PublicAPI (beta): This API is in beta and may change before becoming stable.

Methods

record

Record the metric point of the metric.

set

Set the gauge to the given value, add serve context tag values to the tags

Attributes

info

Return the information of this metric.