def METHOD_NAME(self, container: "MetadataContainer"):
    gauge_mode = GaugeMode.CGROUP if in_docker() else GaugeMode.SYSTEM
    system_resource_info = SystemResourceInfoFactory(
        system_monitor=SystemMonitor(),
        gpu_monitor=GPUMonitor(),
        os_environ=os.environ,
    ).create(gauge_mode=gauge_mode)
    gauge_factory = GaugeFactory(gauge_mode=gauge_mode)
    metrics_factory = MetricsFactory(gauge_factory=gauge_factory, system_resource_info=system_resource_info)
    metrics_container = metrics_factory.create_metrics_container()
    metric_reporter = MetricReporterFactory(time.time()).create(metrics=metrics_container.metrics())
    for metric in metrics_container.metrics():
        self._gauges_in_resource[metric.resource_type] = len(metric.gauges)
    for metric in metrics_container.metrics():
        for gauge in metric.gauges:
            path = self.get_attribute_name(metric.resource_type, gauge.name())
            if not container.get_attribute(path):
                container[path] = FloatSeries([], min=metric.min_value, max=metric.max_value, unit=metric.unit)
    self._thread = self.ReportingThread(self, self._period, container, metric_reporter)
    self._thread.METHOD_NAME()
    self._started = True