# File lib/rack/perftools_profiler/profiler.rb, line 31
    def initialize(app, options)
      @printer     = (options.delete(:default_printer) { DEFAULT_PRINTER }).to_sym
      @frequency   = (options.delete(:frequency) { UNSET_FREQUENCY }).to_s
      @mode        = (options.delete(:mode) { DEFAULT_MODE }).to_sym
      @bundler     = options.delete(:bundler) { false }
      @gemfile_dir = options.delete(:gemfile_dir) { DEFAULT_GEMFILE_DIR }
      @password    = options.delete(:password) { :not_set }
      @mode_for_request = nil
      ProfileDataAction.check_printer(@printer)
      ensure_mode_is_valid(@mode)
      # We need to set the enviroment variables before loading perftools
      set_env_vars
      require 'perftools'
      raise ProfilerArgumentError, "Invalid option(s): #{options.keys.join(' ')}" unless options.empty?
    end