code: def test_batch_metrics_logger_logs_all_metrics(start_run):
      run_id = mlflow.active_run().info.run_id
      with batch_metrics_logger(run_id) as metrics_logger:
          for i in range(100):
              metrics_logger.record_metrics({hex(i): i}, i)
  
      metrics_on_run = MlflowClient().get_run(run_id).data.metrics
  
      for i in range(100):
          assert hex(i) in metrics_on_run
          assert metrics_on_run[hex(i)] == i
  
imports: import inspect
  import sys
  import time
  from collections import namedtuple
  from unittest import mock
  import pytest
  import mlflow
  from mlflow import MlflowClient
  from mlflow.utils import gorilla
  from mlflow.utils.autologging_utils import AUTOLOGGING_INTEGRATIONS, AutologgingEventLogger, BatchMetricsLogger, autologging_integration, autologging_is_disabled, batch_metrics_logger, get_autologging_config, get_instance_method_first_arg_value, get_method_call_arg_value, log_fn_args_as_params, resolve_input_example_and_signature
  from mlflow.utils.autologging_utils.safety import AutologgingSession, _wrap_patch
  from mlflow.utils.autologging_utils.versioning import FLAVOR_TO_MODULE_NAME_AND_VERSION_INFO_KEY, _check_version_in_range, _is_pre_or_dev_release, _strip_dev_version_suffix, _violates_pep_440, is_flavor_supported_for_associated_package_versions
  from tests.autologging.fixtures import test_mode_off
label_desc: Use image node_id 17 for calling a global function with example usage: test_batch_metrics_logger_logs_all_metrics(start_run) without return types