class_docstr: Record of the AxClient completion event. This will have information only available
  after the optimization has completed.
class_docstr_tok: ["Record","of","the","AxClient","completion","event",".","This","will","have","information","only","available","after","the","optimization","has","completed","."]
docstr: Flatten into an appropriate format for logging to a tabular database.
docstr_tok: ["Flatten","into","an","appropriate","format","for","logging","to","a","tabular","database","."]
code: def flatten(self) -> Dict[str, Any]:
      """
      Flatten into an appropriate format for logging to a tabular database.
      """
  
      self_dict = asdict(self)
      experiment_completed_record_dict = self_dict.pop(
          "experiment_completed_record"
      )
  
      return {
          **self_dict,
          **experiment_completed_record_dict,
      }
  
file_path: Ax/ax/telemetry/ax_client.py
imports: from __future__ import annotations
  from dataclasses import asdict, dataclass
  from typing import Any, Dict, Optional
  from ax.service.ax_client import AxClient
  from ax.telemetry.common import _get_max_transformed_dimensionality
  from ax.telemetry.experiment import ExperimentCompletedRecord, ExperimentCreatedRecord
  from ax.telemetry.generation_strategy import GenerationStrategyCreatedRecord
label_desc: Use image node_id 2 for calling the AxClientCompletedRecord obj's underlying member method code with example usage: obj.flatten() and returns: dict