code: def get_trial_profiler_available_series(
      master_url: str,
      trial_id: str,
  ) -> List[TrialProfilerSeriesLabels]:
      """
      Get available profiler series for a trial. This uses the non-streaming version of the API
      """
      follow = False
      backoff_interval = 1
      max_tries = 2
      tries = 0
  
      response = None
      while tries < max_tries:
          try:
              response = api.get(
                  host=master_url,
                  path=f"/api/v1/trials/{trial_id}/profiler/available_series",
                  params={"follow": follow},
              )
              break
          except exceptions.RequestException as e:
              if (
                  e.response is not None
                  and e.response.status_code < 500
              ):
                  raise e
  
              tries += 1
              if tries == max_tries:
                  raise e
              time.sleep(backoff_interval)
  
      assert response
      j = response.json()
      labels = [
          TrialProfilerSeriesLabels(
              trial_id=ld["trialId"],
              name=ld["name"],
              agent_id=ld["agentId"],
              gpu_uuid=ld["gpuUuid"],
              metric_type=ld["metricType"],
          )
          for ld in j["result"]["labels"]
      ]
      return labels
  
file_path: determined/harness/determined/common/api/profiler.py
imports: import time
  from typing import Any, Dict, List, Optional
  from requests import exceptions
  from determined.common import api
label_desc: Use image node_id 2 for calling a global function with example usage: get_trial_profiler_available_series(master_url, trial_id) and returns: labels