code: def connect(application, http_server, scheduler, prefix=""):
      bokeh_app = BokehApplication(
          applications,
          scheduler,
          prefix=prefix,
          template_variables=template_variables(scheduler),
      )
      application.add_application(bokeh_app)
      bokeh_app.initialize(IOLoop.current())
  
      bokeh_app.add_handlers(
          r".*",
          [
              (
                  r"/",
                  web.RedirectHandler,
                  {
                      "url": urljoin(
                          (prefix or "").strip("/") + "/", r"status"
                      )
                  },
              )
          ],
      )
  
      bokeh_app.start()
  
file_path: distributed/distributed/dashboard/scheduler.py
imports: from __future__ import annotations
  from urllib.parse import urljoin
  from tlz import memoize
  from tornado import web
  from tornado.ioloop import IOLoop
  from distributed.dashboard.components.nvml import gpu_doc, gpu_memory_doc, gpu_utilization_doc
  from distributed.dashboard.components.rmm import rmm_memory_doc
  from distributed.dashboard.components.scheduler import AggregateAction, BandwidthTypes, BandwidthWorkers, ClusterMemory, ComputePerKey, Contention, CurrentLoad, ExceptionsTable, FinePerformanceMetrics, MemoryByKey, Occupancy, SystemMonitor, SystemTimeseries, TaskGraph, TaskGroupGraph, TaskGroupProgress, TaskProgress, TaskStream, WorkerNetworkBandwidth, WorkersMemory, WorkersTransferBytes, WorkerTable, events_doc, exceptions_doc, graph_doc, hardware_doc, individual_doc, individual_profile_doc, individual_profile_server_doc, profile_doc, profile_server_doc, shuffling_doc, status_doc, stealing_doc, systemmonitor_doc, tasks_doc, tg_graph_doc, workers_doc
  from distributed.dashboard.core import BokehApplication
  from distributed.dashboard.worker import counters_doc
label_desc: Use image node_id 2 for calling a global function with example usage: connect(application, http_server, scheduler, prefix) without return types