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.
docstr: Handles the start of each session.
  
  Parameters
  ----------
  session_label : Timestamp
      The label of the session that is about to begin.
  data_portal : DataPortal
      The current data portal.
docstr_tok: ["Handles","the","start","of","each","session",".","Parameters","--","--","--","--","--","session_label",":","Timestamp","The","label","of","the","session","that","is","about","to","begin",".","data_portal",":","DataPortal","The","current","data","portal","."]
code: def handle_market_open(self, session_label, data_portal):
      """Handles the start of each session.
  
      Parameters
      ----------
      session_label : Timestamp
          The label of the session that is about to begin.
      data_portal : DataPortal
          The current data portal.
      """
      ledger = self._ledger
      ledger.start_of_session(session_label)
  
      adjustment_reader = data_portal.adjustment_reader
      if adjustment_reader is not None:
          # this is None when running with a dataframe source
          ledger.process_dividends(
              session_label,
              self._asset_finder,
              adjustment_reader,
          )
  
      self._current_session = session_label
  
      cal = self._trading_calendar
      (
          self._market_open,
          self._market_close,
      ) = self._execution_open_and_close(
          cal,
          session_label,
      )
  
      self.start_of_session(ledger, session_label, data_portal)
  
imports: from __future__ import division
  import logbook
  from ..ledger import Ledger
  from zipline.utils.exploding_object import NamedExplodingObject
label_desc: Use image node_id 17 for calling the MetricsTracker obj's underlying member method code with example usage: obj.handle_market_open(session_label, data_portal) without return types