code: def update_metrics(self):
      metric_dtypes = ("float", "float64", "int")
      series_meta_tree = self.meta_run_tree.subtree("traces")
  
      for ctx_id, ctx_traces in series_meta_tree.items():
          for name, trace_info in ctx_traces.items():
              if (
                  trace_info.get("dtype", "float") in metric_dtypes
              ) and (trace_info.get("version", 1) == 1):
                  series = self.series_run_trees[1].subtree(
                      (ctx_id, name)
                  )
                  new_series = self.series_run_trees[2].subtree(
                      (ctx_id, name)
                  )
                  step_view = new_series.array(
                      "step", dtype="int64"
                  ).allocate()
                  val_view = new_series.array("val").allocate()
                  epoch_view = new_series.array(
                      "epoch", dtype="int64"
                  ).allocate()
                  time_view = new_series.array(
                      "time", dtype="int64"
                  ).allocate()
                  for (step, val), (_, epoch), (_, timestamp) in zip(
                      series.subtree("val").items(),
                      series.subtree("epoch").items(),
                      series.subtree("time").items(),
                  ):
                      step_hash = hash_auto(step)
                      step_view[step_hash] = step
                      val_view[step_hash] = val
                      epoch_view[step_hash] = epoch
                      time_view[step_hash] = timestamp
                  self.meta_run_tree[
                      "traces", ctx_id, name, "version"
                  ] = 2
                  del self.series_run_trees[1][(ctx_id, name)]
  
file_path: aim/aim/sdk/base_run.py
imports: import logging
  from typing import Dict, Optional, Union
  from typing import TYPE_CHECKING
  import pathlib
  from aim.storage.hashing import hash_auto
  from aim.storage.treeview import TreeView
  from aim.sdk.utils import generate_run_hash
  from aim.sdk.repo_utils import get_repo
  from aim.sdk.errors import MissingRunError
  from aim.sdk.tracker import STEP_HASH_FUNCTIONS
label_desc: Use image node_id 7 for calling the BaseRun obj's underlying member method code with example usage: obj.update_metrics() without return types