code: def test_custom_tracking_interval(self):
      run = Run(system_tracking_interval=1)
      run_hash = run.hash
      run.track(1, name="metric")
      time.sleep(3)  # allow tracker to add resource usage metrics
      del run
  
      metrics = list(
          self.repo.query_metrics(
              f'run.hash == "{run_hash}" and metric.name.startswith("__")',
              report_mode=QueryReportMode.DISABLED,
          )
      )
      expected_metrics = {
          "__system__cpu",
          "__system__disk_percent",
          "__system__memory_percent",
          "__system__p_memory_percent",
      }
      metric_names = set(m.name for m in metrics)
      for name in expected_metrics:
          self.assertIn(name, metric_names)
      for metric in metrics:
          # 3 sec. runtime, 1 sec. interval
          self.assertGreaterEqual(len(metric.data.indices_list()), 3)
          self.assertLessEqual(len(metric.data.indices_list()), 4)
  
file_path: aim/tests/sdk/test_resource_tracker.py
imports: import time
  from tests.base import TestBase
  from aim.sdk.types import QueryReportMode
  from aim.sdk import Run
label_desc: Use image node_id 2 for calling the TestRunResourceTracker obj's underlying member method code with example usage: obj.test_custom_tracking_interval() without return types