Files
2026-07-13 13:17:40 +08:00

56 lines
2.5 KiB
Python

from enum import Enum
from typing import Dict, Optional
from ray._common.usage.usage_lib import TagKey, record_extra_usage_tag
class ServeUsageTag(Enum):
API_VERSION = TagKey.SERVE_API_VERSION
NUM_DEPLOYMENTS = TagKey.SERVE_NUM_DEPLOYMENTS
GCS_STORAGE = TagKey.GCS_STORAGE
NUM_GPU_DEPLOYMENTS = TagKey.SERVE_NUM_GPU_DEPLOYMENTS
FASTAPI_USED = TagKey.SERVE_FASTAPI_USED
DAG_DRIVER_USED = TagKey.SERVE_DAG_DRIVER_USED
HTTP_ADAPTER_USED = TagKey.SERVE_HTTP_ADAPTER_USED
GRPC_INGRESS_USED = TagKey.SERVE_GRPC_INGRESS_USED
REST_API_VERSION = TagKey.SERVE_REST_API_VERSION
NUM_APPS = TagKey.SERVE_NUM_APPS
NUM_REPLICAS_LIGHTWEIGHT_UPDATED = TagKey.SERVE_NUM_REPLICAS_LIGHTWEIGHT_UPDATED
USER_CONFIG_LIGHTWEIGHT_UPDATED = TagKey.SERVE_USER_CONFIG_LIGHTWEIGHT_UPDATED
AUTOSCALING_CONFIG_LIGHTWEIGHT_UPDATED = (
TagKey.SERVE_AUTOSCALING_CONFIG_LIGHTWEIGHT_UPDATED
)
DEPLOYMENT_HANDLE_API_USED = TagKey.SERVE_DEPLOYMENT_HANDLE_API_USED
DEPLOYMENT_HANDLE_TO_OBJECT_REF_API_USED = (
TagKey.SERVE_DEPLOYMENT_HANDLE_TO_OBJECT_REF_API_USED
)
MULTIPLEXED_API_USED = TagKey.SERVE_MULTIPLEXED_API_USED
HTTP_PROXY_USED = TagKey.SERVE_HTTP_PROXY_USED
GRPC_PROXY_USED = TagKey.SERVE_GRPC_PROXY_USED
SERVE_STATUS_API_USED = TagKey.SERVE_STATUS_API_USED
SERVE_GET_APP_HANDLE_API_USED = TagKey.SERVE_GET_APP_HANDLE_API_USED
SERVE_GET_DEPLOYMENT_HANDLE_API_USED = TagKey.SERVE_GET_DEPLOYMENT_HANDLE_API_USED
APP_CONTAINER_RUNTIME_ENV_USED = TagKey.SERVE_APP_CONTAINER_RUNTIME_ENV_USED
DEPLOYMENT_CONTAINER_RUNTIME_ENV_USED = (
TagKey.SERVE_DEPLOYMENT_CONTAINER_RUNTIME_ENV_USED
)
NUM_NODE_COMPACTIONS = TagKey.SERVE_NUM_NODE_COMPACTIONS
AUTO_NUM_REPLICAS_USED = TagKey.SERVE_AUTO_NUM_REPLICAS_USED
CUSTOM_REQUEST_ROUTER_USED = TagKey.SERVE_CUSTOM_REQUEST_ROUTER_USED
NUM_REPLICAS_VIA_API_CALL_UPDATED = TagKey.SERVE_NUM_REPLICAS_VIA_API_CALL_UPDATED
NUM_REPLICAS_USING_ASYNCHRONOUS_INFERENCE = (
TagKey.SERVE_NUM_REPLICAS_USING_ASYNCHRONOUS_INFERENCE
)
CUSTOM_AUTOSCALING_POLICY_USED = TagKey.SERVE_CUSTOM_AUTOSCALING_POLICY_USED
def record(self, value: str):
"""Record telemetry value."""
record_extra_usage_tag(self.value, value)
def get_value_from_report(self, report: Dict) -> Optional[str]:
"""Returns `None` if the tag isn't in the report."""
if "extra_usage_tags" not in report:
return None
return report["extra_usage_tags"].get(TagKey.Name(self.value).lower(), None)