docstr: Load dashboard agent modules.
docstr_tok: ["Load","dashboard","agent","modules","."]
code: def _load_modules(self):
      """Load dashboard agent modules."""
      modules = []
      agent_cls_list = dashboard_utils.get_all_modules(
          dashboard_utils.DashboardAgentModule
      )
      for cls in agent_cls_list:
          logger.info(
              "Loading %s: %s",
              dashboard_utils.DashboardAgentModule.__name__,
              cls,
          )
          c = cls(self)
          modules.append(c)
      logger.info("Loaded %d modules.", len(modules))
      return modules
  
imports: import argparse
  import asyncio
  import json
  import logging
  import logging.handlers
  import os
  import pathlib
  import sys
  import signal
  import ray
  import ray._private.ray_constants
  import ray._private.services
  import ray._private.utils
  import ray.dashboard.consts
  import ray.dashboard.utils
  from ray._private.process_watcher import create_check_raylet_task
  from ray._private.gcs_utils import GcsAioClient
  from ray._private.ray_logging import setup_component_logger, configure_log_file
  from ray._private.ray_constants import AGENT_GRPC_MAX_MESSAGE_LENGTH
label_desc: Use image node_id 3 for calling the DashboardAgent obj's underlying member method code with example usage: obj._load_modules() and returns: modules