class_docstr: The result of a single model analysis run.
  
  Attributes:
    slicing_metrics: a list of `tfma.SlicedMetrics`, containing metric values
      for each slice.
    plots: List of slice-plot pairs.
    attributions: List of SlicedAttributions containing attribution values for
      each slice.
    config: The config containing slicing and metrics specification.
    data_location: Optional location for data used with config.
    file_format: Optional format for data used with config.
    model_location: Optional location(s) for model(s) used with config.
docstr: Get names of metrics.
  
  Returns:
    List of metric names.
docstr_tok: ["Get","names","of","metrics",".","Returns",":","List","of","metric","names","."]
code: def get_metric_names(self) -> Sequence[str]:
      """Get names of metrics.
  
      Returns:
        List of metric names.
      """
  
      metric_names = set()
      for slicing_metric in self.slicing_metrics:
          for output_name in slicing_metric[1]:
              for metrics in slicing_metric[1][output_name].values():
                  metric_names.update(metrics)
      return list(metric_names)
  
imports: import copy
  from typing import Any, Dict, List, Sequence, NamedTuple, Optional, Union
  from tensorflow_model_analysis import constants
  from tensorflow_model_analysis.metrics import metric_types
  from tensorflow_model_analysis.proto import config_pb2
  from tensorflow_model_analysis.proto import metrics_for_slice_pb2
  from tensorflow_model_analysis.slicer import slicer_lib
label_desc: Use image node_id 3 for calling the EvalResult obj's underlying member method code with example usage: obj.get_metric_names() and returns: list