code: def create_metrics_container(self):
      cpu_usage_metric = self.__create_cpu_usage_metric()
      memory_metric = self.__create_memory_metric()
  
      has_gpu = self.__system_resource_info.has_gpu()
      gpu_usage_metric = (
          self.__create_gpu_usage_metric() if has_gpu else None
      )
      gpu_memory_metric = (
          self.__create_gpu_memory_metric() if has_gpu else None
      )
  
      return MetricsContainer(
          cpu_usage_metric=cpu_usage_metric,
          memory_metric=memory_metric,
          gpu_usage_metric=gpu_usage_metric,
          gpu_memory_metric=gpu_memory_metric,
      )
  
file_path: neptune-client/src/neptune/common/hardware/metrics/metrics_factory.py
imports: from neptune.common.hardware.constants import BYTES_IN_ONE_GB
  from neptune.common.hardware.metrics.metric import Metric, MetricResourceType
  from neptune.common.hardware.metrics.metrics_container import MetricsContainer
label_desc: Use image node_id 2 for calling the MetricsFactory obj's underlying member method code with example usage: obj.create_metrics_container() and returns: MetricsContainer