code: def _add_serve_metric_tags(
      tag_keys: Optional[Tuple[str]] = None,
  ) -> Tuple[str]:
      """Add serve context tags to the tag_keys"""
      if tag_keys is None:
          tag_keys = tuple()
  
      # If the context doesn't exist, no serve tag is added.
      if context._get_internal_replica_context() is None:
          return tag_keys
      # Check no collision with customer tag
      if DEPLOYMENT_TAG in tag_keys:
          raise ValueError(
              f"'{DEPLOYMENT_TAG}' tag is reserved for Ray Serve metrics"
          )
      if REPLICA_TAG in tag_keys:
          raise ValueError(
              f"'{REPLICA_TAG}' tag is reserved for Ray Serve metrics"
          )
      if APPLICATION_TAG in tag_keys:
          raise ValueError(
              f"'{APPLICATION_TAG}' tag is reserved for Ray Serve metrics"
          )
  
      # Get serve tag inserted:
      ray_serve_tags = (DEPLOYMENT_TAG, REPLICA_TAG)
      if context._get_internal_replica_context().app_name:
          ray_serve_tags += (APPLICATION_TAG,)
      if tag_keys:
          tag_keys = ray_serve_tags + tag_keys
      else:
          tag_keys = ray_serve_tags
      return tag_keys
  
imports: from typing import Dict, List, Optional, Tuple, Union
  import ray
  from ray.serve import context
  from ray.util import metrics
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 1 for calling a global function with example usage: _add_serve_metric_tags(tag_keys) and returns: tag_keys, tag_keys