class_docstr: The algorithm's interface to the registered risk and performance
  metrics.
  
  Parameters
  ----------
  trading_calendar : TrandingCalendar
      The trading calendar used in the simulation.
  first_session : pd.Timestamp
      The label of the first trading session in the simulation.
  last_session : pd.Timestamp
      The label of the last trading session in the simulation.
  capital_base : float
      The starting capital for the simulation.
  emission_rate : {'daily', 'minute'}
      How frequently should a performance packet be generated?
  data_frequency : {'daily', 'minute'}
      The data frequency of the data portal.
  asset_finder : AssetFinder
      The asset finder used in the simulation.
  metrics : list[Metric]
      The metrics to track.
code: def handle_start_of_simulation(self, benchmark_source):
      self._benchmark_source = benchmark_source
  
      self.start_of_simulation(
          self._ledger,
          self.emission_rate,
          self._trading_calendar,
          self._sessions,
          benchmark_source,
      )
  
imports: from __future__ import division
  import logbook
  from ..ledger import Ledger
  from zipline.utils.exploding_object import NamedExplodingObject
label_desc: Use image node_id 3 for calling the MetricsTracker obj's underlying member method code with example usage: obj.handle_start_of_simulation(benchmark_source) without return types