code: def test_add_group_with_variable(self):
      new_group = MetricTests.base_metric_group.add_group(
          "key", "value"
      )
      self.assertEqual(
          MetricTests.print_metric_group_path(new_group),
          "root.key.value",
      )
  
file_path: flink/flink-python/pyflink/fn_execution/metrics/tests/test_metric.py
imports: from apache_beam.metrics.cells import DistributionData
  from apache_beam.metrics.execution import MetricsContainer
  from apache_beam.metrics.execution import MetricsEnvironment
  from apache_beam.metrics.metricbase import MetricName
  from apache_beam.runners.worker import statesampler
  from apache_beam.utils import counters
  from pyflink.fn_execution.metrics.process.metric_impl import GenericMetricGroup
  from pyflink.metrics.metricbase import MetricGroup
  from pyflink.table import FunctionContext
  from pyflink.testing.test_case_utils import PyFlinkTestCase
label_desc: Use image node_id 3 for calling the MetricTests obj's underlying member method code with example usage: obj.test_add_group_with_variable() without return types