# Environment variables for the aggregator agent publisher component. import os from ray._private import ray_constants env_var_prefix = "RAY_DASHBOARD_AGGREGATOR_AGENT_PUBLISHER" # Timeout for the publisher to publish events to the destination PUBLISHER_TIMEOUT_SECONDS = ray_constants.env_integer( f"{env_var_prefix}_TIMEOUT_SECONDS", 3 ) # Maximum number of retries for publishing events to the destination, if less than 0, will retry indefinitely PUBLISHER_MAX_RETRIES = ray_constants.env_integer(f"{env_var_prefix}_MAX_RETRIES", -1) # Initial backoff time for publishing events to the destination PUBLISHER_INITIAL_BACKOFF_SECONDS = ray_constants.env_float( f"{env_var_prefix}_INITIAL_BACKOFF_SECONDS", 0.01 ) # Maximum backoff time for publishing events to the destination PUBLISHER_MAX_BACKOFF_SECONDS = ray_constants.env_float( f"{env_var_prefix}_MAX_BACKOFF_SECONDS", 5.0 ) # Jitter ratio for publishing events to the destination PUBLISHER_JITTER_RATIO = ray_constants.env_float(f"{env_var_prefix}_JITTER_RATIO", 0.1) # Maximum sleep time between sending batches of events to the destination, should be greater than 0.0 to avoid busy looping PUBLISHER_MAX_BUFFER_SEND_INTERVAL_SECONDS = ray_constants.env_float( f"{env_var_prefix}_MAX_BUFFER_SEND_INTERVAL_SECONDS", 0.1 ) # HTTP Publisher specific configurations # Comma-separated list of event types that are allowed to be exposed to external HTTP services # Valid values: TASK_DEFINITION_EVENT, TASK_LIFECYCLE_EVENT, ACTOR_TASK_DEFINITION_EVENT, etc. # Set to "ALL" to allow all event types. # The list of all supported event types can be found in src/ray/protobuf/public/events_base_event.proto (EventType enum) # By default TASK_PROFILE_EVENT is not exposed to external services DEFAULT_HTTP_EXPOSABLE_EVENT_TYPES = ( "TASK_DEFINITION_EVENT,TASK_LIFECYCLE_EVENT,ACTOR_TASK_DEFINITION_EVENT," "DRIVER_JOB_DEFINITION_EVENT,DRIVER_JOB_LIFECYCLE_EVENT," "ACTOR_DEFINITION_EVENT,ACTOR_LIFECYCLE_EVENT," "NODE_DEFINITION_EVENT,NODE_LIFECYCLE_EVENT," "PLATFORM_EVENT," ) HTTP_EXPOSABLE_EVENT_TYPES = os.environ.get( "RAY_DASHBOARD_AGGREGATOR_AGENT_EXPOSABLE_EVENT_TYPES", DEFAULT_HTTP_EXPOSABLE_EVENT_TYPES, ) # GCS Publisher specific configurations # List of event types that are allowed to be exposed to GCS, not overridden by environment variable # as GCS only supports Task event types GCS_EXPOSABLE_EVENT_TYPES = [ "TASK_DEFINITION_EVENT", "TASK_LIFECYCLE_EVENT", "TASK_PROFILE_EVENT", "ACTOR_TASK_DEFINITION_EVENT", ]