code: def register_view(self, view, timestamp):
          
          if len(self.exporters) > 0:
              try:
                  for e in self.exporters:
                      e.on_register_view(view)
              except AttributeError:
                  pass
  
          self._exported_views = None
          existing_view = self._registered_views.get(view.name)
          if existing_view is not None:
              if existing_view == view:
                  # ignore the views that are already registered
                  return
              else:
                  logging.warning(
                      "A different view with the same name is already registered"
                  )  # pragma: NO COVER
          measure = view.measure
          registered_measure = self._registered_measures.get(measure.name)
          if registered_measure is not None and registered_measure != measure:
              logging.warning(
                  "A different measure with the same name is already registered")
          self._registered_views[view.name] = view
          if registered_measure is None:
              self._registered_measures[measure.name] = measure
          self._measure_to_view_data_list_map[view.measure.name].append(
              view_data_module.ViewData(view=view, start_time=timestamp,
                                        end_time=timestamp))
docs: registers the view's measure name to View Datas given a view