code: def get_metric_name(
      metric: Union["PluginMetric", str],
      strategy: "SupervisedTemplate",
      add_experience=False,
      add_task=True,
  ):
      """
      Return the complete metric name used to report its current value.
      The name is composed by:
      metric string representation /phase type/stream type/task id
      where metric string representation is a synthetic string
      describing the metric, phase type describe if the user
      is training (train) or evaluating (eval), stream type describes
      the type of stream the current experience belongs to (e.g. train, test)
      and task id is the current task label.
  
      :param metric: the metric object for which return the complete name
      :param strategy: the current strategy object
      :param add_experience: if True, add eval_exp_id to the main metric name.
              Default to False.
      :param add_task: if True the main metric name will include the task
          information. If False, no task label will be displayed.
          If an int, that value will be used as task label for the metric name.
      """
      task_label: Optional[int]
      phase_name, task_label = phase_and_task(strategy)
      assert strategy.experience is not None
      stream = stream_type(strategy.experience)
      experience_id = strategy.experience.current_experience
      if type(add_task) == bool and add_task is False:
          task_label = None
      elif type(add_task) == int:
          task_label = add_task
  
      if not add_experience:
          experience_id = None
  
      return generic_get_metric_name(
          default_metric_name_template,
          {
              "metric_name": str(metric),
              "task_label": task_label,
              "phase_name": phase_name,
              "experience_id": experience_id,
              "stream_name": stream,
          },
      )
  
file_path: avalanche/avalanche/evaluation/metric_utils.py
imports: from typing import Dict, Optional, Union, Iterable, Sequence, Tuple, TYPE_CHECKING, List, Callable, Any
  import matplotlib.pyplot
  import numpy
  from matplotlib.axes import Axes
  from numpy import ndarray, arange
  from torch import Tensor
label_desc: Use image node_id 10 for calling a global function with example usage: get_metric_name(metric, strategy, add_experience, add_task) and returns: generic_get_metric_name