Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kimberlythegeek/321c627ceb77870561fa61f7b9eff86c to your computer and use it in GitHub Desktop.
Save kimberlythegeek/321c627ceb77870561fa61f7b9eff86c to your computer and use it in GitHub Desktop.
./mach raptor --verbose --browsertime -t reddit --chimera --page-cycles 2 --browser-cycles 1 --post-startup-delay 1
Updating external benchmarks from https://github.com/mozilla/perf-automation
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
Already up to date.
Note: checking out '54c3c3d9d3f651f0d8ebb809d25232f72b5b06f2'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 54c3c3d Merge pull request #22 from alexandru-io/migrate_benchmarks_to_btime
Using browsertime version 14.5.0 from browsertime@https://github.com/sitespeedio/browsertime/tarball/bcdaeaebbbaa40c845e6171526c642668852c573
16:37:06 INFO - ConsoleLogger online at 20211028 16:37:06Z in /home/kimberly/Workspace/mozilla-unified
16:37:06 INFO - Run as ./mach raptor --verbose --browsertime -t reddit --chimera --page-cycles 2 --browser-cycles 1 --post-startup-delay 1
16:37:06 INFO - Dumping config to /home/kimberly/Workspace/mozilla-unified/testing/mozharness/logs/localconfig.json.
16:37:06 INFO - {'app': 'firefox',
16:37:06 INFO - 'append_to_log': False,
16:37:06 INFO - 'base_work_dir': '/home/kimberly/Workspace/mozilla-unified/testing/mozharness',
16:37:06 INFO - 'binary_path': '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox',
16:37:06 INFO - 'browsertime': False,
16:37:06 INFO - 'browsertime_browsertimejs': '/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js',
16:37:06 INFO - 'browsertime_no_ffwindowrecorder': False,
16:37:06 INFO - 'browsertime_node': '/home/kimberly/.mozbuild/node/bin/node',
16:37:06 INFO - 'browsertime_video': False,
16:37:06 INFO - 'browsertime_vismet_script': '/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/browsertime/visualmetrics.py',
16:37:06 INFO - 'browsertime_visualmetrics': False,
16:37:06 INFO - 'chimera': False,
16:37:06 INFO - 'code_coverage': False,
16:37:06 INFO - 'cold': False,
16:37:06 INFO - 'conditioned_profile': None,
16:37:06 INFO - 'config_files': (),
16:37:06 INFO - 'cpu_test': False,
16:37:06 INFO - 'debug_mode': False,
16:37:06 INFO - 'default_actions': ('populate-webroot',
16:37:06 INFO - 'create-virtualenv',
16:37:06 INFO - 'install-chromium-distribution',
16:37:06 INFO - 'run-tests'),
16:37:06 INFO - 'device_name': None,
16:37:06 INFO - 'disable_ccov_upload': False,
16:37:06 INFO - 'disable_perf_tuning': False,
16:37:06 INFO - 'e10s': True,
16:37:06 INFO - 'enable_fission': False,
16:37:06 INFO - 'enable_marionette_trace': False,
16:37:06 INFO - 'enable_webrender': False,
16:37:06 INFO - 'environment': (),
16:37:06 INFO - 'exes': {'python': '/home/kimberly/.mozbuild/_virtualenvs/mach/bin/python',
16:37:06 INFO - 'virtualenv': ('/home/kimberly/.mozbuild/_virtualenvs/mach/bin/python',
16:37:06 INFO - '/home/kimberly/Workspace/mozilla-unified/third_party/python/virtualenv/virtualenv.py')},
16:37:06 INFO - 'extra_prefs': (),
16:37:06 INFO - 'find_links': ('https://pypi.pub.build.mozilla.org/pub/',),
16:37:06 INFO - 'gecko_profile': False,
16:37:06 INFO - 'host': '127.0.0.1',
16:37:06 INFO - 'is_release_build': False,
16:37:06 INFO - 'java_code_coverage': False,
16:37:06 INFO - 'live_sites': False,
16:37:06 INFO - 'log_level': 'info',
16:37:06 INFO - 'log_name': 'raptor',
16:37:06 INFO - 'log_to_console': True,
16:37:06 INFO - 'memory_test': False,
16:37:06 INFO - 'noinstall': False,
16:37:06 INFO - 'obj_path': '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu',
16:37:06 INFO - 'opt_config_files': (),
16:37:06 INFO - 'per_test_coverage': False,
16:37:06 INFO - 'pip_index': False,
16:37:06 INFO - 'power_test': False,
16:37:06 INFO - 'project': 'mozilla-central',
16:37:06 INFO - 'pypi_url': 'http://pypi.org/simple',
16:37:06 INFO - 'raptor_cmd_line_args': ('--verbose',
16:37:06 INFO - '--browsertime',
16:37:06 INFO - '-t',
16:37:06 INFO - 'reddit',
16:37:06 INFO - '--chimera',
16:37:06 INFO - '--page-cycles',
16:37:06 INFO - '2',
16:37:06 INFO - '--browser-cycles',
16:37:06 INFO - '1',
16:37:06 INFO - '--post-startup-delay',
16:37:06 INFO - '1'),
16:37:06 INFO - 'raptor_path': '/home/kimberly/Workspace/mozilla-unified/testing/raptor',
16:37:06 INFO - 'repo_path': '/home/kimberly/Workspace/mozilla-unified',
16:37:06 INFO - 'run_local': True,
16:37:06 INFO - 'skip_preflight': False,
16:37:06 INFO - 'title': 'kimberly-Prestige-14-A10SC',
16:37:06 INFO - 'verbose': False,
16:37:06 INFO - 'verify': False,
16:37:06 INFO - 'virtualenv_path': '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv',
16:37:06 INFO - 'volatile_config': {'actions': None, 'add_actions': None, 'no_actions': None},
16:37:06 INFO - 'work_dir': 'build'}
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.721244Z] Skipping clobber step.
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.721339Z] Skipping download-and-extract step.
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.721445Z] Running populate-webroot step.
16:37:06 INFO - Running pre-action listener: _resource_record_pre_action
16:37:06 INFO - Running main action method: populate_webroot
16:37:06 INFO - Running post-action listener: _resource_record_post_action
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.721812Z] Finished populate-webroot step (success)
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.721892Z] Running create-virtualenv step.
16:37:06 INFO - Running pre-action listener: _resource_record_pre_action
16:37:06 INFO - Running main action method: create_virtualenv
16:37:06 INFO - Virtualenv already exists, skipping creation
16:37:06 INFO - Running post-action listener: _resource_record_post_action
16:37:06 INFO - Running post-action listener: _start_resource_monitoring
16:37:06 INFO - Starting resource monitoring.
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.730617Z] Finished create-virtualenv step (success)
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.731384Z] Skipping install-chrome-android step.
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.731508Z] Running install-chromium-distribution step.
16:37:06 INFO - Running pre-action listener: _resource_record_pre_action
16:37:06 INFO - Running main action method: install_chromium_distribution
16:37:06 INFO - Google Chrome or Chromium distributions are not required.
16:37:06 INFO - Running post-action listener: _resource_record_post_action
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.732288Z] Finished install-chromium-distribution step (success)
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.732377Z] Skipping install step.
16:37:06 INFO - [mozharness: 2021-10-28 16:37:06.732464Z] Running run-tests step.
16:37:06 INFO - Running pre-action listener: _resource_record_pre_action
16:37:06 INFO - Running pre-action listener: _set_gcov_prefix
16:37:06 INFO - Running pre-action listener: timed_screenshots
16:37:06 INFO - Running main action method: run_tests
16:37:06 INFO - Running command: ['/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv/bin/python', '--version']
16:37:06 INFO - Copy/paste: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv/bin/python --version
16:37:06 INFO - Python 3.6.9
16:37:06 INFO - Return code: 0
16:37:06 INFO - ENV: MOZ_UPLOAD_DIR is now /home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/blobber_upload_dir
16:37:06 INFO - ENV: MINIDUMP_SAVE_PATH is now /home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/blobber_upload_dir
16:37:06 INFO - ENV: RUST_BACKTRACE is now full
16:37:06 INFO - Running command: ['/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv/bin/python', '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/raptor.py', '--run-local', '--verbose', '--browsertime', '-t', 'reddit', '--chimera', '--page-cycles', '2', '--browser-cycles', '1', '--post-startup-delay', '1', '--browsertime-node', '/home/kimberly/.mozbuild/node/bin/node', '--browsertime-browsertimejs', '/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js', '--browsertime-vismet-script', '/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/browsertime/visualmetrics.py', '--app', 'firefox', '--binary', '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox', '--obj-path', '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu', '--host', '127.0.0.1', '--log-tbpl-level=debug'] in /home/kimberly/Workspace/mozilla-unified/testing/mozharness/build
16:37:06 INFO - Copy/paste: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv/bin/python /home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/raptor.py --run-local --verbose --browsertime -t reddit --chimera --page-cycles 2 --browser-cycles 1 --post-startup-delay 1 --browsertime-node /home/kimberly/.mozbuild/node/bin/node --browsertime-browsertimejs /home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js --browsertime-vismet-script /home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/browsertime/visualmetrics.py --app firefox --binary /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox --obj-path /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu --host 127.0.0.1 --log-tbpl-level=debug
16:37:06 INFO - Using env: {'CLUTTER_IM_MODULE': 'xim',
16:37:06 INFO - 'COLORTERM': 'truecolor',
16:37:06 INFO - 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus',
16:37:06 INFO - 'DESKTOP_SESSION': 'ubuntu',
16:37:06 INFO - 'DISPLAY': ':0',
16:37:06 INFO - 'EXTERNALTOOLSPATH': '/home/kimberly/Workspace/mozilla-unified/testing/mozharness/external_tools',
16:37:06 INFO - 'GDMSESSION': 'ubuntu',
16:37:06 INFO - 'GJS_DEBUG_OUTPUT': 'stderr',
16:37:06 INFO - 'GJS_DEBUG_TOPICS': 'JS ERROR;JS LOG',
16:37:06 INFO - 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated',
16:37:06 INFO - 'GNOME_SHELL_SESSION_MODE': 'ubuntu',
16:37:06 INFO - 'GNOME_TERMINAL_SCREEN': '/org/gnome/Terminal/screen/df7ede10_2497_45d9_aed3_ce045e098f96',
16:37:06 INFO - 'GNOME_TERMINAL_SERVICE': ':1.70',
16:37:06 INFO - 'GPG_AGENT_INFO': '/run/user/1000/gnupg/S.gpg-agent:0:1',
16:37:06 INFO - 'GTK_IM_MODULE': 'ibus',
16:37:06 INFO - 'GTK_MODULES': 'gail:atk-bridge',
16:37:06 INFO - 'HOME': '/home/kimberly',
16:37:06 INFO - 'IM_CONFIG_PHASE': '2',
16:37:06 INFO - 'LANG': 'en_US.UTF-8',
16:37:06 INFO - 'LESSCLOSE': '/usr/bin/lesspipe %s %s',
16:37:06 INFO - 'LESSOPEN': '| /usr/bin/lesspipe %s',
16:37:06 INFO - 'LOGNAME': 'kimberly',
16:37:06 INFO - 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:',
16:37:06 INFO - 'MACH_MAIN_PID': '25485',
16:37:06 INFO - 'MACH_STDOUT_ISATTY': '1',
16:37:06 INFO - 'MINIDUMP_SAVE_PATH': '/home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/blobber_upload_dir',
16:37:06 INFO - 'MOZ_DEVELOPER_OBJ_DIR': '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu',
16:37:06 INFO - 'MOZ_DEVELOPER_REPO_DIR': '/home/kimberly/Workspace/mozilla-unified',
16:37:06 INFO - 'MOZ_UPLOAD_DIR': '/home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/blobber_upload_dir',
16:37:06 INFO - 'OLDPWD': '/home/kimberly',
16:37:06 INFO - 'PATH': '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv/bin:/home/kimberly/bin/watchman:/usr/local/bin:/home/kimberly/bin/ffmpeg-4.1.4-i686-static:/home/kimberly/.local/bin:/home/kimberly/bin:/home/kimberly/Workspace/mozilla-unified/node_modules/.bin:/home/kimberly/bin/watchman:/usr/local/bin:/home/kimberly/bin/ffmpeg-4.1.4-i686-static:/home/kimberly/.local/bin:/home/kimberly/bin:/home/kimberly/.cargo/bin:/home/kimberly/.local/bin:/home/kimberly/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin',
16:37:06 INFO - 'PS1': '\\[\\e]0;\\u@\\h: '
16:37:06 INFO - '\\w\\a\\]${debian_chroot:+($debian_chroot)}\\[\\033[01;32m\\]\\u@\\h\\[\\033[00m\\]:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ ',
16:37:06 INFO - 'PWD': '/home/kimberly/Workspace/mozilla-unified',
16:37:06 INFO - 'PYTHONPATH': '/home/kimberly/Workspace/mozilla-unified/testing/raptor',
16:37:06 INFO - 'QT4_IM_MODULE': 'xim',
16:37:06 INFO - 'QT_ACCESSIBILITY': '1',
16:37:06 INFO - 'QT_IM_MODULE': 'ibus',
16:37:06 INFO - 'RUST_BACKTRACE': 'full',
16:37:06 INFO - 'SCRIPTSPATH': '/home/kimberly/Workspace/mozilla-unified/testing/mozharness',
16:37:06 INFO - 'SESSION_MANAGER': 'local/kimberly-Prestige-14-A10SC:@/tmp/.ICE-unix/1136,unix/kimberly-Prestige-14-A10SC:/tmp/.ICE-unix/1136',
16:37:06 INFO - 'SHELL': '/bin/bash',
16:37:06 INFO - 'SHLVL': '2',
16:37:06 INFO - 'SSH_AGENT_PID': '1231',
16:37:06 INFO - 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh',
16:37:06 INFO - 'TASKCLUSTER_ROOT_URL': 'https://firefox-ci-tc.services.mozilla.com',
16:37:06 INFO - 'TERM': 'xterm-256color',
16:37:06 INFO - 'TERMINAL_EMULATOR': 'JetBrains-JediTerm',
16:37:06 INFO - 'TERM_SESSION_ID': '68389fcb-2df6-4ab4-956e-e62a9b546754',
16:37:06 INFO - 'TEXTDOMAIN': 'im-config',
16:37:06 INFO - 'TEXTDOMAINDIR': '/usr/share/locale/',
16:37:06 INFO - 'USER': 'kimberly',
16:37:06 INFO - 'USERNAME': 'kimberly',
16:37:06 INFO - 'VIRTUAL_ENV': '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv',
16:37:06 INFO - 'VTE_VERSION': '5202',
16:37:06 INFO - 'WINDOWPATH': '1',
16:37:06 INFO - 'XAUTHORITY': '/run/user/1000/gdm/Xauthority',
16:37:06 INFO - 'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/etc/xdg',
16:37:06 INFO - 'XDG_CURRENT_DESKTOP': 'ubuntu:GNOME',
16:37:06 INFO - 'XDG_DATA_DIRS': '/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop',
16:37:06 INFO - 'XDG_MENU_PREFIX': 'gnome-',
16:37:06 INFO - 'XDG_RUNTIME_DIR': '/run/user/1000',
16:37:06 INFO - 'XDG_SEAT': 'seat0',
16:37:06 INFO - 'XDG_SESSION_DESKTOP': 'ubuntu',
16:37:06 INFO - 'XDG_SESSION_ID': '1',
16:37:06 INFO - 'XDG_SESSION_TYPE': 'x11',
16:37:06 INFO - 'XDG_VTNR': '1',
16:37:06 INFO - 'XMODIFIERS': '@im=ibus',
16:37:06 INFO - '_': './mach'}
16:37:06 INFO - Calling ['/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv/bin/python', '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/raptor.py', '--run-local', '--verbose', '--browsertime', '-t', 'reddit', '--chimera', '--page-cycles', '2', '--browser-cycles', '1', '--post-startup-delay', '1', '--browsertime-node', '/home/kimberly/.mozbuild/node/bin/node', '--browsertime-browsertimejs', '/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js', '--browsertime-vismet-script', '/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/browsertime/visualmetrics.py', '--app', 'firefox', '--binary', '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox', '--obj-path', '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu', '--host', '127.0.0.1', '--log-tbpl-level=debug'] with output_timeout 3600
16:37:07 INFO - raptor-main Info: Python version: 3.6.9 (default, Jan 26 2021, 15:33:00)
16:37:07 INFO - [GCC 8.4.0]
16:37:07 INFO - raptor-main Info: raptor-start
16:37:07 INFO - raptor-main Info: received command line arguments: Namespace(activity=None, app='firefox', binary='/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox', browser_cycles=1, browsertime=True, browsertime_browsertimejs='/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js', browsertime_chromedriver=None, browsertime_ffmpeg=None, browsertime_geckodriver=None, browsertime_no_ffwindowrecorder=False, browsertime_node='/home/kimberly/.mozbuild/node/bin/node', browsertime_video=False, browsertime_vismet_script='/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/browsertime/visualmetrics.py', browsertime_visualmetrics=False, chimera=True, cold=True, conditioned_profile=None, cpu_test=False, debug_mode=False, device_name=None, disable_perf_tuning=False, e10s=True, enable_fission=False, enable_marionette_trace=False, enable_webrender=False, environment={}, extra_prefs={}, gecko_profile=False, gecko_profile_entries=None, gecko_profile_extra_threads=[], gecko_profile_features=None, gecko_profile_interval=None, gecko_profile_threads=None, host='127.0.0.1', installerpath=None, intent=None, is_release_build=False, live_sites=False, log_errorsummary=None, log_grouped=None, log_html=None, log_mach=None, log_mach_buffer=None, log_mach_level=None, log_mach_screenshot=None, log_mach_verbose=None, log_raw=None, log_raw_level=None, log_tbpl=None, log_tbpl_buffer=None, log_tbpl_compact=None, log_tbpl_level='debug', log_unittest=None, log_xunit=None, memory_test=False, noinstall=False, obj_path='/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu', page_cycles=2, page_timeout=None, post_startup_delay=1, power_test=False, project='mozilla-central', run_local=True, symbols_path=None, test='reddit', test_url_params=None, verbose=True)
16:37:07 INFO - raptor-manifest Info: /home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/raptor.ini
16:37:07 INFO - raptor-manifest Info: configuring settings for test reddit
16:37:07 INFO - raptor-manifest Info: setting page-cycles to 2 as specified on cmd line
16:37:07 INFO - raptor-manifest Info: setting browser-cycles to 1 as specified on cmd line
16:37:07 INFO - raptor-main Info: raptor tests scheduled to run:
16:37:07 INFO - raptor-main Info: reddit
16:37:07 INFO - raptor-perftest Info: Using an empty profile.
16:37:07 INFO - mozversion application_buildid: 20211018104554
16:37:07 INFO - mozversion application_changeset: ee8efced380b871deac4fba285955953a4a89ef5
16:37:07 INFO - mozversion application_display_name: Nightly
16:37:07 INFO - mozversion application_id: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
16:37:07 INFO - mozversion application_name: Firefox
16:37:07 INFO - mozversion application_remotingname: firefox
16:37:07 INFO - mozversion application_vendor: Mozilla
16:37:07 INFO - mozversion application_version: 95.0a1
16:37:07 INFO - mozversion platform_buildid: 20211018104554
16:37:07 INFO - mozversion platform_changeset: ee8efced380b871deac4fba285955953a4a89ef5
16:37:07 INFO - mozversion platform_version: 95.0a1
16:37:07 INFO - raptor-perftest Info: Browser name: Firefox
16:37:07 INFO - raptor-perftest Info: Browser version: 95.0a1
16:37:07 INFO - mozversion application_buildid: 20211018104554
16:37:07 INFO - mozversion application_changeset: ee8efced380b871deac4fba285955953a4a89ef5
16:37:07 INFO - mozversion application_display_name: Nightly
16:37:07 INFO - mozversion application_id: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
16:37:07 INFO - mozversion application_name: Firefox
16:37:07 INFO - mozversion application_remotingname: firefox
16:37:07 INFO - mozversion application_vendor: Mozilla
16:37:07 INFO - mozversion application_version: 95.0a1
16:37:07 INFO - mozversion platform_buildid: 20211018104554
16:37:07 INFO - mozversion platform_changeset: ee8efced380b871deac4fba285955953a4a89ef5
16:37:07 INFO - mozversion platform_version: 95.0a1
16:37:07 INFO - raptor-perftest Info: Browser name: Firefox
16:37:07 INFO - raptor-perftest Info: Browser version: 95.0a1
16:37:07 INFO - raptor-perftest Info: Post startup delay set to 1 ms
16:37:07 INFO - raptor-perftest Info: main raptor init, config is: {'app': 'firefox', 'binary': '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox', 'platform': 'linux', 'processor': 'x86_64', 'run_local': True, 'obj_path': '/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu', 'gecko_profile': False, 'gecko_profile_interval': None, 'gecko_profile_entries': None, 'gecko_profile_extra_threads': [], 'gecko_profile_threads': None, 'gecko_profile_features': None, 'symbols_path': None, 'host': '127.0.0.1', 'power_test': False, 'memory_test': False, 'cpu_test': False, 'cold': True, 'live_sites': False, 'is_release_build': False, 'enable_control_server_wait': False, 'e10s': True, 'enable_webrender': False, 'device_name': None, 'enable_fission': False, 'disable_perf_tuning': False, 'conditioned_profile': None, 'chimera': True, 'extra_prefs': {}, 'environment': {'MOZ_WEBRENDER': '0'}, 'project': 'mozilla-central', 'verbose': True}
16:37:07 INFO - raptor-perftest Info: Merging profile: /home/kimberly/Workspace/mozilla-unified/testing/profiles/base
16:37:07 INFO - raptor-perftest Info: Merging profile: /home/kimberly/Workspace/mozilla-unified/testing/profiles/common
16:37:07 INFO - raptor-perftest Info: Merging profile: /home/kimberly/Workspace/mozilla-unified/testing/profiles/perf
16:37:07 INFO - raptor-perftest Info: Merging profile: /home/kimberly/Workspace/mozilla-unified/testing/profiles/raptor
16:37:07 INFO - raptor-perftest Info: Local browser profile: /tmp/tmpmkqr84wi.mozrunner
16:37:07 INFO - raptor-browsertime Info: Removing mozprofile delimiters from browser profile
16:37:07 INFO - raptor-browsertime Info: cwd: '/home/kimberly/Workspace/mozilla-unified/testing/mozharness/build'
16:37:07 INFO - raptor-browsertime Info: browsertime_node: /home/kimberly/.mozbuild/node/bin/node
16:37:07 INFO - raptor-browsertime Info: browsertime_node: os.stat_result(st_mode=33261, st_ino=1348503, st_dev=66313, st_nlink=1, st_uid=1000, st_gid=1000, st_size=48928552, st_atime=1635438017, st_mtime=1617721616, st_ctime=1632152665)
16:37:07 INFO - raptor-browsertime Info: browsertime_browsertimejs: /home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js
16:37:07 INFO - raptor-browsertime Info: browsertime_browsertimejs: os.stat_result(st_mode=33277, st_ino=2638718, st_dev=66313, st_nlink=1, st_uid=1000, st_gid=1000, st_size=4988, st_atime=1635438105, st_mtime=1633607361, st_ctime=1635438103)
16:37:07 INFO - raptor-browsertime Info: browsertime_geckodriver: None
16:37:07 INFO - raptor-browsertime Info: browsertime_geckodriver: stat: path should be string, bytes, os.PathLike or integer, not NoneType
16:37:07 INFO - raptor-browsertime Info: browsertime_chromedriver: None
16:37:07 INFO - raptor-browsertime Info: browsertime_chromedriver: stat: path should be string, bytes, os.PathLike or integer, not NoneType
16:37:07 INFO - raptor-perftest Info: starting test: reddit
16:37:07 INFO - raptor-perftest Info: test uses playback tool: mitmproxy
16:37:07 INFO - raptor-mitmproxy Info: mozproxy_dir used for mitmproxy downloads and exe files: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/mozproxy
16:37:07 INFO - raptor-mitmproxy Info: Playback tool: mitmproxy
16:37:07 INFO - raptor-mitmproxy Info: Playback tool version: 6.0.2
16:37:07 INFO - raptor-mitmproxy Info: mitmproxy binary already exists. Skipping download
16:37:07 INFO - raptor-mitmproxy Info: downloading mitmproxy pageset
16:37:07 INFO - raptor-mitmproxy Info: b"INFO - Attempting to fetch from 'https://tooltool.mozilla-releng.net/'..."
16:37:11 INFO - raptor-mitmproxy Info: b'INFO - File mitm6-linux-firefox-reddit.zip fetched from https://tooltool.mozilla-releng.net/ as /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/mozproxy/tmp9o461pru'
16:37:11 INFO - raptor-mitmproxy Info: b'INFO - File integrity verified, renaming tmp9o461pru to mitm6-linux-firefox-reddit.zip'
16:37:11 INFO - raptor-mitmproxy Info: Adding /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/mozproxy/mitm6-linux-firefox-reddit.zip to recording list
16:37:11 INFO - raptor-mitmproxy Info: Loaded recoording generated on 2021-09-17 17:12:30.148960
16:37:11 INFO - raptor-mitmproxy Info: mitmdump path: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/mozproxy/mitmdump-6.0.2/mitmdump
16:37:11 INFO - raptor-mitmproxy Info: browser path: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox
16:37:11 INFO - raptor-mitmproxy Info: Starting mitmproxy playback using env path: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin:/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv/bin:/home/kimberly/bin/watchman:/usr/local/bin:/home/kimberly/bin/ffmpeg-4.1.4-i686-static:/home/kimberly/.local/bin:/home/kimberly/bin:/home/kimberly/Workspace/mozilla-unified/node_modules/.bin:/home/kimberly/bin/watchman:/usr/local/bin:/home/kimberly/bin/ffmpeg-4.1.4-i686-static:/home/kimberly/.local/bin:/home/kimberly/bin:/home/kimberly/.cargo/bin:/home/kimberly/.local/bin:/home/kimberly/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
16:37:11 INFO - raptor-mitmproxy Info: Starting mitmproxy playback using command: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/mozproxy/mitmdump-6.0.2/mitmdump -v --listen-host 127.0.0.1 --listen-port 34993 --set upstream_cert=false --set upload_dir=/home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/blobber_upload_dir --set websocket=false --set server_replay_files=/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/mozproxy/mitm6-linux-firefox-reddit/dump.mp --scripts /home/kimberly/Workspace/mozilla-unified/testing/mozbase/mozproxy/mozproxy/backends/mitm/scripts/alternate-server-replay.py
16:37:12 INFO - raptor-mitmproxy Info: Mitmproxy playback successfully started on 127.0.0.1:34993 as pid 25624
16:37:12 INFO - raptor-mitmproxy Info: Installing mitmproxy CA certficate into Firefox
16:37:12 INFO - raptor-mitmproxy Info: folder already exists: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/distribution
16:37:12 INFO - raptor-mitmproxy Info: writing: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/distribution/policies.json
16:37:12 INFO - raptor-mitmproxy Info: reading: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/distribution/policies.json
16:37:12 INFO - raptor-mitmproxy Info: Firefox policies file contents:
16:37:12 INFO - raptor-mitmproxy Info: {
16:37:12 INFO - "policies": {
16:37:12 INFO - "Certificates": {
16:37:12 INFO - "Install": ["/home/kimberly/.mitmproxy/mitmproxy-ca-cert.cer"]
16:37:12 INFO - },
16:37:12 INFO - "Proxy": {
16:37:12 INFO - "Mode": "manual",
16:37:12 INFO - "HTTPProxy": "127.0.0.1:34993",
16:37:12 INFO - "SSLProxy": "127.0.0.1:34993",
16:37:12 INFO - "Passthrough": "127.0.0.1",
16:37:12 INFO - "Locked": true
16:37:12 INFO - }
16:37:12 INFO - }
16:37:12 INFO - }
16:37:12 INFO - raptor-mitmproxy Info: Verified mitmproxy CA certificate is installed in Firefox
16:37:12 INFO - raptor-browsertime Info: test: {'here': '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/tests/tp6/desktop', 'alert_on': ['fcp', 'loadtime'], 'alert_threshold': '2.0', 'apps': 'firefox, chrome, chromium', 'browser_cycles': 1, 'lower_is_better': True, 'measure': ['fnbpaint', 'fcp', 'dcf', 'loadtime'], 'page_cycles': 2, 'page_timeout': '60000', 'playback': 'mitmproxy', 'playback_pageset_manifest': 'mitm6-linux-firefox-reddit.manifest', 'playback_version': '6.0.2', 'type': 'pageload', 'unit': 'ms', 'use_live_sites': 'false', 'test_url': 'https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/', 'secondary_url': 'https://www.reddit.com/r/technology/', 'name': 'reddit', 'manifest': '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/tests/tp6/desktop/browsertime-tp6.ini', 'manifest_relpath': 'tests/tp6/desktop/browsertime-tp6.ini', 'path': '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/tests/tp6/desktop/reddit', 'relpath': 'tests/tp6/desktop/reddit', 'ancestor_manifest': 'raptor.ini', 'expected': 'pass', 'cold': True, 'expected_browser_cycles': 1, 'browser_cycle': 1}
16:37:12 INFO - raptor-browsertime-desktop Info: binary_path: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox
16:37:12 INFO - raptor-browsertime Info: timeout (s): 60000
16:37:12 INFO - raptor-browsertime Info: browsertime cwd: /home/kimberly/Workspace/mozilla-unified/testing/mozharness/build
16:37:12 INFO - raptor-browsertime Info: browsertime cmd: /home/kimberly/.mozbuild/node/bin/node /home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js /home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/browsertime/../../browsertime/browsertime_pageload.js --firefox.noDefaultPrefs --browsertime.page_cycle_delay 1000 --skipHar --pageLoadStrategy none --webdriverPageload true --firefox.disableBrowsertimeExtension true --pageCompleteCheckStartWait 5000 --pageCompleteCheckPollTimeout 1000 --timeouts.pageLoad 60000 --timeouts.script 120000 --browsertime.page_cycles 2 --pageCompleteWaitTime 5000 --browsertime.url https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/ --browsertime.post_startup_delay 1 --browsertime.secondary_url https://www.reddit.com/r/technology/ --firefox.env MOZ_WEBRENDER=0 --browsertime.commands -vvv --viewPort 1024x768 --browser firefox --firefox.binaryPath /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox --firefox.profileTemplate /tmp/tmpmkqr84wi.mozrunner --resultDir /home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/blobber_upload_dir/browsertime-results/reddit --video false --visualMetrics false -n 1
16:37:12 INFO - raptor-browsertime Info: PATH: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/testing/raptor-venv/bin:/home/kimberly/bin/watchman:/usr/local/bin:/home/kimberly/bin/ffmpeg-4.1.4-i686-static:/home/kimberly/.local/bin:/home/kimberly/bin:/home/kimberly/Workspace/mozilla-unified/node_modules/.bin:/home/kimberly/bin/watchman:/usr/local/bin:/home/kimberly/bin/ffmpeg-4.1.4-i686-static:/home/kimberly/.local/bin:/home/kimberly/bin:/home/kimberly/.cargo/bin:/home/kimberly/.local/bin:/home/kimberly/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
16:37:12 INFO - raptor-browsertime Info: [browsertime] Running with options: {
16:37:12 INFO - raptor-browsertime Info: "scripts": [],
16:37:12 INFO - raptor-browsertime Info: "iterations": 1,
16:37:12 INFO - raptor-browsertime Info: "delay": 0,
16:37:12 INFO - raptor-browsertime Info: "videoParams": {
16:37:12 INFO - raptor-browsertime Info: "framerate": 30,
16:37:12 INFO - raptor-browsertime Info: "crf": 23,
16:37:12 INFO - raptor-browsertime Info: "addTimer": true,
16:37:12 INFO - raptor-browsertime Info: "debug": false,
16:37:12 INFO - raptor-browsertime Info: "keepOriginalVideo": false,
16:37:12 INFO - raptor-browsertime Info: "filmstripFullSize": false,
16:37:12 INFO - raptor-browsertime Info: "filmstripQuality": 75,
16:37:12 INFO - raptor-browsertime Info: "createFilmstrip": true,
16:37:12 INFO - raptor-browsertime Info: "nice": 0,
16:37:12 INFO - raptor-browsertime Info: "convert": true,
16:37:12 INFO - raptor-browsertime Info: "threads": 0
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "_": [
16:37:12 INFO - raptor-browsertime Info: "/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/browsertime/../../browsertime/browsertime_pageload.js"
16:37:12 INFO - raptor-browsertime Info: ],
16:37:12 INFO - raptor-browsertime Info: "firefox": {
16:37:12 INFO - raptor-browsertime Info: "noDefaultPrefs": true,
16:37:12 INFO - raptor-browsertime Info: "no-default-prefs": true,
16:37:12 INFO - raptor-browsertime Info: "disableBrowsertimeExtension": true,
16:37:12 INFO - raptor-browsertime Info: "disable-browsertime-extension": true,
16:37:12 INFO - raptor-browsertime Info: "env": "MOZ_WEBRENDER=0",
16:37:12 INFO - raptor-browsertime Info: "binaryPath": "/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox",
16:37:12 INFO - raptor-browsertime Info: "binary-path": "/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox",
16:37:12 INFO - raptor-browsertime Info: "profileTemplate": "/tmp/tmpmkqr84wi.mozrunner",
16:37:12 INFO - raptor-browsertime Info: "profile-template": "/tmp/tmpmkqr84wi.mozrunner",
16:37:12 INFO - raptor-browsertime Info: "includeResponseBodies": "none",
16:37:12 INFO - raptor-browsertime Info: "include-response-bodies": "none",
16:37:12 INFO - raptor-browsertime Info: "appconstants": false,
16:37:12 INFO - raptor-browsertime Info: "windowRecorder": false,
16:37:12 INFO - raptor-browsertime Info: "window-recorder": false,
16:37:12 INFO - raptor-browsertime Info: "memoryReport": false,
16:37:12 INFO - raptor-browsertime Info: "memory-report": false,
16:37:12 INFO - raptor-browsertime Info: "memoryReportParams": {
16:37:12 INFO - raptor-browsertime Info: "minizeFirst": false
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "memory-report-params": {
16:37:12 INFO - raptor-browsertime Info: "minize-first": false
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "geckoProfiler": false,
16:37:12 INFO - raptor-browsertime Info: "gecko-profiler": false,
16:37:12 INFO - raptor-browsertime Info: "geckoProfilerParams": {
16:37:12 INFO - raptor-browsertime Info: "features": "js,stackwalk,leaf",
16:37:12 INFO - raptor-browsertime Info: "threads": "GeckoMain,Compositor,Renderer",
16:37:12 INFO - raptor-browsertime Info: "bufferSize": 13107200
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "gecko-profiler-params": {
16:37:12 INFO - raptor-browsertime Info: "features": "js,stackwalk,leaf",
16:37:12 INFO - raptor-browsertime Info: "threads": "GeckoMain,Compositor,Renderer",
16:37:12 INFO - raptor-browsertime Info: "buffer-size": 13107200
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "perfStats": false,
16:37:12 INFO - raptor-browsertime Info: "perf-stats": false,
16:37:12 INFO - raptor-browsertime Info: "perfStatsParams": {
16:37:12 INFO - raptor-browsertime Info: "mask": 4294967295
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "perf-stats-params": {
16:37:12 INFO - raptor-browsertime Info: "mask": 4294967295
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "setMozLog": "timestamp,nsHttp:5,cache2:5,nsSocketTransport:5,nsHostResolver:5",
16:37:12 INFO - raptor-browsertime Info: "set-moz-log": "timestamp,nsHttp:5,cache2:5,nsSocketTransport:5,nsHostResolver:5",
16:37:12 INFO - raptor-browsertime Info: "disableSafeBrowsing": true,
16:37:12 INFO - raptor-browsertime Info: "disable-safe-browsing": true,
16:37:12 INFO - raptor-browsertime Info: "disableTrackingProtection": true,
16:37:12 INFO - raptor-browsertime Info: "disable-tracking-protection": true
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "browsertime": {
16:37:12 INFO - raptor-browsertime Info: "page_cycle_delay": 1000,
16:37:12 INFO - raptor-browsertime Info: "page_cycles": 2,
16:37:12 INFO - raptor-browsertime Info: "url": "https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/",
16:37:12 INFO - raptor-browsertime Info: "post_startup_delay": 1,
16:37:12 INFO - raptor-browsertime Info: "secondary_url": "https://www.reddit.com/r/technology/",
16:37:12 INFO - raptor-browsertime Info: "commands": ""
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "skipHar": true,
16:37:12 INFO - raptor-browsertime Info: "skip-har": true,
16:37:12 INFO - raptor-browsertime Info: "pageLoadStrategy": "none",
16:37:12 INFO - raptor-browsertime Info: "page-load-strategy": "none",
16:37:12 INFO - raptor-browsertime Info: "webdriverPageload": true,
16:37:12 INFO - raptor-browsertime Info: "webdriver-pageload": true,
16:37:12 INFO - raptor-browsertime Info: "pageCompleteCheckStartWait": 5000,
16:37:12 INFO - raptor-browsertime Info: "page-complete-check-start-wait": 5000,
16:37:12 INFO - raptor-browsertime Info: "pageCompleteCheckPollTimeout": 1000,
16:37:12 INFO - raptor-browsertime Info: "page-complete-check-poll-timeout": 1000,
16:37:12 INFO - raptor-browsertime Info: "timeouts": {
16:37:12 INFO - raptor-browsertime Info: "pageLoad": 60000,
16:37:12 INFO - raptor-browsertime Info: "page-load": 60000,
16:37:12 INFO - raptor-browsertime Info: "script": 120000,
16:37:12 INFO - raptor-browsertime Info: "browserStart": 60000,
16:37:12 INFO - raptor-browsertime Info: "browser-start": 60000,
16:37:12 INFO - raptor-browsertime Info: "pageCompleteCheck": 300000,
16:37:12 INFO - raptor-browsertime Info: "page-complete-check": 300000
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "pageCompleteWaitTime": 5000,
16:37:12 INFO - raptor-browsertime Info: "page-complete-wait-time": 5000,
16:37:12 INFO - raptor-browsertime Info: "v": 3,
16:37:12 INFO - raptor-browsertime Info: "verbose": 3,
16:37:12 INFO - raptor-browsertime Info: "viewPort": "1024x768",
16:37:12 INFO - raptor-browsertime Info: "view-port": "1024x768",
16:37:12 INFO - raptor-browsertime Info: "browser": "firefox",
16:37:12 INFO - raptor-browsertime Info: "b": "firefox",
16:37:12 INFO - raptor-browsertime Info: "resultDir": "/home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/blobber_upload_dir/browsertime-results/reddit",
16:37:12 INFO - raptor-browsertime Info: "result-dir": "/home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/blobber_upload_dir/browsertime-results/reddit",
16:37:12 INFO - raptor-browsertime Info: "video": false,
16:37:12 INFO - raptor-browsertime Info: "visualMetrics": false,
16:37:12 INFO - raptor-browsertime Info: "visual-metrics": false,
16:37:12 INFO - raptor-browsertime Info: "n": 1,
16:37:12 INFO - raptor-browsertime Info: "chrome": {
16:37:12 INFO - raptor-browsertime Info: "visualMetricsUsingTrace": false,
16:37:12 INFO - raptor-browsertime Info: "visual-metrics-using-trace": false,
16:37:12 INFO - raptor-browsertime Info: "netLogCaptureMode": "IncludeSensitive",
16:37:12 INFO - raptor-browsertime Info: "net-log-capture-mode": "IncludeSensitive",
16:37:12 INFO - raptor-browsertime Info: "includeResponseBodies": "none",
16:37:12 INFO - raptor-browsertime Info: "include-response-bodies": "none",
16:37:12 INFO - raptor-browsertime Info: "cdp": {
16:37:12 INFO - raptor-browsertime Info: "performance": true
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "ignoreCertificateErrors": true,
16:37:12 INFO - raptor-browsertime Info: "ignore-certificate-errors": true
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "video-params": {
16:37:12 INFO - raptor-browsertime Info: "framerate": 30,
16:37:12 INFO - raptor-browsertime Info: "crf": 23,
16:37:12 INFO - raptor-browsertime Info: "add-timer": true,
16:37:12 INFO - raptor-browsertime Info: "debug": false,
16:37:12 INFO - raptor-browsertime Info: "keep-original-video": false,
16:37:12 INFO - raptor-browsertime Info: "filmstrip-full-size": false,
16:37:12 INFO - raptor-browsertime Info: "filmstrip-quality": 75,
16:37:12 INFO - raptor-browsertime Info: "create-filmstrip": true,
16:37:12 INFO - raptor-browsertime Info: "nice": 0,
16:37:12 INFO - raptor-browsertime Info: "convert": true,
16:37:12 INFO - raptor-browsertime Info: "threads": 0
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "scriptInput": {
16:37:12 INFO - raptor-browsertime Info: "longTask": 50
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "minLongTaskLength": 50,
16:37:12 INFO - raptor-browsertime Info: "min-long-task-length": 50,
16:37:12 INFO - raptor-browsertime Info: "script-input": {
16:37:12 INFO - raptor-browsertime Info: "long-task": 50
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "android": false,
16:37:12 INFO - raptor-browsertime Info: "androidRooted": false,
16:37:12 INFO - raptor-browsertime Info: "android-rooted": false,
16:37:12 INFO - raptor-browsertime Info: "androidBatteryTemperatureWaitTimeInSeconds": 120,
16:37:12 INFO - raptor-browsertime Info: "android-battery-temperature-wait-time-in-seconds": 120,
16:37:12 INFO - raptor-browsertime Info: "androidBatteryTemperatureReboot": false,
16:37:12 INFO - raptor-browsertime Info: "android-battery-temperature-reboot": false,
16:37:12 INFO - raptor-browsertime Info: "androidPretestPowerPress": false,
16:37:12 INFO - raptor-browsertime Info: "android-pretest-power-press": false,
16:37:12 INFO - raptor-browsertime Info: "androidVerifyNetwork": false,
16:37:12 INFO - raptor-browsertime Info: "android-verify-network": false,
16:37:12 INFO - raptor-browsertime Info: "processStartTime": false,
16:37:12 INFO - raptor-browsertime Info: "process-start-time": false,
16:37:12 INFO - raptor-browsertime Info: "safari": {
16:37:12 INFO - raptor-browsertime Info: "ios": false,
16:37:12 INFO - raptor-browsertime Info: "useTechnologyPreview": false,
16:37:12 INFO - raptor-browsertime Info: "use-technology-preview": false,
16:37:12 INFO - raptor-browsertime Info: "useSimulator": false,
16:37:12 INFO - raptor-browsertime Info: "use-simulator": false
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "screenshot": false,
16:37:12 INFO - raptor-browsertime Info: "screenshotLCP": false,
16:37:12 INFO - raptor-browsertime Info: "screenshot-l-c-p": false,
16:37:12 INFO - raptor-browsertime Info: "screenshotLS": false,
16:37:12 INFO - raptor-browsertime Info: "screenshot-l-s": false,
16:37:12 INFO - raptor-browsertime Info: "screenshotParams": {
16:37:12 INFO - raptor-browsertime Info: "type": "jpg",
16:37:12 INFO - raptor-browsertime Info: "png": {
16:37:12 INFO - raptor-browsertime Info: "compressionLevel": 6
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "jpg": {
16:37:12 INFO - raptor-browsertime Info: "quality": 80
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "maxSize": 2000
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "screenshot-params": {
16:37:12 INFO - raptor-browsertime Info: "type": "jpg",
16:37:12 INFO - raptor-browsertime Info: "png": {
16:37:12 INFO - raptor-browsertime Info: "compression-level": 6
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "jpg": {
16:37:12 INFO - raptor-browsertime Info: "quality": 80
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "max-size": 2000
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "pageCompleteCheckInactivity": false,
16:37:12 INFO - raptor-browsertime Info: "page-complete-check-inactivity": false,
16:37:12 INFO - raptor-browsertime Info: "prettyPrint": false,
16:37:12 INFO - raptor-browsertime Info: "pretty-print": false,
16:37:12 INFO - raptor-browsertime Info: "timeToSettle": 0,
16:37:12 INFO - raptor-browsertime Info: "time-to-settle": 0,
16:37:12 INFO - raptor-browsertime Info: "connectivity": {
16:37:12 INFO - raptor-browsertime Info: "profile": "native",
16:37:12 INFO - raptor-browsertime Info: "engine": "external",
16:37:12 INFO - raptor-browsertime Info: "throttle": {
16:37:12 INFO - raptor-browsertime Info: "localhost": false
16:37:12 INFO - raptor-browsertime Info: }
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "c": "native",
16:37:12 INFO - raptor-browsertime Info: "percentiles": [
16:37:12 INFO - raptor-browsertime Info: 0,
16:37:12 INFO - raptor-browsertime Info: 10,
16:37:12 INFO - raptor-browsertime Info: 90,
16:37:12 INFO - raptor-browsertime Info: 99,
16:37:12 INFO - raptor-browsertime Info: 100
16:37:12 INFO - raptor-browsertime Info: ],
16:37:12 INFO - raptor-browsertime Info: "decimals": 0,
16:37:12 INFO - raptor-browsertime Info: "iqr": false,
16:37:12 INFO - raptor-browsertime Info: "cacheClearRaw": false,
16:37:12 INFO - raptor-browsertime Info: "cache-clear-raw": false,
16:37:12 INFO - raptor-browsertime Info: "xvfb": false,
16:37:12 INFO - raptor-browsertime Info: "xvfbParams": {
16:37:12 INFO - raptor-browsertime Info: "display": 99
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "xvfb-params": {
16:37:12 INFO - raptor-browsertime Info: "display": 99
16:37:12 INFO - raptor-browsertime Info: },
16:37:12 INFO - raptor-browsertime Info: "tcpdump": false,
16:37:12 INFO - raptor-browsertime Info: "tcpdumpPacketBuffered": false,
16:37:12 INFO - raptor-browsertime Info: "tcpdump-packet-buffered": false,
16:37:12 INFO - raptor-browsertime Info: "preURLDelay": 1500,
16:37:12 INFO - raptor-browsertime Info: "pre-u-r-l-delay": 1500,
16:37:12 INFO - raptor-browsertime Info: "headless": false,
16:37:12 INFO - raptor-browsertime Info: "gnirehtet": false,
16:37:12 INFO - raptor-browsertime Info: "spa": false,
16:37:12 INFO - raptor-browsertime Info: "browserRestartTries": 3,
16:37:12 INFO - raptor-browsertime Info: "browser-restart-tries": 3,
16:37:12 INFO - raptor-browsertime Info: "preWarmServer": false,
16:37:12 INFO - raptor-browsertime Info: "pre-warm-server": false,
16:37:12 INFO - raptor-browsertime Info: "preWarmServerWaitTime": 5000,
16:37:12 INFO - raptor-browsertime Info: "pre-warm-server-wait-time": 5000,
16:37:12 INFO - raptor-browsertime Info: "silent": 0,
16:37:12 INFO - raptor-browsertime Info: "q": 0,
16:37:12 INFO - raptor-browsertime Info: "$0": "../../../tools/browsertime/node_modules/browsertime/bin/browsertime.js"
16:37:12 INFO - raptor-browsertime Info: }
16:37:12 INFO - raptor-browsertime Info: [browsertime] appConstants is a new-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] asyncAppConstants is a new-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] cpuBenchmark is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] userAgent is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] windowSize is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] cumulativeLayoutShift is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] cumulativeLayoutShiftInfo is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] documentHeight is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] documentSize is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] documentTitle is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] documentWidth is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] domElements is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] generator is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] largestContentfulPaintInfo is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] longTask is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] navigationStartTime is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] nextHopProtocol is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] resources is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] responsive is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] url is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] visualElements is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] elementTimings is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] firstInput is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] firstPaint is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] largestContentfulPaint is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] loadEventEnd is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] navigationTiming is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] pageTimings is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] paintTiming is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] serverTimings is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] timeToContentfulPaint is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] timeToDomContentFlushed is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] timeToFirstInteractive is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] ttfb is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] userTimings is an old-style script object.
16:37:12 INFO - raptor-browsertime Info: [browsertime] Running tests using Firefox - 1 iteration(s)
16:37:12 INFO - raptor-browsertime Info: [browsertime.firefox] Skip setting default preferences for Firefox
16:37:12 INFO - raptor-browsertime Info: 1635439032558 geckodriver INFO Listening on 127.0.0.1:33529
16:37:12 INFO - raptor-browsertime Info: 1635439032567 webdriver::server DEBUG -> GET /status
16:37:12 INFO - raptor-browsertime Info: 1635439032567 webdriver::server DEBUG <- 200 OK {"value":{"message":"","ready":true}}
16:37:12 INFO - raptor-browsertime Info: 1635439032584 webdriver::server DEBUG -> POST /session {"desiredCapabilities":{"browserName":"firefox","pageLoadStrategy":"none","moz:firefoxOptions":{"profile":"UEsDBAoAAAAAAKaEXFMAAAAAAAAAAAAAAAAIAAAAcHJlZnMuanNQSwMECgAAAAAApoRcU77V465SIgAAUiIAAAcAAAB1c2VyLmpzdXNlcl9wcmVmKCJhcHAudXBkYXRlLmNoZWNrSW5zdGFsbFRpbWUiLCBmYWxzZSk7CnVzZXJfcHJlZigiYXBwLnVwZGF0ZS5kaXNhYmxlZEZvclRlc3RpbmciLCB0cnVlKTsKdXNlcl9wcmVmKCJicm93c2VyLmNocm9tZS5ndWVzc19mYXZpY29uIiwgZmFsc2UpOwp1c2VyX3ByZWYoImJyb3dzZXIuZG9tLndpbmRvdy5kdW1wLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJkZXZ0b29scy5jb25zb2xlLnN0ZG91dC5jaHJvbWUiLCB0cnVlKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLmFzcm91dGVyLnByb3ZpZGVycy5jZnIiLCAibnVsbCIpOwp1c2VyX3ByZWYoImJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0uYXNyb3V0ZXIucHJvdmlkZXJzLnNuaXBwZXRzIiwgIm51bGwiKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLmFzcm91dGVyLnByb3ZpZGVycy5tZXNzYWdlLWdyb3VwcyIsICJudWxsIik7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5hc3JvdXRlci5wcm92aWRlcnMud2hhdHMtbmV3LXBhbmVsIiwgIm51bGwiKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLmFzcm91dGVyLnByb3ZpZGVycy5tZXNzYWdpbmctZXhwZXJpbWVudHMiLCAibnVsbCIpOwp1c2VyX3ByZWYoImJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0uZmVlZHMuc3lzdGVtLnRvcHN0b3JpZXMiLCBmYWxzZSk7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5mZWVkcy5zbmlwcGV0cyIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLnRpcHB5VG9wLnNlcnZpY2UuZW5kcG9pbnQiLCAiIik7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5kaXNjb3ZlcnlzdHJlYW0uY29uZmlnIiwgIltdIik7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5meGFjY291bnRzLmVuZHBvaW50IiwgIiIpOwp1c2VyX3ByZWYoImJyb3dzZXIucGFnZXRodW1ibmFpbHMuY2FwdHVyaW5nX2Rpc2FibGVkIiwgdHJ1ZSk7CnVzZXJfcHJlZigiYnJvd3Nlci5zZWFyY2gucmVnaW9uIiwgIlVTIik7CnVzZXJfcHJlZigiYnJvd3Nlci53ZWJhcHBzLmNoZWNrRm9yVXBkYXRlcyIsIDApOwp1c2VyX3ByZWYoImRhdGFyZXBvcnRpbmcucG9saWN5LmRhdGFTdWJtaXNzaW9uUG9saWN5QnlwYXNzTm90aWZpY2F0aW9uIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZG9tLm1heF9jaHJvbWVfc2NyaXB0X3J1bl90aW1lIiwgMCk7CnVzZXJfcHJlZigiZG9tLm1heF9zY3JpcHRfcnVuX3RpbWUiLCAwKTsKdXNlcl9wcmVmKCJkb20uc2VuZF9hZnRlcl9wYWludF90b19jb250ZW50IiwgdHJ1ZSk7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy5lbmFibGVkU2NvcGVzIiwgNSk7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy5leHBlcmltZW50cy5lbmFibGVkIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy51cGRhdGUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLmdldEFkZG9ucy5kaXNjb3ZlcnkuYXBpX3VybCIsICJkYXRhOjtiYXNlNjQsZXlKeVpYTjFiSFJ6SWpwYlhYMCUzRCIpOwp1c2VyX3ByZWYoImV4dGVuc2lvbnMud2ViZXh0ZW5zaW9ucy53YXJuaW5ncy1hcy1lcnJvcnMiLCB0cnVlKTsKdXNlcl9wcmVmKCJnZW5lcmFsLnVzZXJhZ2VudC51cGRhdGVzLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZ2Z4LndlYnJlbmRlci5hbGwucXVhbGlmaWVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImhhbmdtb25pdG9yLnRpbWVvdXQiLCAwKTsKdXNlcl9wcmVmKCJtZWRpYS5nbXAtbWFuYWdlci51cGRhdGVFbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoInNlY3VyaXR5LmNlcnRlcnJvcnMubWl0bS5wcmltaW5nLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigic2VjdXJpdHkudHVybl9vZmZfYWxsX3NlY3VyaXR5X3NvX3RoYXRfdmlydXNlc19jYW5fdGFrZV9vdmVyX3RoaXNfY29tcHV0ZXIiLCB0cnVlKTsKdXNlcl9wcmVmKCJ4cGluc3RhbGwuc2lnbmF0dXJlcy5yZXF1aXJlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJzZXJ2aWNlcy5zZXR0aW5ncy5zZXJ2ZXIiLCAiaHR0cDovL2xvY2FsaG9zdC9yZW1vdGUtc2V0dGluZ3MtZHVtbXkvdjEiKTsKdXNlcl9wcmVmKCJtZWRpYS5hdXRvcGxheS5kZWZhdWx0IiwgMCk7CnVzZXJfcHJlZigibWVkaWEuYXV0b3BsYXkuYmxvY2tpbmdfcG9saWN5IiwgMCk7CnVzZXJfcHJlZigibWVkaWEuYXV0b3BsYXkuYXNrLXBlcm1pc3Npb24iLCBmYWxzZSk7CnVzZXJfcHJlZigibWVkaWEuYXV0b3BsYXkuYmxvY2std2ViYXVkaW8iLCBmYWxzZSk7CnVzZXJfcHJlZigibWVkaWEuYWxsb3dlZC10by1wbGF5LmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJtZWRpYS5ibG9jay1hdXRvcGxheS11bnRpbC1pbi1mb3JlZ3JvdW5kIiwgZmFsc2UpOwp1c2VyX3ByZWYoInRvb2xraXQudGVsZW1ldHJ5LmNvdmVyYWdlLmVuZHBvaW50LmJhc2UiLCAiaHR0cDovL2xvY2FsaG9zdCIpOwp1c2VyX3ByZWYoIm1lZGlhLmdlY2tvdmlldy5hdXRvcGxheS5yZXF1ZXN0IiwgZmFsc2UpOwp1c2VyX3ByZWYoImdlby5wcm92aWRlci5uZXR3b3JrLmNvbXBhcmUudXJsIiwgIiIpOwp1c2VyX3ByZWYoImJyb3dzZXIucmVnaW9uLm5ldHdvcmsudXJsIiwgIiIpOwp1c2VyX3ByZWYoImJyb3dzZXIudGFicy51bmxvYWRPbkxvd01lbW9yeSIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLnRvcHNpdGVzLmNvbnRpbGUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJhcHAubm9ybWFuZHkuYXBpX3VybCIsICJodHRwczovLzEyNy4wLjAuMS9zZWxmc3VwcG9ydC1kdW1teS8iKTsKdXNlcl9wcmVmKCJicm93c2VyLkVVTEEub3ZlcnJpZGUiLCB0cnVlKTsKdXNlcl9wcmVmKCJicm93c2VyLmFkZG9uLXdhdGNoLmludGVydmFsIiwgLTEpOwp1c2VyX3ByZWYoImJyb3dzZXIuYm9va21hcmtzLm1heF9iYWNrdXBzIiwgMCk7CnVzZXJfcHJlZigiYnJvd3Nlci5jYWNoZS5kaXNrLnNtYXJ0X3NpemUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLmNocm9tZS5keW5hbWljdG9vbGJhciIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy4wLnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy4xLnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy4yLnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy4zLnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy40LnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy41LnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmxpbmsub3Blbl9uZXd3aW5kb3ciLCAyKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLmRlZmF1bHQuc2l0ZXMiLCAiIik7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS50ZWxlbWV0cnkiLCBmYWxzZSk7CnVzZXJfcHJlZigiYnJvd3Nlci5yZWFkZXIuZGV0ZWN0ZWRGaXJzdEFydGljbGUiLCB0cnVlKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5ibG9ja2VkVVJJcy5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLmRvd25sb2Fkcy5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLmRvd25sb2Fkcy5yZW1vdGUudXJsIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nLWR1bW15L2Rvd25sb2FkcyIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLm1hbHdhcmUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5wYXNzd29yZHMuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5waGlzaGluZy5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLnByb3ZpZGVyLmdvb2dsZS5nZXRoYXNoVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nLWR1bW15L2dldGhhc2giKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5wcm92aWRlci5nb29nbGUudXBkYXRlVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nLWR1bW15L3VwZGF0ZSIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLnByb3ZpZGVyLmdvb2dsZTQuZ2V0aGFzaFVSTCIsICJodHRwOi8vMTI3LjAuMC4xL3NhZmVicm93c2luZzQtZHVtbXkvZ2V0aGFzaCIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLnByb3ZpZGVyLmdvb2dsZTQudXBkYXRlVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nNC1kdW1teS91cGRhdGUiKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5wcm92aWRlci5tb3ppbGxhLmdldGhhc2hVUkwiLCAiaHR0cDovLzEyNy4wLjAuMS9zYWZlYnJvd3NpbmctZHVtbXkvZ2V0aGFzaCIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLnByb3ZpZGVyLm1vemlsbGEudXBkYXRlVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nLWR1bW15L3VwZGF0ZSIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2hlbGwuY2hlY2tEZWZhdWx0QnJvd3NlciIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLnN0YXJ0dXAuY291bGRSZXN0b3JlU2Vzc2lvbi5jb3VudCIsIC0xKTsKdXNlcl9wcmVmKCJicm93c2VyLnRhYnMucmVtb3RlLmF1dG9zdGFydCIsIHRydWUpOwp1c2VyX3ByZWYoImJyb3dzZXIud2Fybk9uUXVpdCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJkYXRhcmVwb3J0aW5nLmhlYWx0aHJlcG9ydC5kb2N1bWVudFNlcnZlclVSSSIsICJodHRwOi8vMTI3LjAuMC4xL2hlYWx0aHJlcG9ydC8iKTsKdXNlcl9wcmVmKCJkZXZ0b29scy5jaHJvbWUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJkZXZ0b29scy5kZWJ1Z2dlci5yZW1vdGUtZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJkZXZ0b29scy50aGVtZSIsICJsaWdodCIpOwp1c2VyX3ByZWYoImRldnRvb2xzLnRpbWVsaW5lLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZG9tLmFsbG93X3NjcmlwdHNfdG9fY2xvc2Vfd2luZG93cyIsIHRydWUpOwp1c2VyX3ByZWYoImRvbS5kaXNhYmxlX29wZW5fZHVyaW5nX2xvYWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZG9tLmRpc2FibGVfd2luZG93X2ZsaXAiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20uZGlzYWJsZV93aW5kb3dfbW92ZV9yZXNpemUiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20ucHVzaC5jb25uZWN0aW9uLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy5hdXRvRGlzYWJsZVNjb3BlcyIsIDEwKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLmJsb2NrbGlzdC5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImV4dGVuc2lvbnMuY2hlY2tDb21wYXRpYmlsaXR5IiwgZmFsc2UpOwp1c2VyX3ByZWYoImV4dGVuc2lvbnMuZ2V0QWRkb25zLmdldC51cmwiLCAiaHR0cDovLzEyNy4wLjAuMS9leHRlbnNpb25zLWR1bW15L3JlcG9zaXRvcnlHZXRVUkwiKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLmdldEFkZG9ucy5zZWFyY2guYnJvd3NlVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvZXh0ZW5zaW9ucy1kdW1teS9yZXBvc2l0b3J5QnJvd3NlVVJMIik7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy5ob3RmaXgudXJsIiwgImh0dHA6Ly8xMjcuMC4wLjEvZXh0ZW5zaW9ucy1kdW1teS9ob3RmaXhVUkwiKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLnN5c3RlbUFkZG9uLnVwZGF0ZS51cmwiLCAiaHR0cDovLzEyNy4wLjAuMS9kdW1teS1zeXN0ZW0tYWRkb25zLnhtbCIpOwp1c2VyX3ByZWYoImV4dGVuc2lvbnMudXBkYXRlLmJhY2tncm91bmQudXJsIiwgImh0dHA6Ly8xMjcuMC4wLjEvZXh0ZW5zaW9ucy1kdW1teS91cGRhdGVCYWNrZ3JvdW5kVVJMIik7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy51cGRhdGUubm90aWZ5VXNlciIsIGZhbHNlKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLnVwZGF0ZS51cmwiLCAiaHR0cDovLzEyNy4wLjAuMS9leHRlbnNpb25zLWR1bW15L3VwZGF0ZVVSTCIpOwp1c2VyX3ByZWYoImlkZW50aXR5LmZ4YWNjb3VudHMuYXV0aC51cmkiLCAiaHR0cHM6Ly8xMjcuMC4wLjEvZnhhLWR1bW15LyIpOwp1c2VyX3ByZWYoImlkZW50aXR5LmZ4YWNjb3VudHMubWlncmF0ZVRvRGV2RWRpdGlvbiIsIGZhbHNlKTsKdXNlcl9wcmVmKCJpZGxlLmxhc3REYWlseU5vdGlmaWNhdGlvbiIsIC0xKTsKdXNlcl9wcmVmKCJtZWRpYS5jYXB0dXJlc3RyZWFtX2hpbnRzLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJtZWRpYS5nbXAtbWFuYWdlci51cmwiLCAiaHR0cDovLzEyNy4wLjAuMS9nbXBtYW5hZ2VyLWR1bW15L3VwZGF0ZS54bWwiKTsKdXNlcl9wcmVmKCJtZWRpYS5saWJhdmNvZGVjLmFsbG93LW9ic29sZXRlIiwgdHJ1ZSk7CnVzZXJfcHJlZigibWVkaWEubmF2aWdhdG9yLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJtZWRpYS5uYXZpZ2F0b3IucGVybWlzc2lvbi5kaXNhYmxlZCIsIHRydWUpOwp1c2VyX3ByZWYoIm1lZGlhLnBlZXJjb25uZWN0aW9uLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJuZXR3b3JrLmh0dHAuc3BlY3VsYXRpdmUtcGFyYWxsZWwtbGltaXQiLCAwKTsKdXNlcl9wcmVmKCJwbGFjZXMuZGF0YWJhc2UubGFzdE1haW50ZW5hbmNlIiwgMjE0NzQ4MzY0Nyk7CnVzZXJfcHJlZigicGx1Z2luLnN0YXRlLmZsYXNoIiwgMCk7CnVzZXJfcHJlZigicGx1Z2lucy5mbGFzaEJsb2NrLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigicHJpdmFjeS5yZWR1Y2VUaW1lclByZWNpc2lvbiIsIGZhbHNlKTsKdXNlcl9wcmVmKCJwcml2YWN5LnRyYWNraW5ncHJvdGVjdGlvbi5hbm5vdGF0ZV9jaGFubmVscyIsIGZhbHNlKTsKdXNlcl9wcmVmKCJwcml2YWN5LnRyYWNraW5ncHJvdGVjdGlvbi5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoInByaXZhY3kudHJhY2tpbmdwcm90ZWN0aW9uLmludHJvVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvdHJhY2tpbmdwcm90ZWN0aW9uL3RvdXIiKTsKdXNlcl9wcmVmKCJwcml2YWN5LnRyYWNraW5ncHJvdGVjdGlvbi5wYm1vZGUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJzZWN1cml0eS5lbmFibGVfamF2YSIsIGZhbHNlKTsKdXNlcl9wcmVmKCJzZWN1cml0eS5maWxldXJpLnN0cmljdF9vcmlnaW5fcG9saWN5IiwgZmFsc2UpOwp1c2VyX3ByZWYoInRvb2xraXQudGVsZW1ldHJ5LnNlcnZlciIsICJodHRwczovLzEyNy4wLjAuMS90ZWxlbWV0cnktZHVtbXkvIik7CnVzZXJfcHJlZigidGVsZW1ldHJ5LmZvZy50ZXN0LmxvY2FsaG9zdF9wb3J0IiwgLTEpOwp1c2VyX3ByZWYoInN0YXJ0dXAuaG9tZXBhZ2Vfd2VsY29tZV91cmwiLCAiIik7CnVzZXJfcHJlZigic3RhcnR1cC5ob21lcGFnZV93ZWxjb21lX3VybC5hZGRpdGlvbmFsIiwgIiIpOwp1c2VyX3ByZWYoImJyb3dzZXIudGFicy5yZW1vdGUuc3lzdGVtVHJpZ2dlcmVkQWJvdXRCbGFua0FueXdoZXJlIiwgdHJ1ZSk7CnVzZXJfcHJlZigiYXBwLm5vcm1hbmR5LmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZG9tLnBlcmZvcm1hbmNlLnRpbWVfdG9fbm9uX2JsYW5rX3BhaW50LmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20ucGVyZm9ybWFuY2UudGltZV90b19jb250ZW50ZnVsX3BhaW50LmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20ucGVyZm9ybWFuY2UudGltZV90b19kb21fY29udGVudF9mbHVzaGVkLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20ucGVyZm9ybWFuY2UudGltZV90b19maXJzdF9pbnRlcmFjdGl2ZS5lbmFibGVkIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZ2Vja292aWV3LmNvbnNvbGUuZW5hYmxlZCIsIHRydWUpOwp1c2VyX3ByZWYoImRvbS5wdXNoLmNvbm5lY3Rpb24uZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLmRvbS53aW5kb3cuZHVtcC5lbmFibGVkIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZGV2dG9vbHMuY29uc29sZS5zdGRvdXQuY2hyb21lIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZGV2dG9vbHMuY29uc29sZS5zdGRvdXQuY29udGVudCIsIHRydWUpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2Vzc2lvbnN0b3JlLnJlc3VtZV9mcm9tX2NyYXNoIiwgZmFsc2UpOwp1c2VyX3ByZWYoInRvb2xraXQuY29udGVudC1iYWNrZ3JvdW5kLWhhbmctbW9uaXRvci5kaXNhYmxlZCIsIHRydWUpOwp1c2VyX3ByZWYoImphdmFzY3JpcHQub3B0aW9ucy5hc3luY3N0YWNrIiwgZmFsc2UpOwp1c2VyX3ByZWYoImRhdGFyZXBvcnRpbmcuaGVhbHRocmVwb3J0LnVwbG9hZEVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigidG9vbGtpdC50ZWxlbWV0cnkuaW5pdERlbGF5IiwgOTk5OTk5OTkpOwpQSwECFAAKAAAAAACmhFxTAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAcHJlZnMuanNQSwECFAAKAAAAAACmhFxTvtXjrlIiAABSIgAABwAAAAAAAAAAAAAAAAAmAAAAdXNlci5qc1BLBQYAAAAAAgACAGsAAACdIgAAAAA=","prefs":{"browser.safebrowsing.downloads.enabled":false,"browser.safebrowsing.enabled":false,"browser.safebrowsing.phishing.enabled":false,"browser.safebrowsing.malware.enabled":false,"browser.safebrowsing.remotelookups":false,"browser.safebrowsing.provider.mozilla.updateURL":"","browser.safebrowsing.provider.google4.dataSharingURL":"","browser.safebrowsing.provider.google4.gethashURL":"","browser.safebrowsing.provider.google4.lists":"","browser.safebrowsing.provider.google4.advisoryURL":"","browser.safebrowsing.provider.google.updateURL":"","browser.safebrowsing.provider.google.reportURL":"","browser.safebrowsing.provider.google.advisoryURL":"","browser.safebrowsing.provider.google.gethashURL":"","browser.safebrowsing.provider.google.lists":"","browser.safebrowsing.provider.google4.reportURL":"","browser.safebrowsing.provider.google4.updateURL":"","browser.safebrowsing.provider.mozilla.gethashURL":"","browser.safebrowsing.provider.google.reportMalwareMistakeURL":"","browser.safebrowsing.provider.google.reportPhishMistakeURL":"","privacy.trackingprotection.annotate_channels":false,"privacy.trackingprotection.enabled":false,"privacy.trackingprotection.introURL":"http://127.0.0.1/trackingprotection/tour","privacy.trackingprotection.pbmode.enabled":false,"devtools.chrome.enabled":true},"binary":"/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox","args":["-no-remote"],"env":{}}},"capabilities":{"alwaysMatch":{"browserName":"firefox","pageLoadStrategy":"none","moz:firefoxOptions":{"profile":"UEsDBAoAAAAAAKaEXFMAAAAAAAAAAAAAAAAIAAAAcHJlZnMuanNQSwMECgAAAAAApoRcU77V465SIgAAUiIAAAcAAAB1c2VyLmpzdXNlcl9wcmVmKCJhcHAudXBkYXRlLmNoZWNrSW5zdGFsbFRpbWUiLCBmYWxzZSk7CnVzZXJfcHJlZigiYXBwLnVwZGF0ZS5kaXNhYmxlZEZvclRlc3RpbmciLCB0cnVlKTsKdXNlcl9wcmVmKCJicm93c2VyLmNocm9tZS5ndWVzc19mYXZpY29uIiwgZmFsc2UpOwp1c2VyX3ByZWYoImJyb3dzZXIuZG9tLndpbmRvdy5kdW1wLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJkZXZ0b29scy5jb25zb2xlLnN0ZG91dC5jaHJvbWUiLCB0cnVlKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLmFzcm91dGVyLnByb3ZpZGVycy5jZnIiLCAibnVsbCIpOwp1c2VyX3ByZWYoImJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0uYXNyb3V0ZXIucHJvdmlkZXJzLnNuaXBwZXRzIiwgIm51bGwiKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLmFzcm91dGVyLnByb3ZpZGVycy5tZXNzYWdlLWdyb3VwcyIsICJudWxsIik7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5hc3JvdXRlci5wcm92aWRlcnMud2hhdHMtbmV3LXBhbmVsIiwgIm51bGwiKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLmFzcm91dGVyLnByb3ZpZGVycy5tZXNzYWdpbmctZXhwZXJpbWVudHMiLCAibnVsbCIpOwp1c2VyX3ByZWYoImJyb3dzZXIubmV3dGFicGFnZS5hY3Rpdml0eS1zdHJlYW0uZmVlZHMuc3lzdGVtLnRvcHN0b3JpZXMiLCBmYWxzZSk7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5mZWVkcy5zbmlwcGV0cyIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLnRpcHB5VG9wLnNlcnZpY2UuZW5kcG9pbnQiLCAiIik7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5kaXNjb3ZlcnlzdHJlYW0uY29uZmlnIiwgIltdIik7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS5meGFjY291bnRzLmVuZHBvaW50IiwgIiIpOwp1c2VyX3ByZWYoImJyb3dzZXIucGFnZXRodW1ibmFpbHMuY2FwdHVyaW5nX2Rpc2FibGVkIiwgdHJ1ZSk7CnVzZXJfcHJlZigiYnJvd3Nlci5zZWFyY2gucmVnaW9uIiwgIlVTIik7CnVzZXJfcHJlZigiYnJvd3Nlci53ZWJhcHBzLmNoZWNrRm9yVXBkYXRlcyIsIDApOwp1c2VyX3ByZWYoImRhdGFyZXBvcnRpbmcucG9saWN5LmRhdGFTdWJtaXNzaW9uUG9saWN5QnlwYXNzTm90aWZpY2F0aW9uIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZG9tLm1heF9jaHJvbWVfc2NyaXB0X3J1bl90aW1lIiwgMCk7CnVzZXJfcHJlZigiZG9tLm1heF9zY3JpcHRfcnVuX3RpbWUiLCAwKTsKdXNlcl9wcmVmKCJkb20uc2VuZF9hZnRlcl9wYWludF90b19jb250ZW50IiwgdHJ1ZSk7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy5lbmFibGVkU2NvcGVzIiwgNSk7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy5leHBlcmltZW50cy5lbmFibGVkIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy51cGRhdGUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLmdldEFkZG9ucy5kaXNjb3ZlcnkuYXBpX3VybCIsICJkYXRhOjtiYXNlNjQsZXlKeVpYTjFiSFJ6SWpwYlhYMCUzRCIpOwp1c2VyX3ByZWYoImV4dGVuc2lvbnMud2ViZXh0ZW5zaW9ucy53YXJuaW5ncy1hcy1lcnJvcnMiLCB0cnVlKTsKdXNlcl9wcmVmKCJnZW5lcmFsLnVzZXJhZ2VudC51cGRhdGVzLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZ2Z4LndlYnJlbmRlci5hbGwucXVhbGlmaWVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImhhbmdtb25pdG9yLnRpbWVvdXQiLCAwKTsKdXNlcl9wcmVmKCJtZWRpYS5nbXAtbWFuYWdlci51cGRhdGVFbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoInNlY3VyaXR5LmNlcnRlcnJvcnMubWl0bS5wcmltaW5nLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigic2VjdXJpdHkudHVybl9vZmZfYWxsX3NlY3VyaXR5X3NvX3RoYXRfdmlydXNlc19jYW5fdGFrZV9vdmVyX3RoaXNfY29tcHV0ZXIiLCB0cnVlKTsKdXNlcl9wcmVmKCJ4cGluc3RhbGwuc2lnbmF0dXJlcy5yZXF1aXJlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJzZXJ2aWNlcy5zZXR0aW5ncy5zZXJ2ZXIiLCAiaHR0cDovL2xvY2FsaG9zdC9yZW1vdGUtc2V0dGluZ3MtZHVtbXkvdjEiKTsKdXNlcl9wcmVmKCJtZWRpYS5hdXRvcGxheS5kZWZhdWx0IiwgMCk7CnVzZXJfcHJlZigibWVkaWEuYXV0b3BsYXkuYmxvY2tpbmdfcG9saWN5IiwgMCk7CnVzZXJfcHJlZigibWVkaWEuYXV0b3BsYXkuYXNrLXBlcm1pc3Npb24iLCBmYWxzZSk7CnVzZXJfcHJlZigibWVkaWEuYXV0b3BsYXkuYmxvY2std2ViYXVkaW8iLCBmYWxzZSk7CnVzZXJfcHJlZigibWVkaWEuYWxsb3dlZC10by1wbGF5LmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJtZWRpYS5ibG9jay1hdXRvcGxheS11bnRpbC1pbi1mb3JlZ3JvdW5kIiwgZmFsc2UpOwp1c2VyX3ByZWYoInRvb2xraXQudGVsZW1ldHJ5LmNvdmVyYWdlLmVuZHBvaW50LmJhc2UiLCAiaHR0cDovL2xvY2FsaG9zdCIpOwp1c2VyX3ByZWYoIm1lZGlhLmdlY2tvdmlldy5hdXRvcGxheS5yZXF1ZXN0IiwgZmFsc2UpOwp1c2VyX3ByZWYoImdlby5wcm92aWRlci5uZXR3b3JrLmNvbXBhcmUudXJsIiwgIiIpOwp1c2VyX3ByZWYoImJyb3dzZXIucmVnaW9uLm5ldHdvcmsudXJsIiwgIiIpOwp1c2VyX3ByZWYoImJyb3dzZXIudGFicy51bmxvYWRPbkxvd01lbW9yeSIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLnRvcHNpdGVzLmNvbnRpbGUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJhcHAubm9ybWFuZHkuYXBpX3VybCIsICJodHRwczovLzEyNy4wLjAuMS9zZWxmc3VwcG9ydC1kdW1teS8iKTsKdXNlcl9wcmVmKCJicm93c2VyLkVVTEEub3ZlcnJpZGUiLCB0cnVlKTsKdXNlcl9wcmVmKCJicm93c2VyLmFkZG9uLXdhdGNoLmludGVydmFsIiwgLTEpOwp1c2VyX3ByZWYoImJyb3dzZXIuYm9va21hcmtzLm1heF9iYWNrdXBzIiwgMCk7CnVzZXJfcHJlZigiYnJvd3Nlci5jYWNoZS5kaXNrLnNtYXJ0X3NpemUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLmNocm9tZS5keW5hbWljdG9vbGJhciIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy4wLnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy4xLnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy4yLnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy4zLnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy40LnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmNvbnRlbnRIYW5kbGVycy50eXBlcy41LnVyaSIsICJodHRwOi8vMTI3LjAuMC4xL3Jzcz91cmw9JXMiKTsKdXNlcl9wcmVmKCJicm93c2VyLmxpbmsub3Blbl9uZXd3aW5kb3ciLCAyKTsKdXNlcl9wcmVmKCJicm93c2VyLm5ld3RhYnBhZ2UuYWN0aXZpdHktc3RyZWFtLmRlZmF1bHQuc2l0ZXMiLCAiIik7CnVzZXJfcHJlZigiYnJvd3Nlci5uZXd0YWJwYWdlLmFjdGl2aXR5LXN0cmVhbS50ZWxlbWV0cnkiLCBmYWxzZSk7CnVzZXJfcHJlZigiYnJvd3Nlci5yZWFkZXIuZGV0ZWN0ZWRGaXJzdEFydGljbGUiLCB0cnVlKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5ibG9ja2VkVVJJcy5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLmRvd25sb2Fkcy5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLmRvd25sb2Fkcy5yZW1vdGUudXJsIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nLWR1bW15L2Rvd25sb2FkcyIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLm1hbHdhcmUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5wYXNzd29yZHMuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5waGlzaGluZy5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLnByb3ZpZGVyLmdvb2dsZS5nZXRoYXNoVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nLWR1bW15L2dldGhhc2giKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5wcm92aWRlci5nb29nbGUudXBkYXRlVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nLWR1bW15L3VwZGF0ZSIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLnByb3ZpZGVyLmdvb2dsZTQuZ2V0aGFzaFVSTCIsICJodHRwOi8vMTI3LjAuMC4xL3NhZmVicm93c2luZzQtZHVtbXkvZ2V0aGFzaCIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLnByb3ZpZGVyLmdvb2dsZTQudXBkYXRlVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nNC1kdW1teS91cGRhdGUiKTsKdXNlcl9wcmVmKCJicm93c2VyLnNhZmVicm93c2luZy5wcm92aWRlci5tb3ppbGxhLmdldGhhc2hVUkwiLCAiaHR0cDovLzEyNy4wLjAuMS9zYWZlYnJvd3NpbmctZHVtbXkvZ2V0aGFzaCIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2FmZWJyb3dzaW5nLnByb3ZpZGVyLm1vemlsbGEudXBkYXRlVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvc2FmZWJyb3dzaW5nLWR1bW15L3VwZGF0ZSIpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2hlbGwuY2hlY2tEZWZhdWx0QnJvd3NlciIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLnN0YXJ0dXAuY291bGRSZXN0b3JlU2Vzc2lvbi5jb3VudCIsIC0xKTsKdXNlcl9wcmVmKCJicm93c2VyLnRhYnMucmVtb3RlLmF1dG9zdGFydCIsIHRydWUpOwp1c2VyX3ByZWYoImJyb3dzZXIud2Fybk9uUXVpdCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJkYXRhcmVwb3J0aW5nLmhlYWx0aHJlcG9ydC5kb2N1bWVudFNlcnZlclVSSSIsICJodHRwOi8vMTI3LjAuMC4xL2hlYWx0aHJlcG9ydC8iKTsKdXNlcl9wcmVmKCJkZXZ0b29scy5jaHJvbWUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJkZXZ0b29scy5kZWJ1Z2dlci5yZW1vdGUtZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJkZXZ0b29scy50aGVtZSIsICJsaWdodCIpOwp1c2VyX3ByZWYoImRldnRvb2xzLnRpbWVsaW5lLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZG9tLmFsbG93X3NjcmlwdHNfdG9fY2xvc2Vfd2luZG93cyIsIHRydWUpOwp1c2VyX3ByZWYoImRvbS5kaXNhYmxlX29wZW5fZHVyaW5nX2xvYWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZG9tLmRpc2FibGVfd2luZG93X2ZsaXAiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20uZGlzYWJsZV93aW5kb3dfbW92ZV9yZXNpemUiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20ucHVzaC5jb25uZWN0aW9uLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy5hdXRvRGlzYWJsZVNjb3BlcyIsIDEwKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLmJsb2NrbGlzdC5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoImV4dGVuc2lvbnMuY2hlY2tDb21wYXRpYmlsaXR5IiwgZmFsc2UpOwp1c2VyX3ByZWYoImV4dGVuc2lvbnMuZ2V0QWRkb25zLmdldC51cmwiLCAiaHR0cDovLzEyNy4wLjAuMS9leHRlbnNpb25zLWR1bW15L3JlcG9zaXRvcnlHZXRVUkwiKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLmdldEFkZG9ucy5zZWFyY2guYnJvd3NlVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvZXh0ZW5zaW9ucy1kdW1teS9yZXBvc2l0b3J5QnJvd3NlVVJMIik7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy5ob3RmaXgudXJsIiwgImh0dHA6Ly8xMjcuMC4wLjEvZXh0ZW5zaW9ucy1kdW1teS9ob3RmaXhVUkwiKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLnN5c3RlbUFkZG9uLnVwZGF0ZS51cmwiLCAiaHR0cDovLzEyNy4wLjAuMS9kdW1teS1zeXN0ZW0tYWRkb25zLnhtbCIpOwp1c2VyX3ByZWYoImV4dGVuc2lvbnMudXBkYXRlLmJhY2tncm91bmQudXJsIiwgImh0dHA6Ly8xMjcuMC4wLjEvZXh0ZW5zaW9ucy1kdW1teS91cGRhdGVCYWNrZ3JvdW5kVVJMIik7CnVzZXJfcHJlZigiZXh0ZW5zaW9ucy51cGRhdGUubm90aWZ5VXNlciIsIGZhbHNlKTsKdXNlcl9wcmVmKCJleHRlbnNpb25zLnVwZGF0ZS51cmwiLCAiaHR0cDovLzEyNy4wLjAuMS9leHRlbnNpb25zLWR1bW15L3VwZGF0ZVVSTCIpOwp1c2VyX3ByZWYoImlkZW50aXR5LmZ4YWNjb3VudHMuYXV0aC51cmkiLCAiaHR0cHM6Ly8xMjcuMC4wLjEvZnhhLWR1bW15LyIpOwp1c2VyX3ByZWYoImlkZW50aXR5LmZ4YWNjb3VudHMubWlncmF0ZVRvRGV2RWRpdGlvbiIsIGZhbHNlKTsKdXNlcl9wcmVmKCJpZGxlLmxhc3REYWlseU5vdGlmaWNhdGlvbiIsIC0xKTsKdXNlcl9wcmVmKCJtZWRpYS5jYXB0dXJlc3RyZWFtX2hpbnRzLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJtZWRpYS5nbXAtbWFuYWdlci51cmwiLCAiaHR0cDovLzEyNy4wLjAuMS9nbXBtYW5hZ2VyLWR1bW15L3VwZGF0ZS54bWwiKTsKdXNlcl9wcmVmKCJtZWRpYS5saWJhdmNvZGVjLmFsbG93LW9ic29sZXRlIiwgdHJ1ZSk7CnVzZXJfcHJlZigibWVkaWEubmF2aWdhdG9yLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJtZWRpYS5uYXZpZ2F0b3IucGVybWlzc2lvbi5kaXNhYmxlZCIsIHRydWUpOwp1c2VyX3ByZWYoIm1lZGlhLnBlZXJjb25uZWN0aW9uLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJuZXR3b3JrLmh0dHAuc3BlY3VsYXRpdmUtcGFyYWxsZWwtbGltaXQiLCAwKTsKdXNlcl9wcmVmKCJwbGFjZXMuZGF0YWJhc2UubGFzdE1haW50ZW5hbmNlIiwgMjE0NzQ4MzY0Nyk7CnVzZXJfcHJlZigicGx1Z2luLnN0YXRlLmZsYXNoIiwgMCk7CnVzZXJfcHJlZigicGx1Z2lucy5mbGFzaEJsb2NrLmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigicHJpdmFjeS5yZWR1Y2VUaW1lclByZWNpc2lvbiIsIGZhbHNlKTsKdXNlcl9wcmVmKCJwcml2YWN5LnRyYWNraW5ncHJvdGVjdGlvbi5hbm5vdGF0ZV9jaGFubmVscyIsIGZhbHNlKTsKdXNlcl9wcmVmKCJwcml2YWN5LnRyYWNraW5ncHJvdGVjdGlvbi5lbmFibGVkIiwgZmFsc2UpOwp1c2VyX3ByZWYoInByaXZhY3kudHJhY2tpbmdwcm90ZWN0aW9uLmludHJvVVJMIiwgImh0dHA6Ly8xMjcuMC4wLjEvdHJhY2tpbmdwcm90ZWN0aW9uL3RvdXIiKTsKdXNlcl9wcmVmKCJwcml2YWN5LnRyYWNraW5ncHJvdGVjdGlvbi5wYm1vZGUuZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJzZWN1cml0eS5lbmFibGVfamF2YSIsIGZhbHNlKTsKdXNlcl9wcmVmKCJzZWN1cml0eS5maWxldXJpLnN0cmljdF9vcmlnaW5fcG9saWN5IiwgZmFsc2UpOwp1c2VyX3ByZWYoInRvb2xraXQudGVsZW1ldHJ5LnNlcnZlciIsICJodHRwczovLzEyNy4wLjAuMS90ZWxlbWV0cnktZHVtbXkvIik7CnVzZXJfcHJlZigidGVsZW1ldHJ5LmZvZy50ZXN0LmxvY2FsaG9zdF9wb3J0IiwgLTEpOwp1c2VyX3ByZWYoInN0YXJ0dXAuaG9tZXBhZ2Vfd2VsY29tZV91cmwiLCAiIik7CnVzZXJfcHJlZigic3RhcnR1cC5ob21lcGFnZV93ZWxjb21lX3VybC5hZGRpdGlvbmFsIiwgIiIpOwp1c2VyX3ByZWYoImJyb3dzZXIudGFicy5yZW1vdGUuc3lzdGVtVHJpZ2dlcmVkQWJvdXRCbGFua0FueXdoZXJlIiwgdHJ1ZSk7CnVzZXJfcHJlZigiYXBwLm5vcm1hbmR5LmVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigiZG9tLnBlcmZvcm1hbmNlLnRpbWVfdG9fbm9uX2JsYW5rX3BhaW50LmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20ucGVyZm9ybWFuY2UudGltZV90b19jb250ZW50ZnVsX3BhaW50LmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20ucGVyZm9ybWFuY2UudGltZV90b19kb21fY29udGVudF9mbHVzaGVkLmVuYWJsZWQiLCB0cnVlKTsKdXNlcl9wcmVmKCJkb20ucGVyZm9ybWFuY2UudGltZV90b19maXJzdF9pbnRlcmFjdGl2ZS5lbmFibGVkIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZ2Vja292aWV3LmNvbnNvbGUuZW5hYmxlZCIsIHRydWUpOwp1c2VyX3ByZWYoImRvbS5wdXNoLmNvbm5lY3Rpb24uZW5hYmxlZCIsIGZhbHNlKTsKdXNlcl9wcmVmKCJicm93c2VyLmRvbS53aW5kb3cuZHVtcC5lbmFibGVkIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZGV2dG9vbHMuY29uc29sZS5zdGRvdXQuY2hyb21lIiwgdHJ1ZSk7CnVzZXJfcHJlZigiZGV2dG9vbHMuY29uc29sZS5zdGRvdXQuY29udGVudCIsIHRydWUpOwp1c2VyX3ByZWYoImJyb3dzZXIuc2Vzc2lvbnN0b3JlLnJlc3VtZV9mcm9tX2NyYXNoIiwgZmFsc2UpOwp1c2VyX3ByZWYoInRvb2xraXQuY29udGVudC1iYWNrZ3JvdW5kLWhhbmctbW9uaXRvci5kaXNhYmxlZCIsIHRydWUpOwp1c2VyX3ByZWYoImphdmFzY3JpcHQub3B0aW9ucy5hc3luY3N0YWNrIiwgZmFsc2UpOwp1c2VyX3ByZWYoImRhdGFyZXBvcnRpbmcuaGVhbHRocmVwb3J0LnVwbG9hZEVuYWJsZWQiLCBmYWxzZSk7CnVzZXJfcHJlZigidG9vbGtpdC50ZWxlbWV0cnkuaW5pdERlbGF5IiwgOTk5OTk5OTkpOwpQSwECFAAKAAAAAACmhFxTAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAcHJlZnMuanNQSwECFAAKAAAAAACmhFxTvtXjrlIiAABSIgAABwAAAAAAAAAAAAAAAAAmAAAAdXNlci5qc1BLBQYAAAAAAgACAGsAAACdIgAAAAA=","prefs":{"browser.safebrowsing.downloads.enabled":false,"browser.safebrowsing.enabled":false,"browser.safebrowsing.phishing.enabled":false,"browser.safebrowsing.malware.enabled":false,"browser.safebrowsing.remotelookups":false,"browser.safebrowsing.provider.mozilla.updateURL":"","browser.safebrowsing.provider.google4.dataSharingURL":"","browser.safebrowsing.provider.google4.gethashURL":"","browser.safebrowsing.provider.google4.lists":"","browser.safebrowsing.provider.google4.advisoryURL":"","browser.safebrowsing.provider.google.updateURL":"","browser.safebrowsing.provider.google.reportURL":"","browser.safebrowsing.provider.google.advisoryURL":"","browser.safebrowsing.provider.google.gethashURL":"","browser.safebrowsing.provider.google.lists":"","browser.safebrowsing.provider.google4.reportURL":"","browser.safebrowsing.provider.google4.updateURL":"","browser.safebrowsing.provider.mozilla.gethashURL":"","browser.safebrowsing.provider.google.reportMalwareMistakeURL":"","browser.safebrowsing.provider.google.reportPhishMistakeURL":"","privacy.trackingprotection.annotate_channels":false,"privacy.trackingprotection.enabled":false,"privacy.trackingprotection.introURL":"http://127.0.0.1/trackingprotection/tour","privacy.trackingprotection.pbmode.enabled":false,"devtools.chrome.enabled":true},"binary":"/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox","args":["-no-remote"],"env":{}}}}}
16:37:12 INFO - raptor-browsertime Info: 1635439032585 geckodriver::capabilities DEBUG Trying to read firefox version from ini files
16:37:12 INFO - raptor-browsertime Info: 1635439032585 geckodriver::capabilities DEBUG Found version 95.0a1
16:37:12 INFO - raptor-browsertime Info: 1635439032585 geckodriver::capabilities DEBUG Extracting profile to /tmp/rust_mozprofileNg6lJb/prefs.js
16:37:12 INFO - raptor-browsertime Info: 1635439032585 geckodriver::capabilities DEBUG Extracting profile to /tmp/rust_mozprofileNg6lJb/user.js
16:37:12 INFO - raptor-browsertime Info: 1635439032589 mozrunner::runner INFO Running command: "/home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/firefox" "--marionette" "-no-remote" "-foreground" "-profile" "/tmp/rust_mozprofileNg6lJb"
16:37:12 INFO - raptor-browsertime Info: 1635439032589 geckodriver::marionette DEBUG Waiting 60s to connect to browser on 127.0.0.1:33635
16:37:13 INFO - raptor-browsertime Info: 1635439033371 Marionette INFO Marionette enabled
16:37:13 INFO - raptor-browsertime Info: 1635439033493 Marionette TRACE Received observer notification toplevel-window-ready
16:37:14 INFO - raptor-browsertime Info: console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofileNg6lJb/search.json.mozlz4", (void 0)))
16:37:14 INFO - raptor-browsertime Info: console.debug: "Allowing access to these logos:" ["https://smartblock.firefox.etp/facebook.svg", "https://smartblock.firefox.etp/play.svg"]
16:37:14 INFO - raptor-browsertime Info: console.debug: "Shimming these" "sub_frame" "URLs:" ["*://trends.google.com/trends/embed*"]
16:37:14 INFO - raptor-browsertime Info: console.debug: "Shimming these" "script" "URLs:" ["*://webcompat-addon-testbed.herokuapp.com/shims_test.js", "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test.js", "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_2.js", "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js", "*://s7.addthis.com/icons/official-addthis-angularjs/current/dist/official-addthis-angularjs.min.js*", "*://track.adform.net/serving/scripts/trackpoint/", "*://track.adform.net/serving/scripts/trackpoint/async/", "*://acdn.adnxs.com/ast/ast.js", "*://*.adnxs.com/*/pb.js", "*://*.adnxs.com/*/prebid", "*://static.adsafeprotected.com/vans-adapter-google-ima.js", "*://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js", "*://c.amazon-adsystem.com/aax2/apstag.js", "*://auth.9c9media.ca/auth/main.js", "*://static.chartbeat.com/js/chartbeat.js", "*://static.chartbeat.com/js/chartbeat_video.js", "*://static.criteo.net/js/ld/publishertag.js", "*://libs.coremetrics.com/eluminate.js", "*://connect.facebook.net/*/sdk.js*", "*://connect.facebook.net/*/all.js*", "*://www.google-analytics.com/analytics.js*", "*://www.google-analytics.com/gtm/js*", "*://www.googletagmanager.com/gtm.js*", "*://www.google-analytics.com/plugins/ua/ec.js", "*://ssl.google-analytics.com/ga.js", "*://s0.2mdn.net/instream/html5/ima3.js", "*://imasdk.googleapis.com/js/sdkloader/ima3.js", "*://www.googleadservices.com/pagead/conversion_async.js", "*://www.googletagservices.com/tag/js/gpt.js*", "*://securepubads.g.doubleclick.net/tag/js/gpt.js*", "*://securepubads.g.doubleclick.net/gpt/pubads_impl_*.js*", "*://cdn.adsafeprotected.com/iasPET.1.js", "*://adservex.media.net/videoAds.js*", "*://*.moatads.com/*/moatad.js*", "*://*.moatads.com/*/moatapi.js*", "*://*.moatads.com/*/moatheader.js*", "*://*.moatads.com/*/yi.js*", "*://cdn.optimizely.com/js/*.js", "*://id.rambler.ru/rambler-id-helper/auth_events.js", "*://media.richrelevance.com/rrserver/js/1.2/p13n.js", "*://*.vidible.tv/*/vidible-min.js*", "*://vdb-cdn-files.s3.amazonaws.com/*/vidible-min.js*"]
16:37:14 INFO - raptor-browsertime Info: console.debug: "Shimming these" "image" "URLs:" ["*://track.adform.net/Serving/TrackPoint/*", "*://securepubads.g.doubleclick.net/gampad/*ad-blk*", "*://pubads.g.doubleclick.net/gampad/*ad-blk*", "*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*", "*://pubads.g.doubleclick.net/gampad/*xml_vmap1*", "*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*", "*://pubads.g.doubleclick.net/gampad/*xml_vmap2*", "*://securepubads.g.doubleclick.net/gampad/*ad*", "*://pubads.g.doubleclick.net/gampad/*ad*", "*://www.facebook.com/platform/impression.php*"]
16:37:14 INFO - raptor-browsertime Info: console.debug: "Shimming these" "imageset" "URLs:" ["*://track.adform.net/Serving/TrackPoint/*", "*://securepubads.g.doubleclick.net/gampad/*ad-blk*", "*://pubads.g.doubleclick.net/gampad/*ad-blk*", "*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*", "*://pubads.g.doubleclick.net/gampad/*xml_vmap1*", "*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*", "*://pubads.g.doubleclick.net/gampad/*xml_vmap2*", "*://securepubads.g.doubleclick.net/gampad/*ad*", "*://pubads.g.doubleclick.net/gampad/*ad*", "*://www.facebook.com/platform/impression.php*"]
16:37:14 INFO - raptor-browsertime Info: console.debug: "Shimming these" "xmlhttprequest" "URLs:" ["*://track.adform.net/Serving/TrackPoint/*", "*://securepubads.g.doubleclick.net/gampad/*ad-blk*", "*://pubads.g.doubleclick.net/gampad/*ad-blk*", "*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*", "*://pubads.g.doubleclick.net/gampad/*xml_vmap1*", "*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*", "*://pubads.g.doubleclick.net/gampad/*xml_vmap2*", "*://securepubads.g.doubleclick.net/gampad/*ad*", "*://pubads.g.doubleclick.net/gampad/*ad*", "*://www.facebook.com/platform/impression.php*"]
16:37:14 INFO - raptor-browsertime Info: console.debug: "Shimming these" "sub_frame" "URLs:" ["*://tpc.googlesyndication.com/safeframe/*/html/container.html", "*://*.safeframe.googlesyndication.com/safeframe/*/html/container.html"]
16:37:14 INFO - raptor-browsertime Info: console.debug: "Enabling content scripts for these URLs:" ["*://*.stackblitz.com/*", "*://*.stackblitz.io/*"]
16:37:14 INFO - raptor-browsertime Info: console.debug: "Enabling content scripts for these URLs:" ["*://we.hamropatro.com/login*"]
16:37:14 INFO - raptor-browsertime Info: console.debug: "Enabling content scripts for these URLs:" ["*://www.avclub.com/*", "*://deadspin.com/*", "*://gizmodo.com/*", "*://jalopnik.com/*", "*://jezebel.com/*", "*://kotaku.com/*", "*://lifehacker.com/*", "*://www.theonion.com/*", "*://www.theroot.com/*", "*://thetakeout.com/*", "*://theinventory.com/*"]
16:37:14 INFO - raptor-browsertime Info: 1635439034798 Marionette TRACE Received observer notification marionette-startup-requested
16:37:14 INFO - raptor-browsertime Info: 1635439034798 Marionette TRACE Waiting until startup recorder finished recording startup scripts...
16:37:14 INFO - raptor-browsertime Info: 1635439034809 Marionette TRACE All scripts recorded.
16:37:14 INFO - raptor-browsertime Info: 1635439034817 RemoteAgent DEBUG Setting recommended pref apz.content_response_timeout to 60000
16:37:14 INFO - raptor-browsertime Info: 1635439034818 RemoteAgent DEBUG Setting recommended pref browser.contentblocking.introCount to 99
16:37:14 INFO - raptor-browsertime Info: 1635439034818 RemoteAgent DEBUG Setting recommended pref browser.download.panel.shown to true
16:37:14 INFO - raptor-browsertime Info: 1635439034818 RemoteAgent DEBUG Setting recommended pref browser.newtabpage.enabled to false
16:37:14 INFO - raptor-browsertime Info: 1635439034820 RemoteAgent DEBUG Setting recommended pref browser.search.update to false
16:37:14 INFO - raptor-browsertime Info: 1635439034821 RemoteAgent DEBUG Setting recommended pref browser.tabs.disableBackgroundZombification to false
16:37:14 INFO - raptor-browsertime Info: 1635439034821 RemoteAgent DEBUG Setting recommended pref browser.tabs.warnOnCloseOtherTabs to false
16:37:14 INFO - raptor-browsertime Info: 1635439034821 RemoteAgent DEBUG Setting recommended pref browser.tabs.warnOnOpen to false
16:37:14 INFO - raptor-browsertime Info: 1635439034821 RemoteAgent DEBUG Setting recommended pref browser.toolbars.bookmarks.visibility to never
16:37:14 INFO - raptor-browsertime Info: 1635439034821 RemoteAgent DEBUG Setting recommended pref browser.usedOnWindows10.introURL to
16:37:14 INFO - raptor-browsertime Info: 1635439034821 RemoteAgent DEBUG Setting recommended pref browser.urlbar.suggest.searches to false
16:37:14 INFO - raptor-browsertime Info: 1635439034823 RemoteAgent DEBUG Setting recommended pref datareporting.policy.dataSubmissionPolicyAccepted to false
16:37:14 INFO - raptor-browsertime Info: 1635439034824 RemoteAgent DEBUG Setting recommended pref dom.file.createInChild to true
16:37:14 INFO - raptor-browsertime Info: 1635439034824 RemoteAgent DEBUG Setting recommended pref dom.successive_dialog_time_limit to 0
16:37:14 INFO - raptor-browsertime Info: 1635439034824 RemoteAgent DEBUG Setting recommended pref extensions.getAddons.cache.enabled to false
16:37:14 INFO - raptor-browsertime Info: 1635439034824 RemoteAgent DEBUG Setting recommended pref network.http.prompt-temp-redirect to false
16:37:14 INFO - raptor-browsertime Info: 1635439034824 RemoteAgent DEBUG Setting recommended pref security.notification_enable_delay to 0
16:37:14 INFO - raptor-browsertime Info: 1635439034824 RemoteAgent DEBUG Setting recommended pref signon.autofillForms to false
16:37:14 INFO - raptor-browsertime Info: 1635439034826 RemoteAgent DEBUG Setting recommended pref signon.rememberSignons to false
16:37:14 INFO - raptor-browsertime Info: 1635439034828 RemoteAgent DEBUG Setting recommended pref dom.disable_beforeunload to true
16:37:14 INFO - raptor-browsertime Info: 1635439034831 Marionette INFO Listening on port 33635
16:37:14 INFO - raptor-browsertime Info: 1635439034831 Marionette DEBUG Marionette is listening
16:37:14 INFO - raptor-browsertime Info: 1635439034908 Marionette DEBUG Accepted connection 0 from 127.0.0.1:50096
16:37:14 INFO - raptor-browsertime Info: 1635439034910 geckodriver::marionette DEBUG Connection to Marionette established on 127.0.0.1:33635.
16:37:14 INFO - raptor-browsertime Info: 1635439034919 Marionette DEBUG 0 -> [0,1,"WebDriver:NewSession",{"browserName":"firefox","pageLoadStrategy":"none"}]
16:37:14 INFO - raptor-browsertime Info: 1635439034937 Marionette DEBUG 0 <- [1,1,null,{"sessionId":"9b36e9f3-d13f-44d1-a64e-966951490448","capabilities":{"browserName":"firefox","browserVersion":"95.0a ... ofileNg6lJb","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true,"proxy":{}}}]
16:37:14 INFO - raptor-browsertime Info: 1635439034940 webdriver::server DEBUG <- 200 OK {"value":{"sessionId":"9b36e9f3-d13f-44d1-a64e-966951490448","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"95.0a1","moz:accessibilityChecks":false,"moz:buildID":"20211026090355","moz:geckodriverVersion":"0.29.1","moz:headless":false,"moz:processID":25648,"moz:profile":"/tmp/rust_mozprofileNg6lJb","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true,"pageLoadStrategy":"none","platformName":"linux","platformVersion":"5.4.0-87-generic","proxy":{},"setWindowRect":true,"strictFileInteractability":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"unhandledPromptBehavior":"dismiss and notify"}}}
16:37:14 INFO - raptor-browsertime Info: 1635439034943 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/timeouts {"pageLoad":60000,"script":120000}
16:37:14 INFO - raptor-browsertime Info: 1635439034944 Marionette DEBUG 0 -> [0,2,"WebDriver:SetTimeouts",{"pageLoad":60000,"script":120000}]
16:37:14 INFO - raptor-browsertime Info: 1635439034945 Marionette DEBUG 0 <- [1,2,null,{"value":null}]
16:37:14 INFO - raptor-browsertime Info: 1635439034945 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:14 INFO - raptor-browsertime Info: 1635439034950 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/window/rect {"x":0,"y":0,"width":1024,"height":768}
16:37:14 INFO - raptor-browsertime Info: 1635439034963 Marionette DEBUG 0 -> [0,3,"WebDriver:SetWindowRect",{"height":768,"width":1024,"x":0,"y":0}]
16:37:15 INFO - raptor-browsertime Info: 1635439035018 Marionette DEBUG 0 <- [1,3,null,{"x":0,"y":27,"width":1024,"height":768}]
16:37:15 INFO - raptor-browsertime Info: 1635439035019 webdriver::server DEBUG <- 200 OK {"value":{"x":0,"y":27,"width":1024,"height":768}}
16:37:15 INFO - raptor-browsertime Info: 1635439035023 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/url {"url":"data:text/html;charset=utf-8,<html><body></body></html>"}
16:37:15 INFO - raptor-browsertime Info: 1635439035024 Marionette DEBUG 0 -> [0,4,"WebDriver:Navigate",{"url":"data:text/html;charset=utf-8,<html><body></body></html>"}]
16:37:15 INFO - raptor-browsertime Info: 1635439035027 Marionette DEBUG 0 <- [1,4,null,{"value":null}]
16:37:15 INFO - raptor-browsertime Info: 1635439035027 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:15 INFO - raptor-browsertime Info: [browsertime] Starting a browsertime pageload
16:37:15 INFO - raptor-browsertime Info: [browsertime] Waiting for 1 ms (post_startup_delay)
16:37:15 INFO - raptor-browsertime Info: [browsertime] Navigating to about:blank, count: 0
16:37:15 INFO - raptor-browsertime Info: [browsertime.command.measure] Navigating to url about:blank iteration 1
16:37:15 INFO - raptor-browsertime Info: 1635439035136 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return document.documentURI;","args":[]}
16:37:15 INFO - raptor-browsertime Info: 1635439035137 Marionette DEBUG 0 -> [0,5,"WebDriver:ExecuteScript",{"args":[],"script":"return document.documentURI;"}]
16:37:15 INFO - raptor-browsertime Info: 1635439035145 Marionette TRACE [21] MarionetteCommands actor created for window id 2147483650
16:37:15 INFO - raptor-browsertime Info: 1635439035155 Marionette DEBUG 0 <- [1,5,null,{"value":"data:text/html;charset=utf-8,<html><body></body></html>"}]
16:37:15 INFO - raptor-browsertime Info: 1635439035155 webdriver::server DEBUG <- 200 OK {"value":"data:text/html;charset=utf-8,<html><body></body></html>"}
16:37:15 INFO - raptor-browsertime Info: 1635439035158 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"(function() {\n const orange = document.getElementById('browsertime-orange');\n if (orange) {\n orange.parentNode.removeChild(orange);\n }\n })();","args":[]}
16:37:15 INFO - raptor-browsertime Info: 1635439035163 Marionette DEBUG 0 -> [0,6,"WebDriver:ExecuteScript",{"args":[],"script":"(function() {\n const orange = document.getElementById('browsertime-orange');\n if (orange) {\n orange.parentNode.removeChild(orange);\n }\n })();"}]
16:37:15 INFO - raptor-browsertime Info: 1635439035165 Marionette DEBUG 0 <- [1,6,null,{"value":null}]
16:37:15 INFO - raptor-browsertime Info: 1635439035166 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:15 INFO - raptor-browsertime Info: [browsertime] Using webdriver.get to navigate
16:37:15 INFO - raptor-browsertime Info: 1635439035168 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/url {"url":"about:blank"}
16:37:15 INFO - raptor-browsertime Info: 1635439035169 Marionette DEBUG 0 -> [0,7,"WebDriver:Navigate",{"url":"about:blank"}]
16:37:15 INFO - raptor-browsertime Info: 1635439035169 Marionette DEBUG 0 <- [1,7,null,{"value":null}]
16:37:15 INFO - raptor-browsertime Info: 1635439035170 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:20 INFO - raptor-browsertime Info: [browsertime] Waiting for script pageCompleteCheck at most 300000 ms
16:37:20 INFO - raptor-browsertime Info: [browsertime] Waiting for script
16:37:20 INFO - raptor-browsertime Info: return (function(waitTime) {
16:37:20 INFO - raptor-browsertime Info: try {
16:37:20 INFO - raptor-browsertime Info: var end = window.performance.timing.loadEventEnd;
16:37:20 INFO - raptor-browsertime Info: var start= window.performance.timing.navigationStart;
16:37:20 INFO - raptor-browsertime Info: return (end > 0) && (performance.now() > end - start + waitTime);
16:37:20 INFO - raptor-browsertime Info: }
16:37:20 INFO - raptor-browsertime Info: catch(e) {
16:37:20 INFO - raptor-browsertime Info: return true;
16:37:20 INFO - raptor-browsertime Info: }
16:37:20 INFO - raptor-browsertime Info: })(arguments[arguments.length - 1]);
16:37:20 INFO - raptor-browsertime Info:
16:37:20 INFO - raptor-browsertime Info: 1635439040178 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:20 INFO - raptor-browsertime Info: 1635439040178 Marionette DEBUG 0 -> [0,8,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = win ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:20 INFO - raptor-browsertime Info: 1635439040179 Marionette TRACE [21] MarionetteCommands actor created for window id 2147483651
16:37:20 INFO - raptor-browsertime Info: 1635439040181 Marionette DEBUG 0 <- [1,8,null,{"value":true}]
16:37:20 INFO - raptor-browsertime Info: 1635439040181 webdriver::server DEBUG <- 200 OK {"value":true}
16:37:20 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned true
16:37:20 INFO - raptor-browsertime Info: 1635439040183 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return document.documentURI;","args":[]}
16:37:20 INFO - raptor-browsertime Info: 1635439040184 Marionette DEBUG 0 -> [0,9,"WebDriver:ExecuteScript",{"args":[],"script":"return document.documentURI;"}]
16:37:20 INFO - raptor-browsertime Info: 1635439040186 Marionette DEBUG 0 <- [1,9,null,{"value":"about:blank"}]
16:37:20 INFO - raptor-browsertime Info: 1635439040186 webdriver::server DEBUG <- 200 OK {"value":"about:blank"}
16:37:20 INFO - raptor-browsertime Info: [browsertime] Navigating to primary url:https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/
16:37:20 INFO - raptor-browsertime Info: [browsertime] Cycle 0, waiting for 1000 ms
16:37:21 INFO - raptor-browsertime Info: [browsertime] Cycle 0, starting the measure
16:37:21 INFO - raptor-browsertime Info: [browsertime.command.measure] Testing url https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/ iteration 1
16:37:21 INFO - raptor-browsertime Info: 1635439041195 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return document.documentURI;","args":[]}
16:37:21 INFO - raptor-browsertime Info: 1635439041195 Marionette DEBUG 0 -> [0,10,"WebDriver:ExecuteScript",{"args":[],"script":"return document.documentURI;"}]
16:37:21 INFO - raptor-browsertime Info: 1635439041198 Marionette DEBUG 0 <- [1,10,null,{"value":"about:blank"}]
16:37:21 INFO - raptor-browsertime Info: 1635439041198 webdriver::server DEBUG <- 200 OK {"value":"about:blank"}
16:37:21 INFO - raptor-browsertime Info: 1635439041200 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"(function() {\n const orange = document.getElementById('browsertime-orange');\n if (orange) {\n orange.parentNode.removeChild(orange);\n }\n })();","args":[]}
16:37:21 INFO - raptor-browsertime Info: 1635439041201 Marionette DEBUG 0 -> [0,11,"WebDriver:ExecuteScript",{"args":[],"script":"(function() {\n const orange = document.getElementById('browsertime-orange');\n if (orange) {\n orange.parentNode.removeChild(orange);\n }\n })();"}]
16:37:21 INFO - raptor-browsertime Info: 1635439041203 Marionette DEBUG 0 <- [1,11,null,{"value":null}]
16:37:21 INFO - raptor-browsertime Info: 1635439041203 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:21 INFO - raptor-browsertime Info: [browsertime] Using webdriver.get to navigate
16:37:21 INFO - raptor-browsertime Info: 1635439041205 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/url {"url":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}
16:37:21 INFO - raptor-browsertime Info: 1635439041206 Marionette DEBUG 0 -> [0,12,"WebDriver:Navigate",{"url":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}]
16:37:21 INFO - raptor-browsertime Info: 1635439041209 Marionette DEBUG 0 <- [1,12,null,{"value":null}]
16:37:21 INFO - raptor-browsertime Info: 1635439041210 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:22 INFO - raptor-browsertime Info: console.log: "\n ,d\"=\u2265,.,qOp,\n ,7' ''\xB2$( )\n ,7' '?q$7'\n ..,$$,.\n ,. .,,--***\xB2\"\"\xB2***--,,. .,\n \xB2 ,p\xB2'' ''\xB2q, \xB2\n: ,7' '7, :\n ' $ ,db, ,db, $ '\n '$ \xB2$$\xB2 \xB2$$\xB2 $' Using Reddit at work? Work for Reddit.\n '$ $' https://www.redditinc.com/careers\n '$. ., ,. .$'\n 'b, '\xB2\xAB\xBB\xAB\xBB\xAB\xBB\xB2' ,d'\n '\xB2?bn,, ,,nd?\xB2'\n ,7$ ''\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2'' $7,\n ,\xB2 \xB2$ $\xB2 \xB2,\n $ :$ $: $\n $ $ $ $\n 'b q: :p d'\n '\xB2\xAB?$. .$?\xBB\xB2'\n 'b d'\n ,\xB2\xB2'?,. .,?'\xB2\xB2,\n \xB2==--\u2265\xB2\xB2==--==\xB2\xB2\u2264--==\xB2\n"
16:37:22 INFO - raptor-browsertime Info: console.log: "%cStarting Raven %crelease %ce0c265a07694cc87a6783569b687104f5238ebb1-production %cpublic url %chttps://6b5ce051b2ed4032bd906af3de0630cd@o418887.ingest.sentry.io/5667464" "color: #7E53C1" "color: #7E53C1" "color: #FFB000" "color: #7E53C1" "color: #FFB000"
16:37:23 INFO - raptor-browsertime Info: console.debug: "ignoring https://www.googletagmanager.com/gtm.js?id=GTM-5XVNS82&l=googleTagManager on tab 1 frame 2147483651"
16:37:25 INFO - raptor-browsertime Info: JavaScript warning: https://www.redditstatic.com/accountmanager/ssoOneTap.66df921c39e4b8038f99.js, line 1: unreachable code after return statement
16:37:25 INFO - raptor-browsertime Info: console.log: "Not display reason: opt_out_or_no_session"
16:37:25 INFO - raptor-browsertime Info: console.error: "[GSI_LOGGER]: Check credential status returns invalid response."
16:37:25 INFO - raptor-browsertime Info: console.log: "Not display reason: unknown_reason"
16:37:26 INFO - raptor-browsertime Info: [browsertime] Waiting for script pageCompleteCheck at most 300000 ms
16:37:26 INFO - raptor-browsertime Info: [browsertime] Waiting for script
16:37:26 INFO - raptor-browsertime Info: return (function(waitTime) {
16:37:26 INFO - raptor-browsertime Info: try {
16:37:26 INFO - raptor-browsertime Info: var end = window.performance.timing.loadEventEnd;
16:37:26 INFO - raptor-browsertime Info: var start= window.performance.timing.navigationStart;
16:37:26 INFO - raptor-browsertime Info: return (end > 0) && (performance.now() > end - start + waitTime);
16:37:26 INFO - raptor-browsertime Info: }
16:37:26 INFO - raptor-browsertime Info: catch(e) {
16:37:26 INFO - raptor-browsertime Info: return true;
16:37:26 INFO - raptor-browsertime Info: }
16:37:26 INFO - raptor-browsertime Info: })(arguments[arguments.length - 1]);
16:37:26 INFO - raptor-browsertime Info:
16:37:26 INFO - raptor-browsertime Info: 1635439046214 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:26 INFO - raptor-browsertime Info: 1635439046215 Marionette DEBUG 0 -> [0,13,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:26 INFO - raptor-browsertime Info: 1635439046217 Marionette TRACE [21] MarionetteCommands actor created for window id 2147483652
16:37:26 INFO - raptor-browsertime Info: 1635439046219 Marionette DEBUG 0 <- [1,13,null,{"value":false}]
16:37:26 INFO - raptor-browsertime Info: 1635439046219 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:26 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned false
16:37:27 INFO - raptor-browsertime Info: 1635439047224 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:27 INFO - raptor-browsertime Info: 1635439047226 Marionette DEBUG 0 -> [0,14,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:27 INFO - raptor-browsertime Info: 1635439047273 Marionette DEBUG 0 <- [1,14,null,{"value":false}]
16:37:27 INFO - raptor-browsertime Info: 1635439047273 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:27 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned false
16:37:28 INFO - raptor-browsertime Info: 1635439048276 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:28 INFO - raptor-browsertime Info: 1635439048277 Marionette DEBUG 0 -> [0,15,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:28 INFO - raptor-browsertime Info: 1635439048287 Marionette DEBUG 0 <- [1,15,null,{"value":false}]
16:37:28 INFO - raptor-browsertime Info: 1635439048287 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:28 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned false
16:37:29 INFO - raptor-browsertime Info: 1635439049291 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:29 INFO - raptor-browsertime Info: 1635439049292 Marionette DEBUG 0 -> [0,16,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:29 INFO - raptor-browsertime Info: 1635439049296 Marionette DEBUG 0 <- [1,16,null,{"value":false}]
16:37:29 INFO - raptor-browsertime Info: 1635439049297 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:29 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned false
16:37:30 INFO - raptor-browsertime Info: 1635439050301 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:30 INFO - raptor-browsertime Info: 1635439050302 Marionette DEBUG 0 -> [0,17,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050306 Marionette DEBUG 0 <- [1,17,null,{"value":true}]
16:37:30 INFO - raptor-browsertime Info: 1635439050307 webdriver::server DEBUG <- 200 OK {"value":true}
16:37:30 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned true
16:37:30 INFO - raptor-browsertime Info: 1635439050310 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return document.documentURI;","args":[]}
16:37:30 INFO - raptor-browsertime Info: 1635439050311 Marionette DEBUG 0 -> [0,18,"WebDriver:ExecuteScript",{"args":[],"script":"return document.documentURI;"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050315 Marionette DEBUG 0 <- [1,18,null,{"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050316 webdriver::server DEBUG <- 200 OK {"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}
16:37:30 INFO - raptor-browsertime Info: [browsertime.command.measure] Stop measuring
16:37:30 INFO - raptor-browsertime Info: [browsertime.command.measure] Collecting metrics
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing script
16:37:30 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:30 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('layout-shift') === -1) {
16:37:30 INFO - raptor-browsertime Info: return false;
16:37:30 INFO - raptor-browsertime Info: } else return true;
16:37:30 INFO - raptor-browsertime Info:
16:37:30 INFO - raptor-browsertime Info: 1635439050324 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('layout-shift') === -1) {\n return false;\n } else return true;\n ","args":[null]}
16:37:30 INFO - raptor-browsertime Info: 1635439050326 Marionette DEBUG 0 -> [0,19,"WebDriver:ExecuteScript",{"args":[null],"script":"\n const supported = PerformanceObserver.supportedEntryTypes;\n ... if (!supported || supported.indexOf('layout-shift') === -1) {\n return false;\n } else return true;\n "}]
16:37:30 INFO - raptor-browsertime Info: 1635439050330 Marionette DEBUG 0 <- [1,19,null,{"value":false}]
16:37:30 INFO - raptor-browsertime Info: 1635439050330 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing script
16:37:30 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:30 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('largest-contentful-paint') === -1) {
16:37:30 INFO - raptor-browsertime Info: return false;
16:37:30 INFO - raptor-browsertime Info: } else return true;
16:37:30 INFO - raptor-browsertime Info:
16:37:30 INFO - raptor-browsertime Info: 1635439050333 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('largest-contentful-paint') === -1) {\n return false;\n } else return true;\n ","args":[null]}
16:37:30 INFO - raptor-browsertime Info: 1635439050334 Marionette DEBUG 0 -> [0,20,"WebDriver:ExecuteScript",{"args":[null],"script":"\n const supported = PerformanceObserver.supportedEntryTypes;\n ... orted || supported.indexOf('largest-contentful-paint') === -1) {\n return false;\n } else return true;\n "}]
16:37:30 INFO - raptor-browsertime Info: 1635439050336 Marionette DEBUG 0 <- [1,20,null,{"value":false}]
16:37:30 INFO - raptor-browsertime Info: 1635439050336 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing script appConstants with privilege.
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing privileged script return ( function() {
16:37:30 INFO - raptor-browsertime Info: const { AppConstants } = ChromeUtils.import(
16:37:30 INFO - raptor-browsertime Info: 'resource://gre/modules/AppConstants.jsm'
16:37:30 INFO - raptor-browsertime Info: );
16:37:30 INFO - raptor-browsertime Info: return AppConstants;
16:37:30 INFO - raptor-browsertime Info: } )()
16:37:30 INFO - raptor-browsertime Info: at SeleniumRunner.runPrivilegedScript (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:410:9)
16:37:30 INFO - raptor-browsertime Info: at SeleniumRunner.runScriptFromCategory (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:560:16)
16:37:30 INFO - raptor-browsertime Info: at SeleniumRunner.runScriptInCategory (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:650:35)
16:37:30 INFO - raptor-browsertime Info: at SeleniumRunner.runScripts (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:583:44)
16:37:30 INFO - raptor-browsertime Info: at Measure.collect (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/command/measure.js:454:30)
16:37:30 INFO - raptor-browsertime Info: at processTicksAndRejections (internal/process/task_queues.js:97:5)
16:37:30 INFO - raptor-browsertime Info: at async module.exports (/home/kimberly/Workspace/mozilla-unified/testing/raptor/browsertime/browsertime_pageload.js:51:5)
16:37:30 INFO - raptor-browsertime Info: at async /home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/run.js:7:9
16:37:30 INFO - raptor-browsertime Info: at async Iteration.run (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/iteration.js:214:9)
16:37:30 INFO - raptor-browsertime Info: at async Engine.runByScript (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/index.js:277:20)
16:37:30 INFO - raptor-browsertime Info: at async run (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js:71:22)
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing privileged script appConstants
16:37:30 INFO - raptor-browsertime Info: 1635439050340 webdriver::server DEBUG -> GET /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context
16:37:30 INFO - raptor-browsertime Info: 1635439050340 Marionette DEBUG 0 -> [0,21,"Marionette:GetContext",{}]
16:37:30 INFO - raptor-browsertime Info: 1635439050340 Marionette DEBUG 0 <- [1,21,null,{"value":"content"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050341 webdriver::server DEBUG <- 200 OK {"value":"content"}
16:37:30 INFO - raptor-browsertime Info: 1635439050342 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context {"context":"chrome"}
16:37:30 INFO - raptor-browsertime Info: 1635439050343 Marionette DEBUG 0 -> [0,22,"Marionette:SetContext",{"value":"chrome"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050343 Marionette DEBUG 0 <- [1,22,null,{"value":null}]
16:37:30 INFO - raptor-browsertime Info: 1635439050343 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:30 INFO - raptor-browsertime Info: 1635439050344 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return ( function() {\n const { AppConstants } = ChromeUtils.import(\n 'resource://gre/modules/AppConstants.jsm'\n );\n return AppConstants;\n } )()","args":[null]}
16:37:30 INFO - raptor-browsertime Info: 1635439050345 Marionette DEBUG 0 -> [0,23,"WebDriver:ExecuteScript",{"args":[null],"script":"return ( function() {\n const { AppConstants } = ChromeUtils.import(\n 'resource://gre/modules/AppConstants.jsm'\n );\n return AppConstants;\n } )()"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050347 Marionette TRACE [8] MarionetteCommands actor created for window id 2
16:37:30 INFO - raptor-browsertime Info: 1635439050349 Marionette DEBUG 0 <- [1,23,null,{"value":{"NIGHTLY_BUILD":true,"RELEASE_OR_BETA":false,"EARLY_BETA_OR_EARLIER":true,"IS_ESR":false,"ACCESSIBILITY" ... ATION_STORE":true,"ENABLE_WEBDRIVER":true,"REMOTE_SETTINGS_VERIFY_SIGNATURE":true,"MOZ_GLEAN_ANDROID":false,"MOZ_JXL":true}}]
16:37:30 INFO - raptor-browsertime Info: 1635439050350 webdriver::server DEBUG <- 200 OK {"value":{"ACCESSIBILITY":true,"ANDROID_PACKAGE_NAME":"org.mozilla.firefox","ASAN":false,"ASAN_REPORTER":false,"BROWSER_CHROME_URL":"chrome://browser/content/browser.xhtml","DEBUG":false,"DEBUG_JS_MODULES":"","DLL_PREFIX":"lib","DLL_SUFFIX":".so","EARLY_BETA_OR_EARLIER":true,"ENABLE_WEBDRIVER":true,"HAVE_SHELL_SERVICE":true,"HAVE_USR_LIB64_DIR":false,"IS_ESR":false,"MENUBAR_CAN_AUTOHIDE":true,"MOZILLA_OFFICIAL":false,"MOZ_ALLOW_ADDON_SIDELOAD":false,"MOZ_ANDROID_HISTORY":false,"MOZ_APP_BASENAME":"Firefox","MOZ_APP_DISPLAYNAME_DO_NOT_USE":"Nightly","MOZ_APP_NAME":"firefox","MOZ_APP_VERSION":"95.0a1","MOZ_APP_VERSION_DISPLAY":"95.0a1","MOZ_BACKGROUNDTASKS":true,"MOZ_BING_API_CLIENTID":"no-bing-api-clientid","MOZ_BING_API_KEY":"no-bing-api-key","MOZ_BITS_DOWNLOAD":false,"MOZ_BUILDID":"20211018104554","MOZ_BUILD_APP":"browser","MOZ_CODE_COVERAGE":false,"MOZ_CRASHREPORTER":true,"MOZ_DATA_REPORTING":true,"MOZ_DEV_EDITION":false,"MOZ_GECKO_PROFILER":true,"MOZ_GLEAN_ANDROID":false,"MOZ_GOOGLE_LOCATION_SERVICE_API_KEY":"no-google-location-service-api-key","MOZ_GOOGLE_SAFEBROWSING_API_KEY":"no-google-safebrowsing-api-key","MOZ_JXL":true,"MOZ_MACBUNDLE_ID":"org.mozilla.nightly","MOZ_MACBUNDLE_NAME":"Nightly.app","MOZ_MAINTENANCE_SERVICE":false,"MOZ_MOZILLA_API_KEY":"no-mozilla-api-key","MOZ_NEW_NOTIFICATION_STORE":true,"MOZ_NEW_XULSTORE":true,"MOZ_NORMANDY":true,"MOZ_OFFICIAL_BRANDING":false,"MOZ_PLACES":true,"MOZ_REQUIRE_SIGNING":false,"MOZ_SANDBOX":true,"MOZ_SERVICES_HEALTHREPORT":true,"MOZ_SERVICES_SYNC":false,"MOZ_SWITCHBOARD":false,"MOZ_SYSTEM_NSS":false,"MOZ_TELEMETRY_ON_BY_DEFAULT":false,"MOZ_TELEMETRY_REPORTING":false,"MOZ_UNSIGNED_SCOPES":0,"MOZ_UPDATER":true,"MOZ_UPDATE_AGENT":false,"MOZ_UPDATE_CHANNEL":"default","MOZ_WEBEXT_WEBIDL_ENABLED":true,"MOZ_WEBRTC":true,"MOZ_WIDGET_GTK":true,"MOZ_WIDGET_TOOLKIT":"gtk","NIGHTLY_BUILD":true,"OMNIJAR_NAME":"omni.ja","RELEASE_OR_BETA":false,"REMOTE_SETTINGS_VERIFY_SIGNATURE":true,"SOURCE_REVISION_URL":"","TELEMETRY_PING_FORMAT_VERSION":4,"TSAN":false,"XP_UNIX":true,"isPlatformAndVersionAtLeast":{},"isPlatformAndVersionAtMost":{},"platform":"linux","unixstyle":"linux"}}
16:37:30 INFO - raptor-browsertime Info: 1635439050352 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context {"context":"content"}
16:37:30 INFO - raptor-browsertime Info: 1635439050353 Marionette DEBUG 0 -> [0,24,"Marionette:SetContext",{"value":"content"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050353 Marionette DEBUG 0 <- [1,24,null,{"value":null}]
16:37:30 INFO - raptor-browsertime Info: 1635439050353 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing script asyncAppConstants with privilege.
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing privileged async script
16:37:30 INFO - raptor-browsertime Info: const callback = arguments[arguments.length - 1];
16:37:30 INFO - raptor-browsertime Info: return (( async function() {
16:37:30 INFO - raptor-browsertime Info: return new Promise(resolve => {
16:37:30 INFO - raptor-browsertime Info: const { AppConstants } = ChromeUtils.import(
16:37:30 INFO - raptor-browsertime Info: 'resource://gre/modules/AppConstants.jsm'
16:37:30 INFO - raptor-browsertime Info: );
16:37:30 INFO - raptor-browsertime Info: resolve(AppConstants);
16:37:30 INFO - raptor-browsertime Info: });
16:37:30 INFO - raptor-browsertime Info: } )())
16:37:30 INFO - raptor-browsertime Info: .then((r) => callback({'result': r}))
16:37:30 INFO - raptor-browsertime Info: .catch((e) => callback({'error': e}));
16:37:30 INFO - raptor-browsertime Info:
16:37:30 INFO - raptor-browsertime Info: at SeleniumRunner.runPrivilegedAsyncScript (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:460:9)
16:37:30 INFO - raptor-browsertime Info: at SeleniumRunner.runScriptFromCategory (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:549:28)
16:37:30 INFO - raptor-browsertime Info: at SeleniumRunner.runScriptInCategory (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:650:35)
16:37:30 INFO - raptor-browsertime Info: at processTicksAndRejections (internal/process/task_queues.js:97:5)
16:37:30 INFO - raptor-browsertime Info: at async SeleniumRunner.runScripts (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:583:33)
16:37:30 INFO - raptor-browsertime Info: at async Measure.collect (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/command/measure.js:454:11)
16:37:30 INFO - raptor-browsertime Info: at async module.exports (/home/kimberly/Workspace/mozilla-unified/testing/raptor/browsertime/browsertime_pageload.js:51:5)
16:37:30 INFO - raptor-browsertime Info: at async /home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/run.js:7:9
16:37:30 INFO - raptor-browsertime Info: at async Iteration.run (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/iteration.js:214:9)
16:37:30 INFO - raptor-browsertime Info: at async Engine.runByScript (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/index.js:277:20)
16:37:30 INFO - raptor-browsertime Info: at async run (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js:71:22)
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing privileged async script asyncAppConstants
16:37:30 INFO - raptor-browsertime Info: 1635439050355 webdriver::server DEBUG -> GET /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context
16:37:30 INFO - raptor-browsertime Info: 1635439050356 Marionette DEBUG 0 -> [0,25,"Marionette:GetContext",{}]
16:37:30 INFO - raptor-browsertime Info: 1635439050356 Marionette DEBUG 0 <- [1,25,null,{"value":"content"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050356 webdriver::server DEBUG <- 200 OK {"value":"content"}
16:37:30 INFO - raptor-browsertime Info: 1635439050358 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context {"context":"chrome"}
16:37:30 INFO - raptor-browsertime Info: 1635439050358 Marionette DEBUG 0 -> [0,26,"Marionette:SetContext",{"value":"chrome"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050358 Marionette DEBUG 0 <- [1,26,null,{"value":null}]
16:37:30 INFO - raptor-browsertime Info: 1635439050359 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:30 INFO - raptor-browsertime Info: 1635439050360 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/async {"script":"\n const callback = arguments[arguments.length - 1];\n return (( async function() {\n return new Promise(resolve => {\n const { AppConstants } = ChromeUtils.import(\n 'resource://gre/modules/AppConstants.jsm'\n );\n resolve(AppConstants);\n });\n } )())\n .then((r) => callback({'result': r}))\n .catch((e) => callback({'error': e}));\n ","args":[null]}
16:37:30 INFO - raptor-browsertime Info: 1635439050361 Marionette DEBUG 0 -> [0,27,"WebDriver:ExecuteAsyncScript",{"args":[null],"script":"\n const callback = arguments[arguments.length - 1]; ... )\n .then((r) => callback({'result': r}))\n .catch((e) => callback({'error': e}));\n "}]
16:37:30 INFO - raptor-browsertime Info: 1635439050363 Marionette DEBUG 0 <- [1,27,null,{"value":{"result":{"NIGHTLY_BUILD":true,"RELEASE_OR_BETA":false,"EARLY_BETA_OR_EARLIER":true,"IS_ESR":false,"ACCE ... TION_STORE":true,"ENABLE_WEBDRIVER":true,"REMOTE_SETTINGS_VERIFY_SIGNATURE":true,"MOZ_GLEAN_ANDROID":false,"MOZ_JXL":true}}}]
16:37:30 INFO - raptor-browsertime Info: 1635439050364 webdriver::server DEBUG <- 200 OK {"value":{"result":{"ACCESSIBILITY":true,"ANDROID_PACKAGE_NAME":"org.mozilla.firefox","ASAN":false,"ASAN_REPORTER":false,"BROWSER_CHROME_URL":"chrome://browser/content/browser.xhtml","DEBUG":false,"DEBUG_JS_MODULES":"","DLL_PREFIX":"lib","DLL_SUFFIX":".so","EARLY_BETA_OR_EARLIER":true,"ENABLE_WEBDRIVER":true,"HAVE_SHELL_SERVICE":true,"HAVE_USR_LIB64_DIR":false,"IS_ESR":false,"MENUBAR_CAN_AUTOHIDE":true,"MOZILLA_OFFICIAL":false,"MOZ_ALLOW_ADDON_SIDELOAD":false,"MOZ_ANDROID_HISTORY":false,"MOZ_APP_BASENAME":"Firefox","MOZ_APP_DISPLAYNAME_DO_NOT_USE":"Nightly","MOZ_APP_NAME":"firefox","MOZ_APP_VERSION":"95.0a1","MOZ_APP_VERSION_DISPLAY":"95.0a1","MOZ_BACKGROUNDTASKS":true,"MOZ_BING_API_CLIENTID":"no-bing-api-clientid","MOZ_BING_API_KEY":"no-bing-api-key","MOZ_BITS_DOWNLOAD":false,"MOZ_BUILDID":"20211018104554","MOZ_BUILD_APP":"browser","MOZ_CODE_COVERAGE":false,"MOZ_CRASHREPORTER":true,"MOZ_DATA_REPORTING":true,"MOZ_DEV_EDITION":false,"MOZ_GECKO_PROFILER":true,"MOZ_GLEAN_ANDROID":false,"MOZ_GOOGLE_LOCATION_SERVICE_API_KEY":"no-google-location-service-api-key","MOZ_GOOGLE_SAFEBROWSING_API_KEY":"no-google-safebrowsing-api-key","MOZ_JXL":true,"MOZ_MACBUNDLE_ID":"org.mozilla.nightly","MOZ_MACBUNDLE_NAME":"Nightly.app","MOZ_MAINTENANCE_SERVICE":false,"MOZ_MOZILLA_API_KEY":"no-mozilla-api-key","MOZ_NEW_NOTIFICATION_STORE":true,"MOZ_NEW_XULSTORE":true,"MOZ_NORMANDY":true,"MOZ_OFFICIAL_BRANDING":false,"MOZ_PLACES":true,"MOZ_REQUIRE_SIGNING":false,"MOZ_SANDBOX":true,"MOZ_SERVICES_HEALTHREPORT":true,"MOZ_SERVICES_SYNC":false,"MOZ_SWITCHBOARD":false,"MOZ_SYSTEM_NSS":false,"MOZ_TELEMETRY_ON_BY_DEFAULT":false,"MOZ_TELEMETRY_REPORTING":false,"MOZ_UNSIGNED_SCOPES":0,"MOZ_UPDATER":true,"MOZ_UPDATE_AGENT":false,"MOZ_UPDATE_CHANNEL":"default","MOZ_WEBEXT_WEBIDL_ENABLED":true,"MOZ_WEBRTC":true,"MOZ_WIDGET_GTK":true,"MOZ_WIDGET_TOOLKIT":"gtk","NIGHTLY_BUILD":true,"OMNIJAR_NAME":"omni.ja","RELEASE_OR_BETA":false,"REMOTE_SETTINGS_VERIFY_SIGNATURE":true,"SOURCE_REVISION_URL":"","TELEMETRY_PING_FORMAT_VERSION":4,"TSAN":false,"XP_UNIX":true,"isPlatformAndVersionAtLeast":{},"isPlatformAndVersionAtMost":{},"platform":"linux","unixstyle":"linux"}}}
16:37:30 INFO - raptor-browsertime Info: 1635439050365 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context {"context":"content"}
16:37:30 INFO - raptor-browsertime Info: 1635439050366 Marionette DEBUG 0 -> [0,28,"Marionette:SetContext",{"value":"content"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050366 Marionette DEBUG 0 <- [1,28,null,{"value":null}]
16:37:30 INFO - raptor-browsertime Info: 1635439050366 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:30 INFO - raptor-browsertime Info: // simple CPU benchmarking
16:37:30 INFO - raptor-browsertime Info: // following https://github.com/wikimedia/mediawiki-extensions-NavigationTiming/blob/master/modules/ext.navigationTiming.js
16:37:30 INFO - raptor-browsertime Info: // except not in worker to avoid CSP issues.
16:37:30 INFO - raptor-browsertime Info: const amount = 100000000;
16:37:30 INFO - raptor-browsertime Info: const startTime = performance.now();
16:37:30 INFO - raptor-browsertime Info: for ( let i = amount; i > 0; i-- ) {
16:37:30 INFO - raptor-browsertime Info: // empty
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: return Math.round( performance.now() - startTime );
16:37:30 INFO - raptor-browsertime Info: })();
16:37:30 INFO - raptor-browsertime Info: 1635439050368 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // simple CPU benchmarking\n // following https://github.com/wikimedia/mediawiki-extensions-NavigationTiming/blob/master/modules/ext.navigationTiming.js\n // except not in worker to avoid CSP issues.\n const amount = 100000000;\n const startTime = performance.now();\n for ( let i = amount; i > 0; i-- ) {\n // empty\n }\n return Math.round( performance.now() - startTime );\n })();","args":[null]}
16:37:30 INFO - raptor-browsertime Info: 1635439050368 Marionette DEBUG 0 -> [0,29,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // simple CPU benchmarking\n // followi ... ( let i = amount; i > 0; i-- ) {\n // empty\n }\n return Math.round( performance.now() - startTime );\n })();"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050450 Marionette DEBUG 0 <- [1,29,null,{"value":79}]
16:37:30 INFO - raptor-browsertime Info: 1635439050450 webdriver::server DEBUG <- 200 OK {"value":79}
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:30 INFO - raptor-browsertime Info: return navigator.userAgent;
16:37:30 INFO - raptor-browsertime Info: })();
16:37:30 INFO - raptor-browsertime Info:
16:37:30 INFO - raptor-browsertime Info: 1635439050453 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n return navigator.userAgent;\n})();\n","args":[null]}
16:37:30 INFO - raptor-browsertime Info: 1635439050453 Marionette DEBUG 0 -> [0,30,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n return navigator.userAgent;\n})();\n"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050454 Marionette DEBUG 0 <- [1,30,null,{"value":"Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050455 webdriver::server DEBUG <- 200 OK {"value":"Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"}
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:30 INFO - raptor-browsertime Info: const w = window,
16:37:30 INFO - raptor-browsertime Info: d = document,
16:37:30 INFO - raptor-browsertime Info: e = d.documentElement,
16:37:30 INFO - raptor-browsertime Info: g = d.getElementsByTagName('body')[0],
16:37:30 INFO - raptor-browsertime Info: x = w.innerWidth || e.clientWidth || g.clientWidth,
16:37:30 INFO - raptor-browsertime Info: y = w.innerHeight || e.clientHeight || g.clientHeight;
16:37:30 INFO - raptor-browsertime Info: return x + 'x' + y;
16:37:30 INFO - raptor-browsertime Info: })();
16:37:30 INFO - raptor-browsertime Info:
16:37:30 INFO - raptor-browsertime Info: 1635439050456 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const w = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n x = w.innerWidth || e.clientWidth || g.clientWidth,\n y = w.innerHeight || e.clientHeight || g.clientHeight;\n return x + 'x' + y;\n})();\n","args":[null]}
16:37:30 INFO - raptor-browsertime Info: 1635439050457 Marionette DEBUG 0 -> [0,31,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const w = window,\n d = document,\n e ... .clientWidth || g.clientWidth,\n y = w.innerHeight || e.clientHeight || g.clientHeight;\n return x + 'x' + y;\n})();\n"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050459 Marionette DEBUG 0 <- [1,31,null,{"value":"1024x683"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050459 webdriver::server DEBUG <- 200 OK {"value":"1024x683"}
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:30 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:30 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('layout-shift') === -1) {
16:37:30 INFO - raptor-browsertime Info: return;
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: // See https://web.dev/layout-instability-api
16:37:30 INFO - raptor-browsertime Info: // https://github.com/mmocny/web-vitals/wiki/Snippets-for-LSN-using-PerformanceObserver#max-session-gap1s-limit5s
16:37:30 INFO - raptor-browsertime Info: let max = 0;
16:37:30 INFO - raptor-browsertime Info: let curr = 0;
16:37:30 INFO - raptor-browsertime Info: let firstTs = Number.NEGATIVE_INFINITY;
16:37:30 INFO - raptor-browsertime Info: let prevTs = Number.NEGATIVE_INFINITY;
16:37:30 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:30 INFO - raptor-browsertime Info: observer.observe({ type: 'layout-shift', buffered: true });
16:37:30 INFO - raptor-browsertime Info: const list = observer.takeRecords();
16:37:30 INFO - raptor-browsertime Info: for (let entry of list) {
16:37:30 INFO - raptor-browsertime Info: if (entry.hadRecentInput) {
16:37:30 INFO - raptor-browsertime Info: continue;
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: if (entry.startTime - firstTs > 5000 || entry.startTime - prevTs > 1000) {
16:37:30 INFO - raptor-browsertime Info: firstTs = entry.startTime;
16:37:30 INFO - raptor-browsertime Info: curr = 0;
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: prevTs = entry.startTime;
16:37:30 INFO - raptor-browsertime Info: curr += entry.value;
16:37:30 INFO - raptor-browsertime Info: max = Math.max(max, curr);
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: return max;
16:37:30 INFO - raptor-browsertime Info: })();
16:37:30 INFO - raptor-browsertime Info:
16:37:30 INFO - raptor-browsertime Info: 1635439050462 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('layout-shift') === -1) {\n return;\n }\n // See https://web.dev/layout-instability-api\n // https://github.com/mmocny/web-vitals/wiki/Snippets-for-LSN-using-PerformanceObserver#max-session-gap1s-limit5s\n let max = 0;\n let curr = 0; \n let firstTs = Number.NEGATIVE_INFINITY;\n let prevTs = Number.NEGATIVE_INFINITY;\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: 'layout-shift', buffered: true });\n const list = observer.takeRecords();\n for (let entry of list) {\n if (entry.hadRecentInput) {\n continue;\n } \n if (entry.startTime - firstTs > 5000 || entry.startTime - prevTs > 1000) {\n firstTs = entry.startTime;\n curr = 0;\n }\n prevTs = entry.startTime;\n curr += entry.value;\n max = Math.max(max, curr);\n }\n return max;\n})();\n","args":[null]}
16:37:30 INFO - raptor-browsertime Info: 1635439050462 Marionette DEBUG 0 -> [0,32,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const supported = PerformanceObserver.suppor ... }\n prevTs = entry.startTime;\n curr += entry.value;\n max = Math.max(max, curr);\n }\n return max;\n})();\n"}]
16:37:30 INFO - raptor-browsertime Info: 1635439050464 Marionette DEBUG 0 <- [1,32,null,{"value":null}]
16:37:30 INFO - raptor-browsertime Info: 1635439050464 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:30 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:30 INFO - raptor-browsertime Info: // https://gist.github.com/karlgroves/7544592
16:37:30 INFO - raptor-browsertime Info: function getDomPath(el) {
16:37:30 INFO - raptor-browsertime Info: const stack = [];
16:37:30 INFO - raptor-browsertime Info: while ( el.parentNode != null ) {
16:37:30 INFO - raptor-browsertime Info: let sibCount = 0;
16:37:30 INFO - raptor-browsertime Info: let sibIndex = 0;
16:37:30 INFO - raptor-browsertime Info: for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {
16:37:30 INFO - raptor-browsertime Info: let sib = el.parentNode.childNodes[i];
16:37:30 INFO - raptor-browsertime Info: if ( sib.nodeName == el.nodeName ) {
16:37:30 INFO - raptor-browsertime Info: if ( sib === el ) {
16:37:30 INFO - raptor-browsertime Info: sibIndex = sibCount;
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: sibCount++;
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {
16:37:30 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);
16:37:30 INFO - raptor-browsertime Info: } else if ( sibCount > 1 ) {
16:37:30 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');
16:37:30 INFO - raptor-browsertime Info: } else {
16:37:30 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase());
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: el = el.parentNode;
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info:
16:37:30 INFO - raptor-browsertime Info: return stack.slice(1);
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info:
16:37:30 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:30 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('layout-shift') === -1) {
16:37:30 INFO - raptor-browsertime Info: return;
16:37:30 INFO - raptor-browsertime Info: }
16:37:30 INFO - raptor-browsertime Info: // See https://web.dev/layout-instability-api
16:37:31 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:31 INFO - raptor-browsertime Info: let max = 0;
16:37:31 INFO - raptor-browsertime Info: let current = [];
16:37:31 INFO - raptor-browsertime Info: let curr = 0;
16:37:31 INFO - raptor-browsertime Info: let firstTs = Number.NEGATIVE_INFINITY;
16:37:31 INFO - raptor-browsertime Info: let prevTs = Number.NEGATIVE_INFINITY;
16:37:31 INFO - raptor-browsertime Info: observer.observe({ type: 'layout-shift', buffered: true });
16:37:31 INFO - raptor-browsertime Info: const list = observer.takeRecords();
16:37:31 INFO - raptor-browsertime Info: const maxSessionGap1sLimit5s = {};
16:37:31 INFO - raptor-browsertime Info: for (let entry of list) {
16:37:31 INFO - raptor-browsertime Info: if (entry.hadRecentInput) {
16:37:31 INFO - raptor-browsertime Info: continue;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: if (entry.startTime - firstTs > 5000 || entry.startTime - prevTs > 1000) {
16:37:31 INFO - raptor-browsertime Info: firstTs = entry.startTime;
16:37:31 INFO - raptor-browsertime Info: curr = 0;
16:37:31 INFO - raptor-browsertime Info: maxSessionGap1sLimit5s[max] = [...current];
16:37:31 INFO - raptor-browsertime Info: current = [];
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: prevTs = entry.startTime;
16:37:31 INFO - raptor-browsertime Info: curr += entry.value;
16:37:31 INFO - raptor-browsertime Info: max = Math.max(max, curr);
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: const scoreAndHTML = {score: entry.value, domPath: [], startTime: entry.startTime, tags: []};
16:37:31 INFO - raptor-browsertime Info: for (let source of entry.sources) {
16:37:31 INFO - raptor-browsertime Info: try {
16:37:31 INFO - raptor-browsertime Info: if (source.node) {
16:37:31 INFO - raptor-browsertime Info: const html = getDomPath(source.node);
16:37:31 INFO - raptor-browsertime Info: scoreAndHTML.domPath.push(html.join( ' > '));
16:37:31 INFO - raptor-browsertime Info: const tag = source.node.cloneNode(false);
16:37:31 INFO - raptor-browsertime Info: scoreAndHTML.tags.push(tag.outerHTML);
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: catch(e) {}
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: current.push(scoreAndHTML);
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: return maxSessionGap1sLimit5s[max] ? maxSessionGap1sLimit5s[max] : current;
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050466 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://gist.github.com/karlgroves/7544592\n function getDomPath(el) {\n const stack = [];\n while ( el.parentNode != null ) {\n let sibCount = 0;\n let sibIndex = 0;\n for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {\n let sib = el.parentNode.childNodes[i];\n if ( sib.nodeName == el.nodeName ) {\n if ( sib === el ) {\n sibIndex = sibCount;\n }\n sibCount++;\n }\n }\n if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {\n stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);\n } else if ( sibCount > 1 ) {\n stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');\n } else {\n stack.unshift(el.nodeName.toLowerCase());\n }\n el = el.parentNode;\n }\n \n return stack.slice(1);\n }\n\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('layout-shift') === -1) {\n return;\n }\n // See https://web.dev/layout-instability-api\n const observer = new PerformanceObserver(list => {});\n let max = 0; \n let current = []; \n let curr = 0; \n let firstTs = Number.NEGATIVE_INFINITY; \n let prevTs = Number.NEGATIVE_INFINITY;\n observer.observe({ type: 'layout-shift', buffered: true });\n const list = observer.takeRecords();\n const maxSessionGap1sLimit5s = {};\n for (let entry of list) {\n if (entry.hadRecentInput) {\n continue;\n } \n\n if (entry.startTime - firstTs > 5000 || entry.startTime - prevTs > 1000) {\n firstTs = entry.startTime;\n curr = 0;\n maxSessionGap1sLimit5s[max] = [...current];\n current = []; \n }\n prevTs = entry.startTime;\n curr += entry.value;\n max = Math.max(max, curr);\n\n const scoreAndHTML = {score: entry.value, domPath: [], startTime: entry.startTime, tags: []};\n for (let source of entry.sources) {\n try {\n if (source.node) {\n const html = getDomPath(source.node);\n scoreAndHTML.domPath.push(html.join( ' > '));\n const tag = source.node.cloneNode(false);\n scoreAndHTML.tags.push(tag.outerHTML);\n }\n }\n catch(e) {}\n }\n current.push(scoreAndHTML);\n }\n return maxSessionGap1sLimit5s[max] ? maxSessionGap1sLimit5s[max] : current;\n })();\n ","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050467 Marionette DEBUG 0 -> [0,33,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://gist.github.com/karlgroves/754459 ... ush(scoreAndHTML);\n }\n return maxSessionGap1sLimit5s[max] ? maxSessionGap1sLimit5s[max] : current;\n })();\n "}]
16:37:31 INFO - raptor-browsertime Info: 1635439050470 Marionette DEBUG 0 <- [1,33,null,{"value":null}]
16:37:31 INFO - raptor-browsertime Info: 1635439050470 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: function docHeight(doc) {
16:37:31 INFO - raptor-browsertime Info: const body = doc.body,
16:37:31 INFO - raptor-browsertime Info: docelem = doc.documentElement;
16:37:31 INFO - raptor-browsertime Info: return Math.max(
16:37:31 INFO - raptor-browsertime Info: body.scrollHeight,
16:37:31 INFO - raptor-browsertime Info: body.offsetHeight,
16:37:31 INFO - raptor-browsertime Info: docelem.clientHeight,
16:37:31 INFO - raptor-browsertime Info: docelem.scrollHeight,
16:37:31 INFO - raptor-browsertime Info: docelem.offsetHeight
16:37:31 INFO - raptor-browsertime Info: );
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: return docHeight(document);
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050472 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n function docHeight(doc) {\n const body = doc.body,\n docelem = doc.documentElement;\n return Math.max(\n body.scrollHeight,\n body.offsetHeight,\n docelem.clientHeight,\n docelem.scrollHeight,\n docelem.offsetHeight\n );\n }\n\n return docHeight(document);\n})();\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050472 Marionette DEBUG 0 -> [0,34,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n function docHeight(doc) {\n const body = ... entHeight,\n docelem.scrollHeight,\n docelem.offsetHeight\n );\n }\n\n return docHeight(document);\n})();\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050475 Marionette DEBUG 0 <- [1,34,null,{"value":32500}]
16:37:31 INFO - raptor-browsertime Info: 1635439050475 webdriver::server DEBUG <- 200 OK {"value":32500}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: const t = window.performance.getEntriesByType('navigation')[0];
16:37:31 INFO - raptor-browsertime Info: // Safari doesnt support getEntriesByType('navigation')
16:37:31 INFO - raptor-browsertime Info: if (t) {
16:37:31 INFO - raptor-browsertime Info: return {
16:37:31 INFO - raptor-browsertime Info: decodedBodySize: t.decodedBodySize,
16:37:31 INFO - raptor-browsertime Info: encodedBodySize: t.encodedBodySize,
16:37:31 INFO - raptor-browsertime Info: transferSize: t.transferSize
16:37:31 INFO - raptor-browsertime Info: };
16:37:31 INFO - raptor-browsertime Info: } else {
16:37:31 INFO - raptor-browsertime Info: return;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050477 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const t = window.performance.getEntriesByType('navigation')[0];\n // Safari doesnt support getEntriesByType('navigation')\n if (t) {\n return {\n decodedBodySize: t.decodedBodySize,\n encodedBodySize: t.encodedBodySize,\n transferSize: t.transferSize\n };\n } else {\n return;\n }\n})();\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050477 Marionette DEBUG 0 -> [0,35,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const t = window.performance.getEntriesByTyp ... encodedBodySize: t.encodedBodySize,\n transferSize: t.transferSize\n };\n } else {\n return;\n }\n})();\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050482 Marionette DEBUG 0 <- [1,35,null,{"value":{"decodedBodySize":923783,"encodedBodySize":923783,"transferSize":925419}}]
16:37:31 INFO - raptor-browsertime Info: 1635439050482 webdriver::server DEBUG <- 200 OK {"value":{"decodedBodySize":923783,"encodedBodySize":923783,"transferSize":925419}}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: // https://github.com/sitespeedio/browsertime/issues/979
16:37:31 INFO - raptor-browsertime Info: if (typeof document.title === "string") {
16:37:31 INFO - raptor-browsertime Info: return document.title;
16:37:31 INFO - raptor-browsertime Info: } else {
16:37:31 INFO - raptor-browsertime Info: const titles = document.getElementsByTagName("title");
16:37:31 INFO - raptor-browsertime Info: if (titles.length > 0) {
16:37:31 INFO - raptor-browsertime Info: return titles[0].innerHTML;
16:37:31 INFO - raptor-browsertime Info: } else return "";
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050483 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://github.com/sitespeedio/browsertime/issues/979\n if (typeof document.title === \"string\") {\n return document.title;\n } else {\n const titles = document.getElementsByTagName(\"title\");\n if (titles.length > 0) {\n return titles[0].innerHTML;\n } else return \"\";\n }\n})();\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050484 Marionette DEBUG 0 -> [0,36,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://github.com/sitespeedio/browsertim ... agName(\"title\");\n if (titles.length > 0) {\n return titles[0].innerHTML;\n } else return \"\";\n }\n})();\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050486 Marionette DEBUG 0 <- [1,36,null,{"value":"We posed as 100 Senators to run ads on Facebook. Facebook approved all of them. : technology"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050486 webdriver::server DEBUG <- 200 OK {"value":"We posed as 100 Senators to run ads on Facebook. Facebook approved all of them. : technology"}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: function docWidth(doc) {
16:37:31 INFO - raptor-browsertime Info: const body = doc.body,
16:37:31 INFO - raptor-browsertime Info: docelem = doc.documentElement;
16:37:31 INFO - raptor-browsertime Info: return Math.max(
16:37:31 INFO - raptor-browsertime Info: body.scrollWidth,
16:37:31 INFO - raptor-browsertime Info: body.offsetWidth,
16:37:31 INFO - raptor-browsertime Info: docelem.clientWidth,
16:37:31 INFO - raptor-browsertime Info: docelem.scrollWidth,
16:37:31 INFO - raptor-browsertime Info: docelem.offsetWidth
16:37:31 INFO - raptor-browsertime Info: );
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: return docWidth(document);
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050488 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n function docWidth(doc) {\n const body = doc.body,\n docelem = doc.documentElement;\n return Math.max(\n body.scrollWidth,\n body.offsetWidth,\n docelem.clientWidth,\n docelem.scrollWidth,\n docelem.offsetWidth\n );\n }\n\n return docWidth(document);\n})();\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050488 Marionette DEBUG 0 -> [0,37,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n function docWidth(doc) {\n const body = d ... .clientWidth,\n docelem.scrollWidth,\n docelem.offsetWidth\n );\n }\n\n return docWidth(document);\n})();\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050490 Marionette DEBUG 0 <- [1,37,null,{"value":1012}]
16:37:31 INFO - raptor-browsertime Info: 1635439050490 webdriver::server DEBUG <- 200 OK {"value":1012}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: "use strict";
16:37:31 INFO - raptor-browsertime Info: return document.getElementsByTagName("*").length;
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050492 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n \"use strict\";\n return document.getElementsByTagName(\"*\").length;\n})();\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050492 Marionette DEBUG 0 -> [0,38,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n \"use strict\";\n return document.getElementsByTagName(\"*\").length;\n})();\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050494 Marionette DEBUG 0 <- [1,38,null,{"value":10263}]
16:37:31 INFO - raptor-browsertime Info: 1635439050494 webdriver::server DEBUG <- 200 OK {"value":10263}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: 'use strict';
16:37:31 INFO - raptor-browsertime Info: const description = document.querySelector('meta[name="generator"]');
16:37:31 INFO - raptor-browsertime Info: if (description) {
16:37:31 INFO - raptor-browsertime Info: return description.getAttribute('content');
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info: 1635439050496 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n 'use strict';\n const description = document.querySelector('meta[name=\"generator\"]');\n if (description) {\n return description.getAttribute('content');\n }\n})();","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050497 Marionette DEBUG 0 -> [0,39,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n 'use strict';\n const description = documen ... rySelector('meta[name=\"generator\"]');\n if (description) {\n return description.getAttribute('content');\n }\n})();"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050499 Marionette DEBUG 0 <- [1,39,null,{"value":null}]
16:37:31 INFO - raptor-browsertime Info: 1635439050500 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: // https://gist.github.com/karlgroves/7544592
16:37:31 INFO - raptor-browsertime Info: function getDomPath(el) {
16:37:31 INFO - raptor-browsertime Info: const stack = [];
16:37:31 INFO - raptor-browsertime Info: while ( el.parentNode != null ) {
16:37:31 INFO - raptor-browsertime Info: let sibCount = 0;
16:37:31 INFO - raptor-browsertime Info: let sibIndex = 0;
16:37:31 INFO - raptor-browsertime Info: for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {
16:37:31 INFO - raptor-browsertime Info: let sib = el.parentNode.childNodes[i];
16:37:31 INFO - raptor-browsertime Info: if ( sib.nodeName == el.nodeName ) {
16:37:31 INFO - raptor-browsertime Info: if ( sib === el ) {
16:37:31 INFO - raptor-browsertime Info: sibIndex = sibCount;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: sibCount++;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {
16:37:31 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);
16:37:31 INFO - raptor-browsertime Info: } else if ( sibCount > 1 ) {
16:37:31 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');
16:37:31 INFO - raptor-browsertime Info: } else {
16:37:31 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase());
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: el = el.parentNode;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: return stack.slice(1);
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:31 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('largest-contentful-paint') === -1) {
16:37:31 INFO - raptor-browsertime Info: return;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:31 INFO - raptor-browsertime Info: observer.observe({ type: 'largest-contentful-paint', buffered: true });
16:37:31 INFO - raptor-browsertime Info: const entries = observer.takeRecords();
16:37:31 INFO - raptor-browsertime Info: const candidates = [];
16:37:31 INFO - raptor-browsertime Info: for (let entry of entries) {
16:37:31 INFO - raptor-browsertime Info: const element = entry.element;
16:37:31 INFO - raptor-browsertime Info: candidates.push(
16:37:31 INFO - raptor-browsertime Info: {
16:37:31 INFO - raptor-browsertime Info: duration: entry.duration,
16:37:31 INFO - raptor-browsertime Info: id: entry.id,
16:37:31 INFO - raptor-browsertime Info: url: entry.url,
16:37:31 INFO - raptor-browsertime Info: loadTime: Number(entry.loadTime.toFixed(0)),
16:37:31 INFO - raptor-browsertime Info: renderTime: Number(Math.max(entry.renderTime,entry.loadTime).toFixed(0)),
16:37:31 INFO - raptor-browsertime Info: size: entry.size,
16:37:31 INFO - raptor-browsertime Info: startTime: Number(entry.startTime.toFixed(0)),
16:37:31 INFO - raptor-browsertime Info: tagName: element ? element.tagName : '',
16:37:31 INFO - raptor-browsertime Info: className: element ? element.className : '',
16:37:31 INFO - raptor-browsertime Info: domPath: element ? (getDomPath(element)).join( ' > ') : '',
16:37:31 INFO - raptor-browsertime Info: tag: element ? (element.cloneNode(false)).outerHTML : ''
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: )
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: return candidates;
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050502 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://gist.github.com/karlgroves/7544592\n function getDomPath(el) {\n const stack = [];\n while ( el.parentNode != null ) {\n let sibCount = 0;\n let sibIndex = 0;\n for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {\n let sib = el.parentNode.childNodes[i];\n if ( sib.nodeName == el.nodeName ) {\n if ( sib === el ) {\n sibIndex = sibCount;\n }\n sibCount++;\n }\n }\n if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {\n stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);\n } else if ( sibCount > 1 ) {\n stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');\n } else {\n stack.unshift(el.nodeName.toLowerCase());\n }\n el = el.parentNode;\n }\n \n return stack.slice(1);\n }\n\n\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('largest-contentful-paint') === -1) {\n return;\n }\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: 'largest-contentful-paint', buffered: true });\n const entries = observer.takeRecords();\n const candidates = [];\n for (let entry of entries) {\n const element = entry.element; \n candidates.push(\n {\n duration: entry.duration,\n id: entry.id,\n url: entry.url,\n loadTime: Number(entry.loadTime.toFixed(0)),\n renderTime: Number(Math.max(entry.renderTime,entry.loadTime).toFixed(0)),\n size: entry.size,\n startTime: Number(entry.startTime.toFixed(0)),\n tagName: element ? element.tagName : '',\n className: element ? element.className : '',\n domPath: element ? (getDomPath(element)).join( ' > ') : '',\n tag: element ? (element.cloneNode(false)).outerHTML : ''\n }\n\n )\n }\n return candidates;\n })();\n ","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050502 Marionette DEBUG 0 -> [0,40,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://gist.github.com/karlgroves/7544 ... ment ? (element.cloneNode(false)).outerHTML : ''\n }\n\n )\n }\n return candidates;\n })();\n "}]
16:37:31 INFO - raptor-browsertime Info: 1635439050505 Marionette DEBUG 0 <- [1,40,null,{"value":null}]
16:37:31 INFO - raptor-browsertime Info: 1635439050505 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function(minLength) {
16:37:31 INFO - raptor-browsertime Info: if (window.__bt_longtask) {
16:37:31 INFO - raptor-browsertime Info: const cleaned = [];
16:37:31 INFO - raptor-browsertime Info: for (let event of window.__bt_longtask.e) {
16:37:31 INFO - raptor-browsertime Info: if (event.duration >= minLength) {
16:37:31 INFO - raptor-browsertime Info: const e = {};
16:37:31 INFO - raptor-browsertime Info: e.duration = event.duration;
16:37:31 INFO - raptor-browsertime Info: e.name = event.name;
16:37:31 INFO - raptor-browsertime Info: e.startTime = event.startTime;
16:37:31 INFO - raptor-browsertime Info: e.attribution = [];
16:37:31 INFO - raptor-browsertime Info: for (let at of event.attribution) {
16:37:31 INFO - raptor-browsertime Info: const a = {};
16:37:31 INFO - raptor-browsertime Info: a.containerId = at.containerId;
16:37:31 INFO - raptor-browsertime Info: a.containerName = at.containerName;
16:37:31 INFO - raptor-browsertime Info: a.containerSrc = at.containerSrc;
16:37:31 INFO - raptor-browsertime Info: a.containerType = at.containerType;
16:37:31 INFO - raptor-browsertime Info: e.attribution.push(a);
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: cleaned.push(e);
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: window.__bt_longtask.e = [];
16:37:31 INFO - raptor-browsertime Info: return cleaned;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: })(arguments[arguments.length - 1]);
16:37:31 INFO - raptor-browsertime Info: 1635439050507 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function(minLength) {\n if (window.__bt_longtask) {\n const cleaned = [];\n for (let event of window.__bt_longtask.e) {\n if (event.duration >= minLength) {\n const e = {};\n e.duration = event.duration;\n e.name = event.name;\n e.startTime = event.startTime;\n e.attribution = [];\n for (let at of event.attribution) {\n const a = {};\n a.containerId = at.containerId;\n a.containerName = at.containerName;\n a.containerSrc = at.containerSrc;\n a.containerType = at.containerType;\n e.attribution.push(a);\n }\n cleaned.push(e);\n }\n }\n window.__bt_longtask.e = [];\n return cleaned;\n }\n})(arguments[arguments.length - 1]);","args":[50]}
16:37:31 INFO - raptor-browsertime Info: 1635439050507 Marionette DEBUG 0 -> [0,41,"WebDriver:ExecuteScript",{"args":[50],"script":"return (function(minLength) {\n if (window.__bt_longtask) {\n cons ... push(e);\n }\n }\n window.__bt_longtask.e = [];\n return cleaned;\n }\n})(arguments[arguments.length - 1]);"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050509 Marionette DEBUG 0 <- [1,41,null,{"value":null}]
16:37:31 INFO - raptor-browsertime Info: 1635439050509 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:31 INFO - raptor-browsertime Info: if (window.performance.timeOrigin) {
16:37:31 INFO - raptor-browsertime Info: return Number(window.performance.timeOrigin.toFixed(0));
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: if (window.performance.timing.navigationStart) {
16:37:31 INFO - raptor-browsertime Info: return Number(window.performance.timing.navigationStart.toFixed(0));
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: return undefined;
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050510 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n if (window.performance.timeOrigin) {\n return Number(window.performance.timeOrigin.toFixed(0));\n }\n if (window.performance.timing.navigationStart) {\n return Number(window.performance.timing.navigationStart.toFixed(0));\n }\n return undefined;\n})();\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050511 Marionette DEBUG 0 -> [0,42,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n if (window.performance.timeOrigin) {\n r ... ationStart) {\n return Number(window.performance.timing.navigationStart.toFixed(0));\n }\n return undefined;\n})();\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050513 Marionette DEBUG 0 <- [1,42,null,{"value":1635439041209}]
16:37:31 INFO - raptor-browsertime Info: 1635439050513 webdriver::server DEBUG <- 200 OK {"value":1635439041209}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: const t = window.performance.getEntriesByType('navigation')[0];
16:37:31 INFO - raptor-browsertime Info: // Not supported in Safari
16:37:31 INFO - raptor-browsertime Info: if (t) {
16:37:31 INFO - raptor-browsertime Info: return t.nextHopProtocol;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050515 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const t = window.performance.getEntriesByType('navigation')[0];\n // Not supported in Safari\n if (t) {\n return t.nextHopProtocol;\n }\n})();\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050515 Marionette DEBUG 0 -> [0,43,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const t = window.performance.getEntriesByType('navigation')[0];\n // Not supported in Safari\n if (t) {\n return t.nextHopProtocol;\n }\n})();\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050517 Marionette DEBUG 0 <- [1,43,null,{"value":"h2"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050518 webdriver::server DEBUG <- 200 OK {"value":"h2"}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: const resources = window.performance.getEntriesByType('resource');
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: let resourceDuration = 0;
16:37:31 INFO - raptor-browsertime Info: for (let i = 0; i < resources.length; i++) {
16:37:31 INFO - raptor-browsertime Info: resourceDuration += resources[i].duration;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: return {
16:37:31 INFO - raptor-browsertime Info: count: Number(resources.length),
16:37:31 INFO - raptor-browsertime Info: duration: Number(resourceDuration)
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050520 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const resources = window.performance.getEntriesByType('resource');\n\n let resourceDuration = 0;\n for (let i = 0; i < resources.length; i++) {\n resourceDuration += resources[i].duration;\n }\n\n return {\n count: Number(resources.length),\n duration: Number(resourceDuration)\n }\n})();\n\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050520 Marionette DEBUG 0 -> [0,44,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const resources = window.performance.getEntr ... duration;\n }\n\n return {\n count: Number(resources.length),\n duration: Number(resourceDuration)\n }\n})();\n\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050522 Marionette DEBUG 0 <- [1,44,null,{"value":{"count":94,"duration":43956.060000000005}}]
16:37:31 INFO - raptor-browsertime Info: 1635439050523 webdriver::server DEBUG <- 200 OK {"value":{"count":94,"duration":43956.060000000005}}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: return document.documentElement.scrollWidth <= window.innerWidth;
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050524 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n return document.documentElement.scrollWidth <= window.innerWidth;\n})();\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050525 Marionette DEBUG 0 -> [0,45,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n return document.documentElement.scrollWidth <= window.innerWidth;\n})();\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050527 Marionette DEBUG 0 <- [1,45,null,{"value":true}]
16:37:31 INFO - raptor-browsertime Info: 1635439050527 webdriver::server DEBUG <- 200 OK {"value":true}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:31 INFO - raptor-browsertime Info: // https://github.com/sitespeedio/browsertime/issues/979#issuecomment-549107350
16:37:31 INFO - raptor-browsertime Info: if (typeof document.URL === "string") {
16:37:31 INFO - raptor-browsertime Info: return document.URL;
16:37:31 INFO - raptor-browsertime Info: } else {
16:37:31 INFO - raptor-browsertime Info: return window.location.href;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: })();
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050529 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://github.com/sitespeedio/browsertime/issues/979#issuecomment-549107350\n if (typeof document.URL === \"string\") {\n return document.URL;\n } else {\n return window.location.href;\n }\n})();\n","args":[null]}
16:37:31 INFO - raptor-browsertime Info: 1635439050529 Marionette DEBUG 0 -> [0,46,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://github.com/sitespeedio/browsertim ... ypeof document.URL === \"string\") {\n return document.URL;\n } else {\n return window.location.href;\n }\n})();\n"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050531 Marionette DEBUG 0 <- [1,46,null,{"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}]
16:37:31 INFO - raptor-browsertime Info: 1635439050531 webdriver::server DEBUG <- 200 OK {"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}
16:37:31 INFO - raptor-browsertime Info: [browsertime] Executing script return (function(custom) {
16:37:31 INFO - raptor-browsertime Info: /**
16:37:31 INFO - raptor-browsertime Info: * Collect visual elements from a page and feed the size back in the
16:37:31 INFO - raptor-browsertime Info: * format for Visual Metrics.
16:37:31 INFO - raptor-browsertime Info: */
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: const elementByType = {};
16:37:31 INFO - raptor-browsertime Info: const areaByType = {};
16:37:31 INFO - raptor-browsertime Info: const imageTags = [].slice.call(document.body.getElementsByTagName('img'));
16:37:31 INFO - raptor-browsertime Info: const h1Tags = [].slice.call(document.body.getElementsByTagName('h1'));
16:37:31 INFO - raptor-browsertime Info: const elementTimings = [].slice.call(
16:37:31 INFO - raptor-browsertime Info: document.querySelectorAll('[elementtiming]')
16:37:31 INFO - raptor-browsertime Info: );
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: // When we feed options from the CLI it can be a String or an
16:37:31 INFO - raptor-browsertime Info: // Array with Strings. Make it easy to treat everything the same.
16:37:31 INFO - raptor-browsertime Info: function toArray(arrayLike) {
16:37:31 INFO - raptor-browsertime Info: if (arrayLike === undefined || arrayLike === null) {
16:37:31 INFO - raptor-browsertime Info: return [];
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: if (Array.isArray(arrayLike)) {
16:37:31 INFO - raptor-browsertime Info: return arrayLike;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: return [arrayLike];
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: function isLargest(type, area) {
16:37:31 INFO - raptor-browsertime Info: if (!areaByType[type]) {
16:37:31 INFO - raptor-browsertime Info: return true;
16:37:31 INFO - raptor-browsertime Info: } else return areaByType[type] < area;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: function isElementPartlyInViewportAndVisible(el) {
16:37:31 INFO - raptor-browsertime Info: const rect = el.getBoundingClientRect();
16:37:31 INFO - raptor-browsertime Info: return !(
16:37:31 INFO - raptor-browsertime Info: rect.bottom < 0 ||
16:37:31 INFO - raptor-browsertime Info: rect.right < 0 ||
16:37:31 INFO - raptor-browsertime Info: rect.left > window.innerWidth ||
16:37:31 INFO - raptor-browsertime Info: rect.top > window.innerHeight ||
16:37:31 INFO - raptor-browsertime Info: rect.height === 0
16:37:31 INFO - raptor-browsertime Info: );
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: function visibleArea(el) {
16:37:31 INFO - raptor-browsertime Info: const rect = el.getBoundingClientRect();
16:37:31 INFO - raptor-browsertime Info: const viewportWidth = document.documentElement.clientWidth;
16:37:31 INFO - raptor-browsertime Info: const viewportHeight = document.documentElement.clientHeight;
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: // TODO make this more readable
16:37:31 INFO - raptor-browsertime Info: const width =
16:37:31 INFO - raptor-browsertime Info: rect.left < 0
16:37:31 INFO - raptor-browsertime Info: ? rect.width + rect.left
16:37:31 INFO - raptor-browsertime Info: : viewportWidth < rect.left + rect.width
16:37:31 INFO - raptor-browsertime Info: ? viewportWidth - rect.left
16:37:31 INFO - raptor-browsertime Info: : rect.width;
16:37:31 INFO - raptor-browsertime Info: const height =
16:37:31 INFO - raptor-browsertime Info: rect.top < 0
16:37:31 INFO - raptor-browsertime Info: ? rect.height + rect.top
16:37:31 INFO - raptor-browsertime Info: : viewportHeight < rect.top + rect.height
16:37:31 INFO - raptor-browsertime Info: ? viewportHeight - rect.top
16:37:31 INFO - raptor-browsertime Info: : rect.height;
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: return width * height;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: function keepLargestElementByType(type, element) {
16:37:31 INFO - raptor-browsertime Info: const area = visibleArea(element);
16:37:31 INFO - raptor-browsertime Info: if (isLargest(type, area)) {
16:37:31 INFO - raptor-browsertime Info: const filename = element.src
16:37:31 INFO - raptor-browsertime Info: ? element.src.substring(element.src.lastIndexOf('/') + 1)
16:37:31 INFO - raptor-browsertime Info: : undefined;
16:37:31 INFO - raptor-browsertime Info: const rect = element.getBoundingClientRect();
16:37:31 INFO - raptor-browsertime Info: const tag = element.cloneNode(false);
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: elementByType[type] = {
16:37:31 INFO - raptor-browsertime Info: name: type,
16:37:31 INFO - raptor-browsertime Info: x: Math.round(rect.left),
16:37:31 INFO - raptor-browsertime Info: y: Math.round(rect.top),
16:37:31 INFO - raptor-browsertime Info: width: Math.round(rect.width),
16:37:31 INFO - raptor-browsertime Info: height: Math.round(rect.height),
16:37:31 INFO - raptor-browsertime Info: filename,
16:37:31 INFO - raptor-browsertime Info: html: tag.outerHTML
16:37:31 INFO - raptor-browsertime Info: };
16:37:31 INFO - raptor-browsertime Info: areaByType[type] = area;
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: if (custom) {
16:37:31 INFO - raptor-browsertime Info: // Input could be a String or an Array of Strings so convert it
16:37:31 INFO - raptor-browsertime Info: const customArray = toArray(custom);
16:37:31 INFO - raptor-browsertime Info: for (const nameAndSelector of customArray) {
16:37:31 INFO - raptor-browsertime Info: const parts = nameAndSelector.split(':');
16:37:31 INFO - raptor-browsertime Info: const type = parts[0];
16:37:31 INFO - raptor-browsertime Info: const selector = parts[1];
16:37:31 INFO - raptor-browsertime Info: const element = document.body.querySelector(selector);
16:37:31 INFO - raptor-browsertime Info: try {
16:37:31 INFO - raptor-browsertime Info: if (isElementPartlyInViewportAndVisible(element)) {
16:37:31 INFO - raptor-browsertime Info: keepLargestElementByType(type, element);
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: } catch (e) {
16:37:31 INFO - raptor-browsertime Info: console.log(
16:37:31 INFO - raptor-browsertime Info: 'Could not find matching element for selector:' +
16:37:31 INFO - raptor-browsertime Info: selector +
16:37:31 INFO - raptor-browsertime Info: ' using document.body.querySelector. Do that element exist on the page?'
16:37:31 INFO - raptor-browsertime Info: );
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: imageTags.forEach(function(element) {
16:37:31 INFO - raptor-browsertime Info: if (isElementPartlyInViewportAndVisible(element)) {
16:37:31 INFO - raptor-browsertime Info: keepLargestElementByType('LargestImage', element);
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: });
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: h1Tags.forEach(function(element) {
16:37:31 INFO - raptor-browsertime Info: if (isElementPartlyInViewportAndVisible(element)) {
16:37:31 INFO - raptor-browsertime Info: keepLargestElementByType('Heading', element);
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: });
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: elementTimings.forEach(function(element) {
16:37:31 INFO - raptor-browsertime Info: if (isElementPartlyInViewportAndVisible(element)) {
16:37:31 INFO - raptor-browsertime Info: keepLargestElementByType(element.getAttribute('elementtiming'), element);
16:37:31 INFO - raptor-browsertime Info: }
16:37:31 INFO - raptor-browsertime Info: });
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: // We need to follow the standard for VisualMetrics
16:37:31 INFO - raptor-browsertime Info: return {
16:37:31 INFO - raptor-browsertime Info: viewport: {
16:37:31 INFO - raptor-browsertime Info: width: document.documentElement.clientWidth,
16:37:31 INFO - raptor-browsertime Info: height: document.documentElement.clientHeight
16:37:31 INFO - raptor-browsertime Info: },
16:37:31 INFO - raptor-browsertime Info: // "heroes" :D https://github.com/sitespeedio/logo/blob/main/png/heroes/Pippi-Sitespeed.io.png
16:37:31 INFO - raptor-browsertime Info: heroes: Object.keys(elementByType).map(function(type) {
16:37:31 INFO - raptor-browsertime Info: return elementByType[type];
16:37:31 INFO - raptor-browsertime Info: })
16:37:31 INFO - raptor-browsertime Info: };
16:37:31 INFO - raptor-browsertime Info: })(arguments[arguments.length - 1]);
16:37:31 INFO - raptor-browsertime Info:
16:37:31 INFO - raptor-browsertime Info: 1635439050533 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function(custom) {\n /**\n * Collect visual elements from a page and feed the size back in the\n * format for Visual Metrics.\n */\n\n const elementByType = {};\n const areaByType = {};\n const imageTags = [].slice.call(document.body.getElementsByTagName('img'));\n const h1Tags = [].slice.call(document.body.getElementsByTagName('h1'));\n const elementTimings = [].slice.call(\n document.querySelectorAll('[elementtiming]')\n );\n\n // When we feed options from the CLI it can be a String or an\n // Array with Strings. Make it easy to treat everything the same.\n function toArray(arrayLike) {\n if (arrayLike === undefined || arrayLike === null) {\n return [];\n }\n if (Array.isArray(arrayLike)) {\n return arrayLike;\n }\n return [arrayLike];\n }\n\n function isLargest(type, area) {\n if (!areaByType[type]) {\n return true;\n } else return areaByType[type] < area;\n }\n\n function isElementPartlyInViewportAndVisible(el) {\n const rect = el.getBoundingClientRect();\n return !(\n rect.bottom < 0 ||\n rect.right < 0 ||\n rect.left > window.innerWidth ||\n rect.top > window.innerHeight ||\n rect.height === 0\n );\n }\n\n function visibleArea(el) {\n const rect = el.getBoundingClientRect();\n const viewportWidth = document.documentElement.clientWidth;\n const viewportHeight = document.documentElement.clientHeight;\n\n // TODO make this more readable\n const width =\n rect.left < 0\n ? rect.width + rect.left\n : viewportWidth < rect.left + rect.width\n ? viewportWidth - rect.left\n : rect.width;\n const height =\n rect.top < 0\n ? rect.height + rect.top\n : viewportHeight < rect.top + rect.height\n ? viewportHeight - rect.top\n : rect.height;\n\n return width * height;\n }\n\n function keepLargestElementByType(type, element) {\n const area = visibleArea(element);\n if (isLargest(type, area)) {\n const filename = element.src\n ? element.src.substring(element.src.lastIndexOf('/') + 1)\n : undefined;\n const rect = element.getBoundingClientRect();\n const tag = element.cloneNode(false);\n\n elementByType[type] = {\n name: type,\n x: Math.round(rect.left),\n y: Math.round(rect.top),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n filename,\n html: tag.outerHTML\n };\n areaByType[type] = area;\n }\n }\n\n if (custom) {\n // Input could be a String or an Array of Strings so convert it\n const customArray = toArray(custom);\n for (const nameAndSelector of customArray) {\n const parts = nameAndSelector.split(':');\n const type = parts[0];\n const selector = parts[1];\n const element = document.body.querySelector(selector);\n try {\n if (isElementPartlyInViewportAndVisible(element)) {\n keepLargestElementByType(type, element);\n }\n } catch (e) {\n console.log(\n 'Could not find matching element for selector:' +\n selector +\n ' using document.body.querySelector. Do that element exist on the page?'\n );\n }\n }\n }\n\n imageTags.forEach(function(element) {\n if (isElementPartlyInViewportAndVisible(element)) {\n keepLargestElementByType('LargestImage', element);\n }\n });\n\n h1Tags.forEach(function(element) {\n if (isElementPartlyInViewportAndVisible(element)) {\n keepLargestElementByType('Heading', element);\n }\n });\n\n elementTimings.forEach(function(element) {\n if (isElementPartlyInViewportAndVisible(element)) {\n keepLargestElementByType(element.getAttribute('elementtiming'), element);\n }\n });\n\n // We need to follow the standard for VisualMetrics\n return {\n viewport: {\n width: document.documentElement.clientWidth,\n height: document.documentElement.clientHeight\n },\n // \"heroes\" :D https://github.com/sitespeedio/logo/blob/main/png/heroes/Pippi-Sitespeed.io.png\n heroes: Object.keys(elementByType).map(function(type) {\n return elementByType[type];\n })\n };\n})(arguments[arguments.length - 1]);\n","args":[null]}
16:37:32 INFO - raptor-browsertime Info: 1635439050534 Marionette DEBUG 0 -> [0,47,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function(custom) {\n /**\n * Collect visual elements from ... ementByType).map(function(type) {\n return elementByType[type];\n })\n };\n})(arguments[arguments.length - 1]);\n"}]
16:37:32 INFO - raptor-browsertime Info: 1635439050544 Marionette DEBUG 0 <- [1,47,null,{"value":{"viewport":{"width":1012,"height":683},"heroes":[{"name":"LargestImage","x":157,"y":660,"width":28,"heig ... me":"Heading","x":194,"y":160,"width":465,"height":51,"filename":null,"html":"<h1 class=\"_eYtD2XCVieq6emjKBH3m\"></h1>"}]}}]
16:37:32 INFO - raptor-browsertime Info: 1635439050545 webdriver::server DEBUG <- 200 OK {"value":{"heroes":[{"filename":"avatar_default_3.png","height":28,"html":"<img alt=\"User avatar\" class=\"_2TN8dEgAQbSyKntWpSPYM7 _13ScjOmi6dGdJw0JAonQEr \" src=\"https://www.redditstatic.com/avatars/defaults/v2/avatar_default_3.png\">","name":"LargestImage","width":28,"x":157,"y":660},{"filename":null,"height":51,"html":"<h1 class=\"_eYtD2XCVieq6emjKBH3m\"></h1>","name":"Heading","width":465,"x":194,"y":160}],"viewport":{"height":683,"width":1012}}}
16:37:32 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:32 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:32 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('element') === -1) {
16:37:32 INFO - raptor-browsertime Info: return;
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:32 INFO - raptor-browsertime Info: observer.observe({ type: 'element', buffered: true });
16:37:32 INFO - raptor-browsertime Info: const entries = observer.takeRecords();
16:37:32 INFO - raptor-browsertime Info: const elements = {};
16:37:32 INFO - raptor-browsertime Info: for (let entry of entries) {
16:37:32 INFO - raptor-browsertime Info: // Look out for colliding identifiers and missing identifiers
16:37:32 INFO - raptor-browsertime Info: elements[entry.identifier] = {
16:37:32 INFO - raptor-browsertime Info: duration: entry.duration,
16:37:32 INFO - raptor-browsertime Info: url: entry.url,
16:37:32 INFO - raptor-browsertime Info: loadTime: Number(entry.loadTime.toFixed(0)),
16:37:32 INFO - raptor-browsertime Info: renderTime: Number(entry.renderTime.toFixed(0)),
16:37:32 INFO - raptor-browsertime Info: startTime: Number(entry.startTime.toFixed(0)),
16:37:32 INFO - raptor-browsertime Info: naturalHeight: entry.naturalHeight,
16:37:32 INFO - raptor-browsertime Info: naturalWidth: entry.naturalWidth,
16:37:32 INFO - raptor-browsertime Info: tagName: entry.element ? entry.element.tagName : ''
16:37:32 INFO - raptor-browsertime Info: };
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: return elements;
16:37:32 INFO - raptor-browsertime Info: })();
16:37:32 INFO - raptor-browsertime Info:
16:37:32 INFO - raptor-browsertime Info: 1635439050547 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('element') === -1) {\n return;\n }\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: 'element', buffered: true });\n const entries = observer.takeRecords();\n const elements = {};\n for (let entry of entries) {\n // Look out for colliding identifiers and missing identifiers\n elements[entry.identifier] = {\n duration: entry.duration,\n url: entry.url,\n loadTime: Number(entry.loadTime.toFixed(0)),\n renderTime: Number(entry.renderTime.toFixed(0)),\n startTime: Number(entry.startTime.toFixed(0)),\n naturalHeight: entry.naturalHeight,\n naturalWidth: entry.naturalWidth,\n tagName: entry.element ? entry.element.tagName : ''\n };\n }\n return elements;\n})();\n","args":[null]}
16:37:32 INFO - raptor-browsertime Info: 1635439050548 Marionette DEBUG 0 -> [0,48,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const supported = PerformanceObserver.suppor ... : entry.naturalWidth,\n tagName: entry.element ? entry.element.tagName : ''\n };\n }\n return elements;\n})();\n"}]
16:37:32 INFO - raptor-browsertime Info: 1635439050551 Marionette DEBUG 0 <- [1,48,null,{"value":null}]
16:37:32 INFO - raptor-browsertime Info: 1635439050551 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:32 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:32 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:32 INFO - raptor-browsertime Info: if (!supported || supported.indexOf("first-input") === -1) {
16:37:32 INFO - raptor-browsertime Info: return;
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:32 INFO - raptor-browsertime Info: observer.observe({ type: "first-input", buffered: true });
16:37:32 INFO - raptor-browsertime Info: const entries = observer.takeRecords();
16:37:32 INFO - raptor-browsertime Info: if (entries.length > 0) {
16:37:32 INFO - raptor-browsertime Info: const entry = entries[entries.length - 1];
16:37:32 INFO - raptor-browsertime Info: return {
16:37:32 INFO - raptor-browsertime Info: duration: entry.duration,
16:37:32 INFO - raptor-browsertime Info: name: entry.name,
16:37:32 INFO - raptor-browsertime Info: processingEnd: Number(entry.processingEnd.toFixed(0)),
16:37:32 INFO - raptor-browsertime Info: processingStart: Number(entry.processingStart.toFixed(0)),
16:37:32 INFO - raptor-browsertime Info: startTime: Number(entry.startTime.toFixed(0)),
16:37:32 INFO - raptor-browsertime Info: delay: Number((entry.processingStart - entry.startTime).toFixed(1))
16:37:32 INFO - raptor-browsertime Info: };
16:37:32 INFO - raptor-browsertime Info: } else return;
16:37:32 INFO - raptor-browsertime Info: })();
16:37:32 INFO - raptor-browsertime Info:
16:37:32 INFO - raptor-browsertime Info: 1635439050553 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf(\"first-input\") === -1) {\n return;\n }\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: \"first-input\", buffered: true });\n const entries = observer.takeRecords();\n if (entries.length > 0) {\n const entry = entries[entries.length - 1];\n return {\n duration: entry.duration,\n name: entry.name,\n processingEnd: Number(entry.processingEnd.toFixed(0)),\n processingStart: Number(entry.processingStart.toFixed(0)),\n startTime: Number(entry.startTime.toFixed(0)),\n delay: Number((entry.processingStart - entry.startTime).toFixed(1))\n };\n } else return;\n})();\n","args":[null]}
16:37:32 INFO - raptor-browsertime Info: 1635439050554 Marionette DEBUG 0 -> [0,49,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const supported = PerformanceObserver.suppor ... toFixed(0)),\n delay: Number((entry.processingStart - entry.startTime).toFixed(1))\n };\n } else return;\n})();\n"}]
16:37:32 INFO - raptor-browsertime Info: 1635439050556 Marionette DEBUG 0 <- [1,49,null,{"value":null}]
16:37:32 INFO - raptor-browsertime Info: 1635439050556 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:32 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:32 INFO - raptor-browsertime Info: let p = window.performance,
16:37:32 INFO - raptor-browsertime Info: timing = p.timing,
16:37:32 INFO - raptor-browsertime Info: entries = p.getEntriesByType('paint');
16:37:32 INFO - raptor-browsertime Info:
16:37:32 INFO - raptor-browsertime Info: if (entries.length > 0) {
16:37:32 INFO - raptor-browsertime Info: for (const entry of entries) {
16:37:32 INFO - raptor-browsertime Info: if (entry.name === 'first-paint')
16:37:32 INFO - raptor-browsertime Info: return Number(entry.startTime.toFixed(0));
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: if (timing.timeToNonBlankPaint) {
16:37:32 INFO - raptor-browsertime Info: return Number(
16:37:32 INFO - raptor-browsertime Info: (timing.timeToNonBlankPaint - timing.navigationStart).toFixed(0)
16:37:32 INFO - raptor-browsertime Info: );
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: return undefined;
16:37:32 INFO - raptor-browsertime Info: })();
16:37:32 INFO - raptor-browsertime Info:
16:37:32 INFO - raptor-browsertime Info: 1635439050558 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n let p = window.performance,\n timing = p.timing,\n entries = p.getEntriesByType('paint');\n\n if (entries.length > 0) {\n for (const entry of entries) {\n if (entry.name === 'first-paint')\n return Number(entry.startTime.toFixed(0));\n }\n }\n if (timing.timeToNonBlankPaint) {\n return Number(\n (timing.timeToNonBlankPaint - timing.navigationStart).toFixed(0)\n );\n }\n return undefined;\n})();\n","args":[null]}
16:37:32 INFO - raptor-browsertime Info: 1635439050558 Marionette DEBUG 0 -> [0,50,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n let p = window.performance,\n timing = p. ... Number(\n (timing.timeToNonBlankPaint - timing.navigationStart).toFixed(0)\n );\n }\n return undefined;\n})();\n"}]
16:37:32 INFO - raptor-browsertime Info: 1635439050561 Marionette DEBUG 0 <- [1,50,null,{"value":345}]
16:37:32 INFO - raptor-browsertime Info: 1635439050561 webdriver::server DEBUG <- 200 OK {"value":345}
16:37:32 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:32 INFO - raptor-browsertime Info: // https://gist.github.com/karlgroves/7544592
16:37:32 INFO - raptor-browsertime Info: function getDomPath(el) {
16:37:32 INFO - raptor-browsertime Info: const stack = [];
16:37:32 INFO - raptor-browsertime Info: while ( el.parentNode != null ) {
16:37:32 INFO - raptor-browsertime Info: let sibCount = 0;
16:37:32 INFO - raptor-browsertime Info: let sibIndex = 0;
16:37:32 INFO - raptor-browsertime Info: for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {
16:37:32 INFO - raptor-browsertime Info: let sib = el.parentNode.childNodes[i];
16:37:32 INFO - raptor-browsertime Info: if ( sib.nodeName == el.nodeName ) {
16:37:32 INFO - raptor-browsertime Info: if ( sib === el ) {
16:37:32 INFO - raptor-browsertime Info: sibIndex = sibCount;
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: sibCount++;
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {
16:37:32 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);
16:37:32 INFO - raptor-browsertime Info: } else if ( sibCount > 1 ) {
16:37:32 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');
16:37:32 INFO - raptor-browsertime Info: } else {
16:37:32 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase());
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: el = el.parentNode;
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info:
16:37:32 INFO - raptor-browsertime Info: return stack.slice(1);
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info:
16:37:32 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:32 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('largest-contentful-paint') === -1) {
16:37:32 INFO - raptor-browsertime Info: return;
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:32 INFO - raptor-browsertime Info: observer.observe({ type: 'largest-contentful-paint', buffered: true });
16:37:32 INFO - raptor-browsertime Info: const entries = observer.takeRecords();
16:37:32 INFO - raptor-browsertime Info: if (entries.length > 0) {
16:37:32 INFO - raptor-browsertime Info: const largestEntry = entries[entries.length - 1];
16:37:32 INFO - raptor-browsertime Info: return {
16:37:32 INFO - raptor-browsertime Info: duration: largestEntry.duration,
16:37:32 INFO - raptor-browsertime Info: id: largestEntry.id,
16:37:32 INFO - raptor-browsertime Info: url: largestEntry.url,
16:37:32 INFO - raptor-browsertime Info: loadTime: Number(largestEntry.loadTime.toFixed(0)),
16:37:32 INFO - raptor-browsertime Info: renderTime: Number(Math.max(largestEntry.renderTime,largestEntry.loadTime).toFixed(0)),
16:37:32 INFO - raptor-browsertime Info: size: largestEntry.size,
16:37:32 INFO - raptor-browsertime Info: startTime: Number(largestEntry.startTime.toFixed(0)),
16:37:32 INFO - raptor-browsertime Info: tagName: largestEntry.element ? largestEntry.element.tagName : '',
16:37:32 INFO - raptor-browsertime Info: className :largestEntry.element ? largestEntry.element.className : '',
16:37:32 INFO - raptor-browsertime Info: domPath: largestEntry.element ? (getDomPath(largestEntry.element)).join( ' > ') : '',
16:37:32 INFO - raptor-browsertime Info: tag: largestEntry.element ? (largestEntry.element.cloneNode(false)).outerHTML : ''
16:37:32 INFO - raptor-browsertime Info: };
16:37:32 INFO - raptor-browsertime Info: } else return;
16:37:32 INFO - raptor-browsertime Info: })();
16:37:32 INFO - raptor-browsertime Info:
16:37:32 INFO - raptor-browsertime Info: 1635439050563 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://gist.github.com/karlgroves/7544592\n function getDomPath(el) {\n const stack = [];\n while ( el.parentNode != null ) {\n let sibCount = 0;\n let sibIndex = 0;\n for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {\n let sib = el.parentNode.childNodes[i];\n if ( sib.nodeName == el.nodeName ) {\n if ( sib === el ) {\n sibIndex = sibCount;\n }\n sibCount++;\n }\n }\n if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {\n stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);\n } else if ( sibCount > 1 ) {\n stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');\n } else {\n stack.unshift(el.nodeName.toLowerCase());\n }\n el = el.parentNode;\n }\n \n return stack.slice(1);\n }\n\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('largest-contentful-paint') === -1) {\n return;\n }\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: 'largest-contentful-paint', buffered: true });\n const entries = observer.takeRecords();\n if (entries.length > 0) {\n const largestEntry = entries[entries.length - 1];\n return {\n duration: largestEntry.duration,\n id: largestEntry.id,\n url: largestEntry.url,\n loadTime: Number(largestEntry.loadTime.toFixed(0)),\n renderTime: Number(Math.max(largestEntry.renderTime,largestEntry.loadTime).toFixed(0)),\n size: largestEntry.size,\n startTime: Number(largestEntry.startTime.toFixed(0)),\n tagName: largestEntry.element ? largestEntry.element.tagName : '',\n className :largestEntry.element ? largestEntry.element.className : '',\n domPath: largestEntry.element ? (getDomPath(largestEntry.element)).join( ' > ') : '',\n tag: largestEntry.element ? (largestEntry.element.cloneNode(false)).outerHTML : ''\n };\n } else return;\n})();\n","args":[null]}
16:37:32 INFO - raptor-browsertime Info: 1635439050564 Marionette DEBUG 0 -> [0,51,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://gist.github.com/karlgroves/754459 ... tag: largestEntry.element ? (largestEntry.element.cloneNode(false)).outerHTML : ''\n };\n } else return;\n})();\n"}]
16:37:32 INFO - raptor-browsertime Info: 1635439050565 Marionette DEBUG 0 <- [1,51,null,{"value":null}]
16:37:32 INFO - raptor-browsertime Info: 1635439050566 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:32 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:32 INFO - raptor-browsertime Info: if (window.performance.getEntriesByType('navigation').length > 0) {
16:37:32 INFO - raptor-browsertime Info: return Number(
16:37:32 INFO - raptor-browsertime Info: window.performance
16:37:32 INFO - raptor-browsertime Info: .getEntriesByType('navigation')[0]
16:37:32 INFO - raptor-browsertime Info: .loadEventEnd.toFixed(0)
16:37:32 INFO - raptor-browsertime Info: );
16:37:32 INFO - raptor-browsertime Info: } else {
16:37:32 INFO - raptor-browsertime Info: return Number(
16:37:32 INFO - raptor-browsertime Info: window.performance.timing.loadEventEnd -
16:37:32 INFO - raptor-browsertime Info: window.performance.timing.navigationStart
16:37:32 INFO - raptor-browsertime Info: );
16:37:32 INFO - raptor-browsertime Info: }
16:37:32 INFO - raptor-browsertime Info: })();
16:37:32 INFO - raptor-browsertime Info:
16:37:32 INFO - raptor-browsertime Info: 1635439050567 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n if (window.performance.getEntriesByType('navigation').length > 0) {\n return Number(\n window.performance\n .getEntriesByType('navigation')[0]\n .loadEventEnd.toFixed(0)\n );\n } else {\n return Number(\n window.performance.timing.loadEventEnd -\n window.performance.timing.navigationStart\n );\n }\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050568 Marionette DEBUG 0 -> [0,52,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n if (window.performance.getEntriesByType('nav ... (\n window.performance.timing.loadEventEnd -\n window.performance.timing.navigationStart\n );\n }\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050569 Marionette DEBUG 0 <- [1,52,null,{"value":3137}]
16:37:33 INFO - raptor-browsertime Info: 1635439050570 webdriver::server DEBUG <- 200 OK {"value":3137}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:33 INFO - raptor-browsertime Info: let t = window.performance.getEntriesByType('navigation')[0];
16:37:33 INFO - raptor-browsertime Info: const d = 0;
16:37:33 INFO - raptor-browsertime Info: if (t) {
16:37:33 INFO - raptor-browsertime Info: return {
16:37:33 INFO - raptor-browsertime Info: connectStart: Number(t.connectStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: domComplete: Number(t.domComplete.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: domContentLoadedEventEnd: Number(t.domContentLoadedEventEnd.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: domContentLoadedEventStart: Number(
16:37:33 INFO - raptor-browsertime Info: t.domContentLoadedEventStart.toFixed(d)
16:37:33 INFO - raptor-browsertime Info: ),
16:37:33 INFO - raptor-browsertime Info: domInteractive: Number(t.domInteractive.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: domainLookupEnd: Number(t.domainLookupEnd.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: domainLookupStart: Number(t.domainLookupStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: duration: Number(t.duration.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: fetchStart: Number(t.fetchStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: loadEventEnd: Number(t.loadEventEnd.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: loadEventStart: Number(t.loadEventStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: redirectEnd: Number(t.redirectEnd.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: redirectStart: Number(t.redirectStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: requestStart: Number(t.requestStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: responseEnd: Number(t.responseEnd.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: responseStart: Number(t.responseStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: secureConnectionStart: Number(t.secureConnectionStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: startTime: Number(t.startTime.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: unloadEventEnd: Number(t.unloadEventEnd.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: unloadEventStart: Number(t.unloadEventStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: workerStart: Number(t.workerStart.toFixed(d))
16:37:33 INFO - raptor-browsertime Info: };
16:37:33 INFO - raptor-browsertime Info: } else {
16:37:33 INFO - raptor-browsertime Info: // For Safari
16:37:33 INFO - raptor-browsertime Info: t = window.performance.timing;
16:37:33 INFO - raptor-browsertime Info: return {
16:37:33 INFO - raptor-browsertime Info: navigationStart: 0,
16:37:33 INFO - raptor-browsertime Info: unloadEventStart:
16:37:33 INFO - raptor-browsertime Info: t.unloadEventStart > 0
16:37:33 INFO - raptor-browsertime Info: ? t.unloadEventStart - t.navigationStart
16:37:33 INFO - raptor-browsertime Info: : undefined,
16:37:33 INFO - raptor-browsertime Info: unloadEventEnd:
16:37:33 INFO - raptor-browsertime Info: t.unloadEventEnd > 0 ? t.unloadEventEnd - t.navigationStart : undefined,
16:37:33 INFO - raptor-browsertime Info: redirectStart:
16:37:33 INFO - raptor-browsertime Info: t.redirectStart > 0 ? t.redirectStart - t.navigationStart : undefined,
16:37:33 INFO - raptor-browsertime Info: redirectEnd:
16:37:33 INFO - raptor-browsertime Info: t.redirectEnd > 0 ? t.redirectEnd - t.navigationStart : undefined,
16:37:33 INFO - raptor-browsertime Info: fetchStart: t.fetchStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: domainLookupStart: t.domainLookupStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: domainLookupEnd: t.domainLookupEnd - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: connectStart: t.connectStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: connectEnd: t.connectEnd - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: secureConnectionStart: t.secureConnectionStart
16:37:33 INFO - raptor-browsertime Info: ? t.secureConnectionStart - t.navigationStart
16:37:33 INFO - raptor-browsertime Info: : undefined,
16:37:33 INFO - raptor-browsertime Info: requestStart: t.requestStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: responseStart: t.responseStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: responseEnd: t.responseEnd - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: domLoading: t.domLoading - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: domInteractive: t.domInteractive - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: domContentLoadedEventStart:
16:37:33 INFO - raptor-browsertime Info: t.domContentLoadedEventStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: domContentLoadedEventEnd: t.domContentLoadedEventEnd - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: domComplete: t.domComplete - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: loadEventStart: t.loadEventStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: loadEventEnd: t.loadEventEnd - t.navigationStart
16:37:33 INFO - raptor-browsertime Info: };
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info: })();
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: 1635439050571 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n let t = window.performance.getEntriesByType('navigation')[0];\n const d = 0;\n if (t) {\n return {\n connectStart: Number(t.connectStart.toFixed(d)),\n domComplete: Number(t.domComplete.toFixed(d)),\n domContentLoadedEventEnd: Number(t.domContentLoadedEventEnd.toFixed(d)),\n domContentLoadedEventStart: Number(\n t.domContentLoadedEventStart.toFixed(d)\n ),\n domInteractive: Number(t.domInteractive.toFixed(d)),\n domainLookupEnd: Number(t.domainLookupEnd.toFixed(d)),\n domainLookupStart: Number(t.domainLookupStart.toFixed(d)),\n duration: Number(t.duration.toFixed(d)),\n fetchStart: Number(t.fetchStart.toFixed(d)),\n loadEventEnd: Number(t.loadEventEnd.toFixed(d)),\n loadEventStart: Number(t.loadEventStart.toFixed(d)),\n redirectEnd: Number(t.redirectEnd.toFixed(d)),\n redirectStart: Number(t.redirectStart.toFixed(d)),\n requestStart: Number(t.requestStart.toFixed(d)),\n responseEnd: Number(t.responseEnd.toFixed(d)),\n responseStart: Number(t.responseStart.toFixed(d)),\n secureConnectionStart: Number(t.secureConnectionStart.toFixed(d)),\n startTime: Number(t.startTime.toFixed(d)),\n unloadEventEnd: Number(t.unloadEventEnd.toFixed(d)),\n unloadEventStart: Number(t.unloadEventStart.toFixed(d)),\n workerStart: Number(t.workerStart.toFixed(d))\n };\n } else {\n // For Safari\n t = window.performance.timing;\n return {\n navigationStart: 0,\n unloadEventStart:\n t.unloadEventStart > 0\n ? t.unloadEventStart - t.navigationStart\n : undefined,\n unloadEventEnd:\n t.unloadEventEnd > 0 ? t.unloadEventEnd - t.navigationStart : undefined,\n redirectStart:\n t.redirectStart > 0 ? t.redirectStart - t.navigationStart : undefined,\n redirectEnd:\n t.redirectEnd > 0 ? t.redirectEnd - t.navigationStart : undefined,\n fetchStart: t.fetchStart - t.navigationStart,\n domainLookupStart: t.domainLookupStart - t.navigationStart,\n domainLookupEnd: t.domainLookupEnd - t.navigationStart,\n connectStart: t.connectStart - t.navigationStart,\n connectEnd: t.connectEnd - t.navigationStart,\n secureConnectionStart: t.secureConnectionStart\n ? t.secureConnectionStart - t.navigationStart\n : undefined,\n requestStart: t.requestStart - t.navigationStart,\n responseStart: t.responseStart - t.navigationStart,\n responseEnd: t.responseEnd - t.navigationStart,\n domLoading: t.domLoading - t.navigationStart,\n domInteractive: t.domInteractive - t.navigationStart,\n domContentLoadedEventStart:\n t.domContentLoadedEventStart - t.navigationStart,\n domContentLoadedEventEnd: t.domContentLoadedEventEnd - t.navigationStart,\n domComplete: t.domComplete - t.navigationStart,\n loadEventStart: t.loadEventStart - t.navigationStart,\n loadEventEnd: t.loadEventEnd - t.navigationStart\n };\n }\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050572 Marionette DEBUG 0 -> [0,53,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n let t = window.performance.getEntriesByType( ... Start: t.loadEventStart - t.navigationStart,\n loadEventEnd: t.loadEventEnd - t.navigationStart\n };\n }\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050574 Marionette DEBUG 0 <- [1,53,null,{"value":{"connectStart":11,"domComplete":3130,"domContentLoadedEventEnd":1037,"domContentLoadedEventStart":1037," ... nd":16,"responseStart":16,"secureConnectionStart":11,"startTime":0,"unloadEventEnd":0,"unloadEventStart":0,"workerStart":0}}]
16:37:33 INFO - raptor-browsertime Info: 1635439050574 webdriver::server DEBUG <- 200 OK {"value":{"connectStart":11,"domComplete":3130,"domContentLoadedEventEnd":1037,"domContentLoadedEventStart":1037,"domInteractive":1036,"domainLookupEnd":11,"domainLookupStart":11,"duration":3137,"fetchStart":-3,"loadEventEnd":3137,"loadEventStart":3130,"redirectEnd":0,"redirectStart":0,"requestStart":11,"responseEnd":16,"responseStart":16,"secureConnectionStart":11,"startTime":0,"unloadEventEnd":0,"unloadEventStart":0,"workerStart":0}}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:33 INFO - raptor-browsertime Info: let t = window.performance.getEntriesByType('navigation')[0];
16:37:33 INFO - raptor-browsertime Info: const d = 0;
16:37:33 INFO - raptor-browsertime Info: if (t) {
16:37:33 INFO - raptor-browsertime Info: return {
16:37:33 INFO - raptor-browsertime Info: domainLookupTime: Number(
16:37:33 INFO - raptor-browsertime Info: (t.domainLookupEnd - t.domainLookupStart).toFixed(d)
16:37:33 INFO - raptor-browsertime Info: ),
16:37:33 INFO - raptor-browsertime Info: redirectionTime: Number((t.redirectEnd - t.redirectStart).toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: serverConnectionTime: Number((t.connectEnd - t.connectStart).toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: serverResponseTime: Number((t.responseEnd - t.requestStart).toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: pageDownloadTime: Number((t.responseEnd - t.responseStart).toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: domInteractiveTime: Number(t.domInteractive.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: domContentLoadedTime: Number(t.domContentLoadedEventStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: pageLoadTime: Number(t.loadEventStart.toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: frontEndTime: Number((t.loadEventStart - t.responseEnd).toFixed(d)),
16:37:33 INFO - raptor-browsertime Info: backEndTime: Number(t.responseStart.toFixed(d))
16:37:33 INFO - raptor-browsertime Info: };
16:37:33 INFO - raptor-browsertime Info: } else {
16:37:33 INFO - raptor-browsertime Info: // Safari
16:37:33 INFO - raptor-browsertime Info: t = window.performance.timing;
16:37:33 INFO - raptor-browsertime Info: return {
16:37:33 INFO - raptor-browsertime Info: domainLookupTime: t.domainLookupEnd - t.domainLookupStart,
16:37:33 INFO - raptor-browsertime Info: redirectionTime: t.fetchStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: serverConnectionTime: t.connectEnd - t.connectStart,
16:37:33 INFO - raptor-browsertime Info: serverResponseTime: t.responseEnd - t.requestStart,
16:37:33 INFO - raptor-browsertime Info: pageDownloadTime: t.responseEnd - t.responseStart,
16:37:33 INFO - raptor-browsertime Info: domInteractiveTime: t.domInteractive - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: domContentLoadedTime: t.domContentLoadedEventStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: pageLoadTime: t.loadEventStart - t.navigationStart,
16:37:33 INFO - raptor-browsertime Info: frontEndTime: t.loadEventStart - t.responseEnd,
16:37:33 INFO - raptor-browsertime Info: backEndTime: t.responseStart - t.navigationStart
16:37:33 INFO - raptor-browsertime Info: };
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info: })();
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: 1635439050576 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n let t = window.performance.getEntriesByType('navigation')[0];\n const d = 0;\n if (t) {\n return {\n domainLookupTime: Number(\n (t.domainLookupEnd - t.domainLookupStart).toFixed(d)\n ),\n redirectionTime: Number((t.redirectEnd - t.redirectStart).toFixed(d)),\n serverConnectionTime: Number((t.connectEnd - t.connectStart).toFixed(d)),\n serverResponseTime: Number((t.responseEnd - t.requestStart).toFixed(d)),\n pageDownloadTime: Number((t.responseEnd - t.responseStart).toFixed(d)),\n domInteractiveTime: Number(t.domInteractive.toFixed(d)),\n domContentLoadedTime: Number(t.domContentLoadedEventStart.toFixed(d)),\n pageLoadTime: Number(t.loadEventStart.toFixed(d)),\n frontEndTime: Number((t.loadEventStart - t.responseEnd).toFixed(d)),\n backEndTime: Number(t.responseStart.toFixed(d))\n };\n } else {\n // Safari\n t = window.performance.timing;\n return {\n domainLookupTime: t.domainLookupEnd - t.domainLookupStart,\n redirectionTime: t.fetchStart - t.navigationStart,\n serverConnectionTime: t.connectEnd - t.connectStart,\n serverResponseTime: t.responseEnd - t.requestStart,\n pageDownloadTime: t.responseEnd - t.responseStart,\n domInteractiveTime: t.domInteractive - t.navigationStart,\n domContentLoadedTime: t.domContentLoadedEventStart - t.navigationStart,\n pageLoadTime: t.loadEventStart - t.navigationStart,\n frontEndTime: t.loadEventStart - t.responseEnd,\n backEndTime: t.responseStart - t.navigationStart\n };\n }\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050577 Marionette DEBUG 0 -> [0,54,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n let t = window.performance.getEntriesByType( ... ntEndTime: t.loadEventStart - t.responseEnd,\n backEndTime: t.responseStart - t.navigationStart\n };\n }\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050579 Marionette DEBUG 0 <- [1,54,null,{"value":{"domainLookupTime":0,"redirectionTime":0,"serverConnectionTime":0,"serverResponseTime":5,"pageDownloadTime":0,"domInteractiveTime":1036,"domContentLoadedTime":1037,"pageLoadTime":3130,"frontEndTime":3114,"backEndTime":16}}]
16:37:33 INFO - raptor-browsertime Info: 1635439050579 webdriver::server DEBUG <- 200 OK {"value":{"backEndTime":16,"domContentLoadedTime":1037,"domInteractiveTime":1036,"domainLookupTime":0,"frontEndTime":3114,"pageDownloadTime":0,"pageLoadTime":3130,"redirectionTime":0,"serverConnectionTime":0,"serverResponseTime":5}}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:33 INFO - raptor-browsertime Info: let p = window.performance,
16:37:33 INFO - raptor-browsertime Info: entries,
16:37:33 INFO - raptor-browsertime Info: values = {};
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: entries = p.getEntriesByType('paint');
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: if (entries.length > 0) {
16:37:33 INFO - raptor-browsertime Info: for (const entry of entries) {
16:37:33 INFO - raptor-browsertime Info: values[entry.name] = Number(entry.startTime.toFixed(0));
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info: return values;
16:37:33 INFO - raptor-browsertime Info: } else return undefined;
16:37:33 INFO - raptor-browsertime Info: })();
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: 1635439050581 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n let p = window.performance,\n entries,\n values = {};\n\n entries = p.getEntriesByType('paint');\n\n if (entries.length > 0) {\n for (const entry of entries) {\n values[entry.name] = Number(entry.startTime.toFixed(0));\n }\n return values;\n } else return undefined;\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050582 Marionette DEBUG 0 -> [0,55,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n let p = window.performance,\n entries,\n ... values[entry.name] = Number(entry.startTime.toFixed(0));\n }\n return values;\n } else return undefined;\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050584 Marionette DEBUG 0 <- [1,55,null,{"value":{"first-contentful-paint":329}}]
16:37:33 INFO - raptor-browsertime Info: 1635439050584 webdriver::server DEBUG <- 200 OK {"value":{"first-contentful-paint":329}}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:33 INFO - raptor-browsertime Info: // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceServerTiming
16:37:33 INFO - raptor-browsertime Info: const entries = window.performance.getEntriesByType('resource');
16:37:33 INFO - raptor-browsertime Info: if (entries.length > 0 && entries[0].serverTiming) {
16:37:33 INFO - raptor-browsertime Info: const timings = entries[0].serverTiming;
16:37:33 INFO - raptor-browsertime Info: const serverTimings = [];
16:37:33 INFO - raptor-browsertime Info: for (let timing of timings) {
16:37:33 INFO - raptor-browsertime Info: serverTimings.push({
16:37:33 INFO - raptor-browsertime Info: name: timing.name,
16:37:33 INFO - raptor-browsertime Info: duration: timing.duration,
16:37:33 INFO - raptor-browsertime Info: description: timing.description
16:37:33 INFO - raptor-browsertime Info: });
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info: return serverTimings;
16:37:33 INFO - raptor-browsertime Info: } else return undefined;
16:37:33 INFO - raptor-browsertime Info: })();
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: 1635439050586 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceServerTiming\n const entries = window.performance.getEntriesByType('resource');\n if (entries.length > 0 && entries[0].serverTiming) {\n const timings = entries[0].serverTiming;\n const serverTimings = [];\n for (let timing of timings) {\n serverTimings.push({\n name: timing.name,\n duration: timing.duration,\n description: timing.description\n });\n }\n return serverTimings;\n } else return undefined;\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050586 Marionette DEBUG 0 -> [0,56,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n // https://developer.mozilla.org/en-US/do ... ion: timing.description\n });\n }\n return serverTimings;\n } else return undefined;\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050588 Marionette DEBUG 0 <- [1,56,null,{"value":[]}]
16:37:33 INFO - raptor-browsertime Info: 1635439050588 webdriver::server DEBUG <- 200 OK {"value":[]}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:33 INFO - raptor-browsertime Info: // Firefox only timeToContentfulPaint
16:37:33 INFO - raptor-browsertime Info: // need pref to be activated
16:37:33 INFO - raptor-browsertime Info: const timing = window.performance.timing;
16:37:33 INFO - raptor-browsertime Info: if (timing.timeToContentfulPaint) {
16:37:33 INFO - raptor-browsertime Info: return Number(
16:37:33 INFO - raptor-browsertime Info: (timing.timeToContentfulPaint - timing.navigationStart).toFixed(0)
16:37:33 INFO - raptor-browsertime Info: );
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info: else return undefined;
16:37:33 INFO - raptor-browsertime Info: })();
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: 1635439050590 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n // Firefox only timeToContentfulPaint\n // need pref to be activated\n const timing = window.performance.timing;\n if (timing.timeToContentfulPaint) {\n return Number(\n (timing.timeToContentfulPaint - timing.navigationStart).toFixed(0)\n );\n }\n else return undefined;\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050590 Marionette DEBUG 0 -> [0,57,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n // Firefox only timeToContentfulPaint\n ... timeToContentfulPaint - timing.navigationStart).toFixed(0)\n );\n }\n else return undefined;\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050592 Marionette DEBUG 0 <- [1,57,null,{"value":370}]
16:37:33 INFO - raptor-browsertime Info: 1635439050593 webdriver::server DEBUG <- 200 OK {"value":370}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:33 INFO - raptor-browsertime Info: // Firefox only timeToDOMContentFlushed
16:37:33 INFO - raptor-browsertime Info: // need pref to be activated
16:37:33 INFO - raptor-browsertime Info: const timing = window.performance.timing;
16:37:33 INFO - raptor-browsertime Info: if (timing.timeToDOMContentFlushed) {
16:37:33 INFO - raptor-browsertime Info: return Number(
16:37:33 INFO - raptor-browsertime Info: (timing.timeToDOMContentFlushed - timing.navigationStart).toFixed(0)
16:37:33 INFO - raptor-browsertime Info: );
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info: else return undefined;
16:37:33 INFO - raptor-browsertime Info: })();
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: 1635439050594 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n // Firefox only timeToDOMContentFlushed\n // need pref to be activated\n const timing = window.performance.timing;\n if (timing.timeToDOMContentFlushed) {\n return Number(\n (timing.timeToDOMContentFlushed - timing.navigationStart).toFixed(0)\n );\n }\n else return undefined;\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050595 Marionette DEBUG 0 -> [0,58,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n // Firefox only timeToDOMContentFlushed\n ... meToDOMContentFlushed - timing.navigationStart).toFixed(0)\n );\n }\n else return undefined;\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050596 Marionette DEBUG 0 <- [1,58,null,{"value":1044}]
16:37:33 INFO - raptor-browsertime Info: 1635439050597 webdriver::server DEBUG <- 200 OK {"value":1044}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:33 INFO - raptor-browsertime Info: // Firefox only TTFI
16:37:33 INFO - raptor-browsertime Info: // need pref to be activated
16:37:33 INFO - raptor-browsertime Info: // If the "event" has happend, it will return 0
16:37:33 INFO - raptor-browsertime Info: const timing = window.performance.timing;
16:37:33 INFO - raptor-browsertime Info: if (timing.timeToFirstInteractive && timing.timeToFirstInteractive > 0) {
16:37:33 INFO - raptor-browsertime Info: const ttfi = Number(
16:37:33 INFO - raptor-browsertime Info: (timing.timeToFirstInteractive - timing.navigationStart).toFixed(0)
16:37:33 INFO - raptor-browsertime Info: );
16:37:33 INFO - raptor-browsertime Info: // We have seen cases when TTFI is - 46 years.
16:37:33 INFO - raptor-browsertime Info: if (ttfi < 0) {
16:37:33 INFO - raptor-browsertime Info: return 0;
16:37:33 INFO - raptor-browsertime Info: } else {
16:37:33 INFO - raptor-browsertime Info: return ttfi;
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info: } else return undefined;
16:37:33 INFO - raptor-browsertime Info: })();
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: 1635439050598 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // Firefox only TTFI\n // need pref to be activated\n // If the \"event\" has happend, it will return 0\n const timing = window.performance.timing;\n if (timing.timeToFirstInteractive && timing.timeToFirstInteractive > 0) {\n const ttfi = Number(\n (timing.timeToFirstInteractive - timing.navigationStart).toFixed(0)\n );\n // We have seen cases when TTFI is - 46 years.\n if (ttfi < 0) {\n return 0;\n } else {\n return ttfi;\n }\n } else return undefined;\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050599 Marionette DEBUG 0 -> [0,59,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // Firefox only TTFI\n // need pref to be a ... years.\n if (ttfi < 0) {\n return 0;\n } else {\n return ttfi;\n }\n } else return undefined;\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050600 Marionette DEBUG 0 <- [1,59,null,{"value":null}]
16:37:33 INFO - raptor-browsertime Info: 1635439050601 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:33 INFO - raptor-browsertime Info: let t = window.performance.getEntriesByType('navigation')[0];
16:37:33 INFO - raptor-browsertime Info: if (t) {
16:37:33 INFO - raptor-browsertime Info: return Number(t.responseStart.toFixed(0));
16:37:33 INFO - raptor-browsertime Info: } else {
16:37:33 INFO - raptor-browsertime Info: return Number(window.performance.timing.responseStart.toFixed(0) - window.performance.timing.navigationStart.toFixed(0));
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info: })();
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: 1635439050602 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n let t = window.performance.getEntriesByType('navigation')[0];\n if (t) {\n return Number(t.responseStart.toFixed(0));\n } else {\n return Number(window.performance.timing.responseStart.toFixed(0) - window.performance.timing.navigationStart.toFixed(0));\n }\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050603 Marionette DEBUG 0 -> [0,60,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n let t = window.performance.getEntriesByTy ... indow.performance.timing.responseStart.toFixed(0) - window.performance.timing.navigationStart.toFixed(0));\n }\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050604 Marionette DEBUG 0 <- [1,60,null,{"value":16}]
16:37:33 INFO - raptor-browsertime Info: 1635439050604 webdriver::server DEBUG <- 200 OK {"value":16}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:33 INFO - raptor-browsertime Info: const measures = [];
16:37:33 INFO - raptor-browsertime Info: const marks = [];
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: if (window.performance && window.performance.getEntriesByType) {
16:37:33 INFO - raptor-browsertime Info: const myMarks = Array.prototype.slice.call(
16:37:33 INFO - raptor-browsertime Info: window.performance.getEntriesByType('mark')
16:37:33 INFO - raptor-browsertime Info: );
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: for (const mark of myMarks) {
16:37:33 INFO - raptor-browsertime Info: marks.push({
16:37:33 INFO - raptor-browsertime Info: name: mark.name,
16:37:33 INFO - raptor-browsertime Info: startTime: mark.startTime
16:37:33 INFO - raptor-browsertime Info: });
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: const myMeasures = Array.prototype.slice.call(
16:37:33 INFO - raptor-browsertime Info: window.performance.getEntriesByType('measure')
16:37:33 INFO - raptor-browsertime Info: );
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: for (const measure of myMeasures) {
16:37:33 INFO - raptor-browsertime Info: measures.push({
16:37:33 INFO - raptor-browsertime Info: name: measure.name,
16:37:33 INFO - raptor-browsertime Info: duration: measure.duration,
16:37:33 INFO - raptor-browsertime Info: startTime: measure.startTime
16:37:33 INFO - raptor-browsertime Info: });
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info: }
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: return {
16:37:33 INFO - raptor-browsertime Info: marks: marks,
16:37:33 INFO - raptor-browsertime Info: measures: measures
16:37:33 INFO - raptor-browsertime Info: };
16:37:33 INFO - raptor-browsertime Info: })();
16:37:33 INFO - raptor-browsertime Info:
16:37:33 INFO - raptor-browsertime Info: 1635439050606 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const measures = [];\n const marks = [];\n\n if (window.performance && window.performance.getEntriesByType) {\n const myMarks = Array.prototype.slice.call(\n window.performance.getEntriesByType('mark')\n );\n\n for (const mark of myMarks) {\n marks.push({\n name: mark.name,\n startTime: mark.startTime\n });\n }\n\n const myMeasures = Array.prototype.slice.call(\n window.performance.getEntriesByType('measure')\n );\n\n for (const measure of myMeasures) {\n measures.push({\n name: measure.name,\n duration: measure.duration,\n startTime: measure.startTime\n });\n }\n }\n\n return {\n marks: marks,\n measures: measures\n };\n})();\n","args":[null]}
16:37:33 INFO - raptor-browsertime Info: 1635439050606 Marionette DEBUG 0 -> [0,61,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const measures = [];\n const marks = [];\n\ ... tartTime: measure.startTime\n });\n }\n }\n\n return {\n marks: marks,\n measures: measures\n };\n})();\n"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050610 Marionette DEBUG 0 <- [1,61,null,{"value":{"marks":[{"name":"head_tag_start","startTime":208.94},{"name":"app_html_start","startTime":234.78},{"nam ... 999999999995,"startTime":1495.22},{"name":"Initailize_Client_Postamble","duration":72.92000000000007,"startTime":1816.52}]}}]
16:37:33 INFO - raptor-browsertime Info: 1635439050610 webdriver::server DEBUG <- 200 OK {"value":{"marks":[{"name":"head_tag_start","startTime":208.94},{"name":"app_html_start","startTime":234.78},{"name":"ads_dot_js_fetch_start","startTime":299.64},{"name":"first_post_title_image_loaded","startTime":1006.8},{"name":"first_comment_loaded","startTime":1007.02},{"name":"redux_json_start","startTime":1014.44},{"name":"js_deps_fetch_start","startTime":1035.16},{"name":"entry_point_start","startTime":1354.1},{"name":"init_client_start","startTime":1354.36},{"name":"create_route_components_start","startTime":1408},{"name":"react_hydrate_start","startTime":1495.22},{"name":"react_hydrate_end","startTime":1816.52},{"name":"init_client_end","startTime":1889.44}],"measures":[{"duration":19,"name":"Time_To_First_Byte","startTime":-3},{"duration":1009.8,"name":"NavigationStart_To_FirstPostTitleVisible","startTime":-3},{"duration":1892.44,"name":"NavigationStart_To_InitClientFinished","startTime":-3},{"duration":1010.02,"name":"NavigationStart_To_FirstCommentVisible","startTime":-3},{"duration":25.840000000000003,"name":"Head_Tag_Parse","startTime":208.94},{"duration":64.85999999999999,"name":"App_HTML_Parse","startTime":234.78},{"duration":714.8000000000001,"name":"Ads_Dot_JS_Fetch_Parse","startTime":299.64},{"duration":20.720000000000027,"name":"Redux_Bootstrap_JSON_Parse","startTime":1014.44},{"duration":318.9399999999998,"name":"JS_Fetch_To_Entry_Point","startTime":1035.16},{"duration":0.2599999999999909,"name":"Entry_To_Init_Client","startTime":1354.1},{"duration":53.6400000000001,"name":"Initailize_Client_Preamble","startTime":1354.36},{"duration":87.22000000000003,"name":"Creat_Route_Components","startTime":1408},{"duration":321.29999999999995,"name":"React_Hydrate","startTime":1495.22},{"duration":72.92000000000007,"name":"Initailize_Client_Postamble","startTime":1816.52}]}}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Navigating to secondary url:https://www.reddit.com/r/technology/
16:37:33 INFO - raptor-browsertime Info: [browsertime.command.measure] Navigating to url https://www.reddit.com/r/technology/ iteration 1
16:37:33 INFO - raptor-browsertime Info: 1635439050614 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return document.documentURI;","args":[]}
16:37:33 INFO - raptor-browsertime Info: 1635439050615 Marionette DEBUG 0 -> [0,62,"WebDriver:ExecuteScript",{"args":[],"script":"return document.documentURI;"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050617 Marionette DEBUG 0 <- [1,62,null,{"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050617 webdriver::server DEBUG <- 200 OK {"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}
16:37:33 INFO - raptor-browsertime Info: 1635439050619 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"(function() {\n const orange = document.getElementById('browsertime-orange');\n if (orange) {\n orange.parentNode.removeChild(orange);\n }\n })();","args":[]}
16:37:33 INFO - raptor-browsertime Info: 1635439050619 Marionette DEBUG 0 -> [0,63,"WebDriver:ExecuteScript",{"args":[],"script":"(function() {\n const orange = document.getElementById('browsertime-orange');\n if (orange) {\n orange.parentNode.removeChild(orange);\n }\n })();"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050621 Marionette DEBUG 0 <- [1,63,null,{"value":null}]
16:37:33 INFO - raptor-browsertime Info: 1635439050621 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:33 INFO - raptor-browsertime Info: [browsertime] Using webdriver.get to navigate
16:37:33 INFO - raptor-browsertime Info: 1635439050623 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/url {"url":"https://www.reddit.com/r/technology/"}
16:37:33 INFO - raptor-browsertime Info: 1635439050623 Marionette DEBUG 0 -> [0,64,"WebDriver:Navigate",{"url":"https://www.reddit.com/r/technology/"}]
16:37:33 INFO - raptor-browsertime Info: 1635439050624 Marionette DEBUG 0 <- [1,64,null,{"value":null}]
16:37:33 INFO - raptor-browsertime Info: 1635439050625 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:33 INFO - raptor-browsertime Info: console.log: "\n ,d\"=\u2265,.,qOp,\n ,7' ''\xB2$( )\n ,7' '?q$7'\n ..,$$,.\n ,. .,,--***\xB2\"\"\xB2***--,,. .,\n \xB2 ,p\xB2'' ''\xB2q, \xB2\n: ,7' '7, :\n ' $ ,db, ,db, $ '\n '$ \xB2$$\xB2 \xB2$$\xB2 $' Using Reddit at work? Work for Reddit.\n '$ $' https://www.redditinc.com/careers\n '$. ., ,. .$'\n 'b, '\xB2\xAB\xBB\xAB\xBB\xAB\xBB\xB2' ,d'\n '\xB2?bn,, ,,nd?\xB2'\n ,7$ ''\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2'' $7,\n ,\xB2 \xB2$ $\xB2 \xB2,\n $ :$ $: $\n $ $ $ $\n 'b q: :p d'\n '\xB2\xAB?$. .$?\xBB\xB2'\n 'b d'\n ,\xB2\xB2'?,. .,?'\xB2\xB2,\n \xB2==--\u2265\xB2\xB2==--==\xB2\xB2\u2264--==\xB2\n"
16:37:33 INFO - raptor-browsertime Info: console.log: "%cStarting Raven %crelease %ce0c265a07694cc87a6783569b687104f5238ebb1-production %cpublic url %chttps://6b5ce051b2ed4032bd906af3de0630cd@o418887.ingest.sentry.io/5667464" "color: #7E53C1" "color: #7E53C1" "color: #FFB000" "color: #7E53C1" "color: #FFB000"
16:37:33 INFO - raptor-browsertime Info: console.debug: "ignoring https://www.googletagmanager.com/gtm.js?id=GTM-5XVNS82&l=googleTagManager on tab 1 frame 2147483656"
16:37:34 INFO - raptor-browsertime Info: JavaScript warning: https://www.redditstatic.com/accountmanager/ssoOneTap.66df921c39e4b8038f99.js, line 1: unreachable code after return statement
16:37:34 INFO - raptor-browsertime Info: console.log: "Not display reason: opt_out_or_no_session"
16:37:35 INFO - raptor-browsertime Info: [browsertime] Waiting for script pageCompleteCheck at most 300000 ms
16:37:35 INFO - raptor-browsertime Info: [browsertime] Waiting for script
16:37:35 INFO - raptor-browsertime Info: return (function(waitTime) {
16:37:35 INFO - raptor-browsertime Info: try {
16:37:35 INFO - raptor-browsertime Info: var end = window.performance.timing.loadEventEnd;
16:37:35 INFO - raptor-browsertime Info: var start= window.performance.timing.navigationStart;
16:37:35 INFO - raptor-browsertime Info: return (end > 0) && (performance.now() > end - start + waitTime);
16:37:35 INFO - raptor-browsertime Info: }
16:37:35 INFO - raptor-browsertime Info: catch(e) {
16:37:35 INFO - raptor-browsertime Info: return true;
16:37:35 INFO - raptor-browsertime Info: }
16:37:35 INFO - raptor-browsertime Info: })(arguments[arguments.length - 1]);
16:37:35 INFO - raptor-browsertime Info:
16:37:35 INFO - raptor-browsertime Info: 1635439055633 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:35 INFO - raptor-browsertime Info: 1635439055635 Marionette DEBUG 0 -> [0,65,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:35 INFO - raptor-browsertime Info: 1635439055638 Marionette TRACE [21] MarionetteCommands actor created for window id 2147483664
16:37:35 INFO - raptor-browsertime Info: 1635439055646 Marionette DEBUG 0 <- [1,65,null,{"value":false}]
16:37:35 INFO - raptor-browsertime Info: 1635439055647 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:35 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned false
16:37:36 INFO - raptor-browsertime Info: 1635439056653 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:36 INFO - raptor-browsertime Info: 1635439056654 Marionette DEBUG 0 -> [0,66,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:36 INFO - raptor-browsertime Info: 1635439056682 Marionette DEBUG 0 <- [1,66,null,{"value":false}]
16:37:36 INFO - raptor-browsertime Info: 1635439056683 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:36 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned false
16:37:37 INFO - raptor-browsertime Info: 1635439057689 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:37 INFO - raptor-browsertime Info: 1635439057691 Marionette DEBUG 0 -> [0,67,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:37 INFO - raptor-browsertime Info: 1635439057700 Marionette DEBUG 0 <- [1,67,null,{"value":false}]
16:37:37 INFO - raptor-browsertime Info: 1635439057701 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:37 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned false
16:37:38 INFO - raptor-browsertime Info: 1635439058707 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:38 INFO - raptor-browsertime Info: 1635439058709 Marionette DEBUG 0 -> [0,68,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:38 INFO - raptor-browsertime Info: 1635439058718 Marionette DEBUG 0 <- [1,68,null,{"value":true}]
16:37:38 INFO - raptor-browsertime Info: 1635439058720 webdriver::server DEBUG <- 200 OK {"value":true}
16:37:38 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned true
16:37:38 INFO - raptor-browsertime Info: 1635439058727 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return document.documentURI;","args":[]}
16:37:38 INFO - raptor-browsertime Info: 1635439058729 Marionette DEBUG 0 -> [0,69,"WebDriver:ExecuteScript",{"args":[],"script":"return document.documentURI;"}]
16:37:38 INFO - raptor-browsertime Info: 1635439058738 Marionette DEBUG 0 <- [1,69,null,{"value":"https://www.reddit.com/r/technology/"}]
16:37:38 INFO - raptor-browsertime Info: 1635439058739 webdriver::server DEBUG <- 200 OK {"value":"https://www.reddit.com/r/technology/"}
16:37:39 INFO - raptor-browsertime Info: [browsertime] Executing script
16:37:39 INFO - raptor-browsertime Info: (function() {
16:37:39 INFO - raptor-browsertime Info: const white = document.createElement('div');
16:37:39 INFO - raptor-browsertime Info: white.id = 'raptor-white';
16:37:39 INFO - raptor-browsertime Info: white.style.position = 'absolute';
16:37:39 INFO - raptor-browsertime Info: white.style.top = '0';
16:37:39 INFO - raptor-browsertime Info: white.style.left = '0';
16:37:39 INFO - raptor-browsertime Info: white.style.width = Math.max(document.documentElement.clientWidth, document.body.clientWidth) + 'px';
16:37:39 INFO - raptor-browsertime Info: white.style.height = Math.max(document.documentElement.clientHeight,document.body.clientHeight) + 'px';
16:37:39 INFO - raptor-browsertime Info: white.style.backgroundColor = 'white';
16:37:39 INFO - raptor-browsertime Info: white.style.zIndex = '2147483647';
16:37:39 INFO - raptor-browsertime Info: document.body.appendChild(white);
16:37:39 INFO - raptor-browsertime Info: document.body.style.display = '';
16:37:39 INFO - raptor-browsertime Info: })();
16:37:39 INFO - raptor-browsertime Info: 1635439059747 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\n (function() {\n const white = document.createElement('div');\n white.id = 'raptor-white';\n white.style.position = 'absolute';\n white.style.top = '0';\n white.style.left = '0';\n white.style.width = Math.max(document.documentElement.clientWidth, document.body.clientWidth) + 'px';\n white.style.height = Math.max(document.documentElement.clientHeight,document.body.clientHeight) + 'px';\n white.style.backgroundColor = 'white';\n white.style.zIndex = '2147483647';\n document.body.appendChild(white);\n document.body.style.display = '';\n })();","args":[null]}
16:37:39 INFO - raptor-browsertime Info: 1635439059749 Marionette DEBUG 0 -> [0,70,"WebDriver:ExecuteScript",{"args":[null],"script":"\n (function() {\n const white = document.createElement( ... .zIndex = '2147483647';\n document.body.appendChild(white);\n document.body.style.display = '';\n })();"}]
16:37:39 INFO - raptor-browsertime Info: 1635439059759 Marionette DEBUG 0 <- [1,70,null,{"value":null}]
16:37:39 INFO - raptor-browsertime Info: 1635439059760 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:41 INFO - raptor-browsertime Info: [browsertime] Waiting for script pageCompleteCheck at most 300000 ms
16:37:41 INFO - raptor-browsertime Info: [browsertime] Waiting for script
16:37:41 INFO - raptor-browsertime Info: return (function(waitTime) {
16:37:41 INFO - raptor-browsertime Info: try {
16:37:41 INFO - raptor-browsertime Info: var end = window.performance.timing.loadEventEnd;
16:37:41 INFO - raptor-browsertime Info: var start= window.performance.timing.navigationStart;
16:37:41 INFO - raptor-browsertime Info: return (end > 0) && (performance.now() > end - start + waitTime);
16:37:41 INFO - raptor-browsertime Info: }
16:37:41 INFO - raptor-browsertime Info: catch(e) {
16:37:41 INFO - raptor-browsertime Info: return true;
16:37:41 INFO - raptor-browsertime Info: }
16:37:41 INFO - raptor-browsertime Info: })(arguments[arguments.length - 1]);
16:37:41 INFO - raptor-browsertime Info:
16:37:41 INFO - raptor-browsertime Info: 1635439061771 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:41 INFO - raptor-browsertime Info: 1635439061773 Marionette DEBUG 0 -> [0,71,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:41 INFO - raptor-browsertime Info: 1635439061781 Marionette DEBUG 0 <- [1,71,null,{"value":true}]
16:37:41 INFO - raptor-browsertime Info: 1635439061782 webdriver::server DEBUG <- 200 OK {"value":true}
16:37:41 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned true
16:37:42 INFO - raptor-browsertime Info: [browsertime] Navigating to primary url:https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/
16:37:42 INFO - raptor-browsertime Info: [browsertime] Cycle 1, waiting for 1000 ms
16:37:43 INFO - raptor-browsertime Info: [browsertime] Cycle 1, starting the measure
16:37:43 INFO - raptor-browsertime Info: [browsertime.command.measure] Testing url https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/ iteration 1
16:37:43 INFO - raptor-browsertime Info: 1635439063794 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return document.documentURI;","args":[]}
16:37:43 INFO - raptor-browsertime Info: 1635439063797 Marionette DEBUG 0 -> [0,72,"WebDriver:ExecuteScript",{"args":[],"script":"return document.documentURI;"}]
16:37:43 INFO - raptor-browsertime Info: 1635439063805 Marionette DEBUG 0 <- [1,72,null,{"value":"https://www.reddit.com/r/technology/"}]
16:37:43 INFO - raptor-browsertime Info: 1635439063806 webdriver::server DEBUG <- 200 OK {"value":"https://www.reddit.com/r/technology/"}
16:37:43 INFO - raptor-browsertime Info: 1635439063812 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"(function() {\n const orange = document.getElementById('browsertime-orange');\n if (orange) {\n orange.parentNode.removeChild(orange);\n }\n })();","args":[]}
16:37:43 INFO - raptor-browsertime Info: 1635439063813 Marionette DEBUG 0 -> [0,73,"WebDriver:ExecuteScript",{"args":[],"script":"(function() {\n const orange = document.getElementById('browsertime-orange');\n if (orange) {\n orange.parentNode.removeChild(orange);\n }\n })();"}]
16:37:43 INFO - raptor-browsertime Info: 1635439063818 Marionette DEBUG 0 <- [1,73,null,{"value":null}]
16:37:43 INFO - raptor-browsertime Info: 1635439063819 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:43 INFO - raptor-browsertime Info: [browsertime] Using webdriver.get to navigate
16:37:43 INFO - raptor-browsertime Info: 1635439063822 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/url {"url":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}
16:37:43 INFO - raptor-browsertime Info: 1635439063823 Marionette DEBUG 0 -> [0,74,"WebDriver:Navigate",{"url":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}]
16:37:43 INFO - raptor-browsertime Info: 1635439063824 Marionette DEBUG 0 <- [1,74,null,{"value":null}]
16:37:43 INFO - raptor-browsertime Info: 1635439063825 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:44 INFO - raptor-browsertime Info: console.log: "\n ,d\"=\u2265,.,qOp,\n ,7' ''\xB2$( )\n ,7' '?q$7'\n ..,$$,.\n ,. .,,--***\xB2\"\"\xB2***--,,. .,\n \xB2 ,p\xB2'' ''\xB2q, \xB2\n: ,7' '7, :\n ' $ ,db, ,db, $ '\n '$ \xB2$$\xB2 \xB2$$\xB2 $' Using Reddit at work? Work for Reddit.\n '$ $' https://www.redditinc.com/careers\n '$. ., ,. .$'\n 'b, '\xB2\xAB\xBB\xAB\xBB\xAB\xBB\xB2' ,d'\n '\xB2?bn,, ,,nd?\xB2'\n ,7$ ''\xB2\xB2\xB2\xB2\xB2\xB2\xB2\xB2'' $7,\n ,\xB2 \xB2$ $\xB2 \xB2,\n $ :$ $: $\n $ $ $ $\n 'b q: :p d'\n '\xB2\xAB?$. .$?\xBB\xB2'\n 'b d'\n ,\xB2\xB2'?,. .,?'\xB2\xB2,\n \xB2==--\u2265\xB2\xB2==--==\xB2\xB2\u2264--==\xB2\n"
16:37:44 INFO - raptor-browsertime Info: console.log: "%cStarting Raven %crelease %ce0c265a07694cc87a6783569b687104f5238ebb1-production %cpublic url %chttps://6b5ce051b2ed4032bd906af3de0630cd@o418887.ingest.sentry.io/5667464" "color: #7E53C1" "color: #7E53C1" "color: #FFB000" "color: #7E53C1" "color: #FFB000"
16:37:45 INFO - raptor-browsertime Info: console.debug: "ignoring https://www.googletagmanager.com/gtm.js?id=GTM-5XVNS82&l=googleTagManager on tab 1 frame 2147483661"
16:37:45 INFO - raptor-browsertime Info: JavaScript warning: https://www.redditstatic.com/accountmanager/ssoOneTap.66df921c39e4b8038f99.js, line 1: unreachable code after return statement
16:37:46 INFO - raptor-browsertime Info: console.log: "Not display reason: opt_out_or_no_session"
16:37:48 INFO - raptor-browsertime Info: [browsertime] Waiting for script pageCompleteCheck at most 300000 ms
16:37:48 INFO - raptor-browsertime Info: [browsertime] Waiting for script
16:37:48 INFO - raptor-browsertime Info: return (function(waitTime) {
16:37:48 INFO - raptor-browsertime Info: try {
16:37:48 INFO - raptor-browsertime Info: var end = window.performance.timing.loadEventEnd;
16:37:48 INFO - raptor-browsertime Info: var start= window.performance.timing.navigationStart;
16:37:48 INFO - raptor-browsertime Info: return (end > 0) && (performance.now() > end - start + waitTime);
16:37:48 INFO - raptor-browsertime Info: }
16:37:48 INFO - raptor-browsertime Info: catch(e) {
16:37:48 INFO - raptor-browsertime Info: return true;
16:37:48 INFO - raptor-browsertime Info: }
16:37:48 INFO - raptor-browsertime Info: })(arguments[arguments.length - 1]);
16:37:48 INFO - raptor-browsertime Info:
16:37:48 INFO - raptor-browsertime Info: 1635439068829 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:48 INFO - raptor-browsertime Info: 1635439068831 Marionette DEBUG 0 -> [0,75,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:48 INFO - raptor-browsertime Info: 1635439068832 Marionette TRACE [21] MarionetteCommands actor created for window id 2147483676
16:37:48 INFO - raptor-browsertime Info: 1635439068834 Marionette DEBUG 0 <- [1,75,null,{"value":false}]
16:37:48 INFO - raptor-browsertime Info: 1635439068834 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:48 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned false
16:37:49 INFO - raptor-browsertime Info: 1635439069839 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:49 INFO - raptor-browsertime Info: 1635439069841 Marionette DEBUG 0 -> [0,76,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:49 INFO - raptor-browsertime Info: 1635439069878 Marionette DEBUG 0 <- [1,76,null,{"value":false}]
16:37:49 INFO - raptor-browsertime Info: 1635439069879 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:49 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned false
16:37:50 INFO - raptor-browsertime Info: 1635439070882 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\nreturn (function(waitTime) {\n try { \n var end = window.performance.timing.loadEventEnd;\n var start= window.performance.timing.navigationStart;\n return (end > 0) && (performance.now() > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n","args":[5000]}
16:37:50 INFO - raptor-browsertime Info: 1635439070883 Marionette DEBUG 0 -> [0,77,"WebDriver:ExecuteScript",{"args":[5000],"script":"\nreturn (function(waitTime) {\n try { \n var end = wi ... () > end - start + waitTime);\n } \n catch(e) {\n return true;\n }\n})(arguments[arguments.length - 1]);\n"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070887 Marionette DEBUG 0 <- [1,77,null,{"value":true}]
16:37:50 INFO - raptor-browsertime Info: 1635439070887 webdriver::server DEBUG <- 200 OK {"value":true}
16:37:50 INFO - raptor-browsertime Info: [browsertime] PageCompleteCheck returned true
16:37:50 INFO - raptor-browsertime Info: 1635439070889 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return document.documentURI;","args":[]}
16:37:50 INFO - raptor-browsertime Info: 1635439070890 Marionette DEBUG 0 -> [0,78,"WebDriver:ExecuteScript",{"args":[],"script":"return document.documentURI;"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070892 Marionette DEBUG 0 <- [1,78,null,{"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070892 webdriver::server DEBUG <- 200 OK {"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}
16:37:50 INFO - raptor-browsertime Info: [browsertime.command.measure] Stop measuring
16:37:50 INFO - raptor-browsertime Info: [browsertime.command.measure] https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/ has been tested before within the same run, it will get an extra query parameter named browsertime_run. Make sure to use alias to keep track of the URLs
16:37:50 INFO - raptor-browsertime Info: [browsertime.command.measure] Collecting metrics
16:37:50 INFO - raptor-browsertime Info: [browsertime] Executing script
16:37:50 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:50 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('layout-shift') === -1) {
16:37:50 INFO - raptor-browsertime Info: return false;
16:37:50 INFO - raptor-browsertime Info: } else return true;
16:37:50 INFO - raptor-browsertime Info:
16:37:50 INFO - raptor-browsertime Info: 1635439070896 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('layout-shift') === -1) {\n return false;\n } else return true;\n ","args":[null]}
16:37:50 INFO - raptor-browsertime Info: 1635439070897 Marionette DEBUG 0 -> [0,79,"WebDriver:ExecuteScript",{"args":[null],"script":"\n const supported = PerformanceObserver.supportedEntryTypes;\n ... if (!supported || supported.indexOf('layout-shift') === -1) {\n return false;\n } else return true;\n "}]
16:37:50 INFO - raptor-browsertime Info: 1635439070899 Marionette DEBUG 0 <- [1,79,null,{"value":false}]
16:37:50 INFO - raptor-browsertime Info: 1635439070899 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:50 INFO - raptor-browsertime Info: [browsertime] Executing script
16:37:50 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:50 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('largest-contentful-paint') === -1) {
16:37:50 INFO - raptor-browsertime Info: return false;
16:37:50 INFO - raptor-browsertime Info: } else return true;
16:37:50 INFO - raptor-browsertime Info:
16:37:50 INFO - raptor-browsertime Info: 1635439070902 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('largest-contentful-paint') === -1) {\n return false;\n } else return true;\n ","args":[null]}
16:37:50 INFO - raptor-browsertime Info: 1635439070902 Marionette DEBUG 0 -> [0,80,"WebDriver:ExecuteScript",{"args":[null],"script":"\n const supported = PerformanceObserver.supportedEntryTypes;\n ... orted || supported.indexOf('largest-contentful-paint') === -1) {\n return false;\n } else return true;\n "}]
16:37:50 INFO - raptor-browsertime Info: 1635439070905 Marionette DEBUG 0 <- [1,80,null,{"value":false}]
16:37:50 INFO - raptor-browsertime Info: 1635439070905 webdriver::server DEBUG <- 200 OK {"value":false}
16:37:50 INFO - raptor-browsertime Info: [browsertime] Executing script appConstants with privilege.
16:37:50 INFO - raptor-browsertime Info: [browsertime] Executing privileged script return ( function() {
16:37:50 INFO - raptor-browsertime Info: const { AppConstants } = ChromeUtils.import(
16:37:50 INFO - raptor-browsertime Info: 'resource://gre/modules/AppConstants.jsm'
16:37:50 INFO - raptor-browsertime Info: );
16:37:50 INFO - raptor-browsertime Info: return AppConstants;
16:37:50 INFO - raptor-browsertime Info: } )()
16:37:50 INFO - raptor-browsertime Info: at SeleniumRunner.runPrivilegedScript (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:410:9)
16:37:50 INFO - raptor-browsertime Info: at SeleniumRunner.runScriptFromCategory (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:560:16)
16:37:50 INFO - raptor-browsertime Info: at SeleniumRunner.runScriptInCategory (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:650:35)
16:37:50 INFO - raptor-browsertime Info: at SeleniumRunner.runScripts (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:583:44)
16:37:50 INFO - raptor-browsertime Info: at Measure.collect (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/command/measure.js:454:30)
16:37:50 INFO - raptor-browsertime Info: at processTicksAndRejections (internal/process/task_queues.js:97:5)
16:37:50 INFO - raptor-browsertime Info: at async module.exports (/home/kimberly/Workspace/mozilla-unified/testing/raptor/browsertime/browsertime_pageload.js:51:5)
16:37:50 INFO - raptor-browsertime Info: at async /home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/run.js:7:9
16:37:50 INFO - raptor-browsertime Info: at async Iteration.run (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/iteration.js:214:9)
16:37:50 INFO - raptor-browsertime Info: at async Engine.runByScript (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/index.js:277:20)
16:37:50 INFO - raptor-browsertime Info: at async run (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js:71:22)
16:37:50 INFO - raptor-browsertime Info: [browsertime] Executing privileged script appConstants
16:37:50 INFO - raptor-browsertime Info: 1635439070908 webdriver::server DEBUG -> GET /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context
16:37:50 INFO - raptor-browsertime Info: 1635439070908 Marionette DEBUG 0 -> [0,81,"Marionette:GetContext",{}]
16:37:50 INFO - raptor-browsertime Info: 1635439070908 Marionette DEBUG 0 <- [1,81,null,{"value":"content"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070908 webdriver::server DEBUG <- 200 OK {"value":"content"}
16:37:50 INFO - raptor-browsertime Info: 1635439070910 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context {"context":"chrome"}
16:37:50 INFO - raptor-browsertime Info: 1635439070911 Marionette DEBUG 0 -> [0,82,"Marionette:SetContext",{"value":"chrome"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070911 Marionette DEBUG 0 <- [1,82,null,{"value":null}]
16:37:50 INFO - raptor-browsertime Info: 1635439070911 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:50 INFO - raptor-browsertime Info: 1635439070913 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return ( function() {\n const { AppConstants } = ChromeUtils.import(\n 'resource://gre/modules/AppConstants.jsm'\n );\n return AppConstants;\n } )()","args":[null]}
16:37:50 INFO - raptor-browsertime Info: 1635439070913 Marionette DEBUG 0 -> [0,83,"WebDriver:ExecuteScript",{"args":[null],"script":"return ( function() {\n const { AppConstants } = ChromeUtils.import(\n 'resource://gre/modules/AppConstants.jsm'\n );\n return AppConstants;\n } )()"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070915 Marionette DEBUG 0 <- [1,83,null,{"value":{"NIGHTLY_BUILD":true,"RELEASE_OR_BETA":false,"EARLY_BETA_OR_EARLIER":true,"IS_ESR":false,"ACCESSIBILITY" ... ATION_STORE":true,"ENABLE_WEBDRIVER":true,"REMOTE_SETTINGS_VERIFY_SIGNATURE":true,"MOZ_GLEAN_ANDROID":false,"MOZ_JXL":true}}]
16:37:50 INFO - raptor-browsertime Info: 1635439070916 webdriver::server DEBUG <- 200 OK {"value":{"ACCESSIBILITY":true,"ANDROID_PACKAGE_NAME":"org.mozilla.firefox","ASAN":false,"ASAN_REPORTER":false,"BROWSER_CHROME_URL":"chrome://browser/content/browser.xhtml","DEBUG":false,"DEBUG_JS_MODULES":"","DLL_PREFIX":"lib","DLL_SUFFIX":".so","EARLY_BETA_OR_EARLIER":true,"ENABLE_WEBDRIVER":true,"HAVE_SHELL_SERVICE":true,"HAVE_USR_LIB64_DIR":false,"IS_ESR":false,"MENUBAR_CAN_AUTOHIDE":true,"MOZILLA_OFFICIAL":false,"MOZ_ALLOW_ADDON_SIDELOAD":false,"MOZ_ANDROID_HISTORY":false,"MOZ_APP_BASENAME":"Firefox","MOZ_APP_DISPLAYNAME_DO_NOT_USE":"Nightly","MOZ_APP_NAME":"firefox","MOZ_APP_VERSION":"95.0a1","MOZ_APP_VERSION_DISPLAY":"95.0a1","MOZ_BACKGROUNDTASKS":true,"MOZ_BING_API_CLIENTID":"no-bing-api-clientid","MOZ_BING_API_KEY":"no-bing-api-key","MOZ_BITS_DOWNLOAD":false,"MOZ_BUILDID":"20211018104554","MOZ_BUILD_APP":"browser","MOZ_CODE_COVERAGE":false,"MOZ_CRASHREPORTER":true,"MOZ_DATA_REPORTING":true,"MOZ_DEV_EDITION":false,"MOZ_GECKO_PROFILER":true,"MOZ_GLEAN_ANDROID":false,"MOZ_GOOGLE_LOCATION_SERVICE_API_KEY":"no-google-location-service-api-key","MOZ_GOOGLE_SAFEBROWSING_API_KEY":"no-google-safebrowsing-api-key","MOZ_JXL":true,"MOZ_MACBUNDLE_ID":"org.mozilla.nightly","MOZ_MACBUNDLE_NAME":"Nightly.app","MOZ_MAINTENANCE_SERVICE":false,"MOZ_MOZILLA_API_KEY":"no-mozilla-api-key","MOZ_NEW_NOTIFICATION_STORE":true,"MOZ_NEW_XULSTORE":true,"MOZ_NORMANDY":true,"MOZ_OFFICIAL_BRANDING":false,"MOZ_PLACES":true,"MOZ_REQUIRE_SIGNING":false,"MOZ_SANDBOX":true,"MOZ_SERVICES_HEALTHREPORT":true,"MOZ_SERVICES_SYNC":false,"MOZ_SWITCHBOARD":false,"MOZ_SYSTEM_NSS":false,"MOZ_TELEMETRY_ON_BY_DEFAULT":false,"MOZ_TELEMETRY_REPORTING":false,"MOZ_UNSIGNED_SCOPES":0,"MOZ_UPDATER":true,"MOZ_UPDATE_AGENT":false,"MOZ_UPDATE_CHANNEL":"default","MOZ_WEBEXT_WEBIDL_ENABLED":true,"MOZ_WEBRTC":true,"MOZ_WIDGET_GTK":true,"MOZ_WIDGET_TOOLKIT":"gtk","NIGHTLY_BUILD":true,"OMNIJAR_NAME":"omni.ja","RELEASE_OR_BETA":false,"REMOTE_SETTINGS_VERIFY_SIGNATURE":true,"SOURCE_REVISION_URL":"","TELEMETRY_PING_FORMAT_VERSION":4,"TSAN":false,"XP_UNIX":true,"isPlatformAndVersionAtLeast":{},"isPlatformAndVersionAtMost":{},"platform":"linux","unixstyle":"linux"}}
16:37:50 INFO - raptor-browsertime Info: 1635439070917 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context {"context":"content"}
16:37:50 INFO - raptor-browsertime Info: 1635439070918 Marionette DEBUG 0 -> [0,84,"Marionette:SetContext",{"value":"content"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070918 Marionette DEBUG 0 <- [1,84,null,{"value":null}]
16:37:50 INFO - raptor-browsertime Info: 1635439070918 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:50 INFO - raptor-browsertime Info: [browsertime] Executing script asyncAppConstants with privilege.
16:37:50 INFO - raptor-browsertime Info: [browsertime] Executing privileged async script
16:37:50 INFO - raptor-browsertime Info: const callback = arguments[arguments.length - 1];
16:37:50 INFO - raptor-browsertime Info: return (( async function() {
16:37:50 INFO - raptor-browsertime Info: return new Promise(resolve => {
16:37:50 INFO - raptor-browsertime Info: const { AppConstants } = ChromeUtils.import(
16:37:50 INFO - raptor-browsertime Info: 'resource://gre/modules/AppConstants.jsm'
16:37:50 INFO - raptor-browsertime Info: );
16:37:50 INFO - raptor-browsertime Info: resolve(AppConstants);
16:37:50 INFO - raptor-browsertime Info: });
16:37:50 INFO - raptor-browsertime Info: } )())
16:37:50 INFO - raptor-browsertime Info: .then((r) => callback({'result': r}))
16:37:50 INFO - raptor-browsertime Info: .catch((e) => callback({'error': e}));
16:37:50 INFO - raptor-browsertime Info:
16:37:50 INFO - raptor-browsertime Info: at SeleniumRunner.runPrivilegedAsyncScript (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:460:9)
16:37:50 INFO - raptor-browsertime Info: at SeleniumRunner.runScriptFromCategory (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:549:28)
16:37:50 INFO - raptor-browsertime Info: at SeleniumRunner.runScriptInCategory (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:650:35)
16:37:50 INFO - raptor-browsertime Info: at processTicksAndRejections (internal/process/task_queues.js:97:5)
16:37:50 INFO - raptor-browsertime Info: at async SeleniumRunner.runScripts (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/seleniumRunner.js:583:33)
16:37:50 INFO - raptor-browsertime Info: at async Measure.collect (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/command/measure.js:454:11)
16:37:50 INFO - raptor-browsertime Info: at async module.exports (/home/kimberly/Workspace/mozilla-unified/testing/raptor/browsertime/browsertime_pageload.js:51:5)
16:37:50 INFO - raptor-browsertime Info: at async /home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/run.js:7:9
16:37:50 INFO - raptor-browsertime Info: at async Iteration.run (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/iteration.js:214:9)
16:37:50 INFO - raptor-browsertime Info: at async Engine.runByScript (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/lib/core/engine/index.js:277:20)
16:37:50 INFO - raptor-browsertime Info: at async run (/home/kimberly/Workspace/mozilla-unified/tools/browsertime/node_modules/browsertime/bin/browsertime.js:71:22)
16:37:50 INFO - raptor-browsertime Info: [browsertime] Executing privileged async script asyncAppConstants
16:37:50 INFO - raptor-browsertime Info: 1635439070919 webdriver::server DEBUG -> GET /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context
16:37:50 INFO - raptor-browsertime Info: 1635439070920 Marionette DEBUG 0 -> [0,85,"Marionette:GetContext",{}]
16:37:50 INFO - raptor-browsertime Info: 1635439070921 Marionette DEBUG 0 <- [1,85,null,{"value":"content"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070921 webdriver::server DEBUG <- 200 OK {"value":"content"}
16:37:50 INFO - raptor-browsertime Info: 1635439070922 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context {"context":"chrome"}
16:37:50 INFO - raptor-browsertime Info: 1635439070923 Marionette DEBUG 0 -> [0,86,"Marionette:SetContext",{"value":"chrome"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070923 Marionette DEBUG 0 <- [1,86,null,{"value":null}]
16:37:50 INFO - raptor-browsertime Info: 1635439070924 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:50 INFO - raptor-browsertime Info: 1635439070926 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/async {"script":"\n const callback = arguments[arguments.length - 1];\n return (( async function() {\n return new Promise(resolve => {\n const { AppConstants } = ChromeUtils.import(\n 'resource://gre/modules/AppConstants.jsm'\n );\n resolve(AppConstants);\n });\n } )())\n .then((r) => callback({'result': r}))\n .catch((e) => callback({'error': e}));\n ","args":[null]}
16:37:50 INFO - raptor-browsertime Info: 1635439070926 Marionette DEBUG 0 -> [0,87,"WebDriver:ExecuteAsyncScript",{"args":[null],"script":"\n const callback = arguments[arguments.length - 1]; ... )\n .then((r) => callback({'result': r}))\n .catch((e) => callback({'error': e}));\n "}]
16:37:50 INFO - raptor-browsertime Info: 1635439070928 Marionette DEBUG 0 <- [1,87,null,{"value":{"result":{"NIGHTLY_BUILD":true,"RELEASE_OR_BETA":false,"EARLY_BETA_OR_EARLIER":true,"IS_ESR":false,"ACCE ... TION_STORE":true,"ENABLE_WEBDRIVER":true,"REMOTE_SETTINGS_VERIFY_SIGNATURE":true,"MOZ_GLEAN_ANDROID":false,"MOZ_JXL":true}}}]
16:37:50 INFO - raptor-browsertime Info: 1635439070929 webdriver::server DEBUG <- 200 OK {"value":{"result":{"ACCESSIBILITY":true,"ANDROID_PACKAGE_NAME":"org.mozilla.firefox","ASAN":false,"ASAN_REPORTER":false,"BROWSER_CHROME_URL":"chrome://browser/content/browser.xhtml","DEBUG":false,"DEBUG_JS_MODULES":"","DLL_PREFIX":"lib","DLL_SUFFIX":".so","EARLY_BETA_OR_EARLIER":true,"ENABLE_WEBDRIVER":true,"HAVE_SHELL_SERVICE":true,"HAVE_USR_LIB64_DIR":false,"IS_ESR":false,"MENUBAR_CAN_AUTOHIDE":true,"MOZILLA_OFFICIAL":false,"MOZ_ALLOW_ADDON_SIDELOAD":false,"MOZ_ANDROID_HISTORY":false,"MOZ_APP_BASENAME":"Firefox","MOZ_APP_DISPLAYNAME_DO_NOT_USE":"Nightly","MOZ_APP_NAME":"firefox","MOZ_APP_VERSION":"95.0a1","MOZ_APP_VERSION_DISPLAY":"95.0a1","MOZ_BACKGROUNDTASKS":true,"MOZ_BING_API_CLIENTID":"no-bing-api-clientid","MOZ_BING_API_KEY":"no-bing-api-key","MOZ_BITS_DOWNLOAD":false,"MOZ_BUILDID":"20211018104554","MOZ_BUILD_APP":"browser","MOZ_CODE_COVERAGE":false,"MOZ_CRASHREPORTER":true,"MOZ_DATA_REPORTING":true,"MOZ_DEV_EDITION":false,"MOZ_GECKO_PROFILER":true,"MOZ_GLEAN_ANDROID":false,"MOZ_GOOGLE_LOCATION_SERVICE_API_KEY":"no-google-location-service-api-key","MOZ_GOOGLE_SAFEBROWSING_API_KEY":"no-google-safebrowsing-api-key","MOZ_JXL":true,"MOZ_MACBUNDLE_ID":"org.mozilla.nightly","MOZ_MACBUNDLE_NAME":"Nightly.app","MOZ_MAINTENANCE_SERVICE":false,"MOZ_MOZILLA_API_KEY":"no-mozilla-api-key","MOZ_NEW_NOTIFICATION_STORE":true,"MOZ_NEW_XULSTORE":true,"MOZ_NORMANDY":true,"MOZ_OFFICIAL_BRANDING":false,"MOZ_PLACES":true,"MOZ_REQUIRE_SIGNING":false,"MOZ_SANDBOX":true,"MOZ_SERVICES_HEALTHREPORT":true,"MOZ_SERVICES_SYNC":false,"MOZ_SWITCHBOARD":false,"MOZ_SYSTEM_NSS":false,"MOZ_TELEMETRY_ON_BY_DEFAULT":false,"MOZ_TELEMETRY_REPORTING":false,"MOZ_UNSIGNED_SCOPES":0,"MOZ_UPDATER":true,"MOZ_UPDATE_AGENT":false,"MOZ_UPDATE_CHANNEL":"default","MOZ_WEBEXT_WEBIDL_ENABLED":true,"MOZ_WEBRTC":true,"MOZ_WIDGET_GTK":true,"MOZ_WIDGET_TOOLKIT":"gtk","NIGHTLY_BUILD":true,"OMNIJAR_NAME":"omni.ja","RELEASE_OR_BETA":false,"REMOTE_SETTINGS_VERIFY_SIGNATURE":true,"SOURCE_REVISION_URL":"","TELEMETRY_PING_FORMAT_VERSION":4,"TSAN":false,"XP_UNIX":true,"isPlatformAndVersionAtLeast":{},"isPlatformAndVersionAtMost":{},"platform":"linux","unixstyle":"linux"}}}
16:37:50 INFO - raptor-browsertime Info: 1635439070930 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/moz/context {"context":"content"}
16:37:50 INFO - raptor-browsertime Info: 1635439070931 Marionette DEBUG 0 -> [0,88,"Marionette:SetContext",{"value":"content"}]
16:37:50 INFO - raptor-browsertime Info: 1635439070931 Marionette DEBUG 0 <- [1,88,null,{"value":null}]
16:37:50 INFO - raptor-browsertime Info: 1635439070931 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:50 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:50 INFO - raptor-browsertime Info: // simple CPU benchmarking
16:37:50 INFO - raptor-browsertime Info: // following https://github.com/wikimedia/mediawiki-extensions-NavigationTiming/blob/master/modules/ext.navigationTiming.js
16:37:50 INFO - raptor-browsertime Info: // except not in worker to avoid CSP issues.
16:37:50 INFO - raptor-browsertime Info: const amount = 100000000;
16:37:50 INFO - raptor-browsertime Info: const startTime = performance.now();
16:37:50 INFO - raptor-browsertime Info: for ( let i = amount; i > 0; i-- ) {
16:37:50 INFO - raptor-browsertime Info: // empty
16:37:50 INFO - raptor-browsertime Info: }
16:37:50 INFO - raptor-browsertime Info: return Math.round( performance.now() - startTime );
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info: 1635439070932 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // simple CPU benchmarking\n // following https://github.com/wikimedia/mediawiki-extensions-NavigationTiming/blob/master/modules/ext.navigationTiming.js\n // except not in worker to avoid CSP issues.\n const amount = 100000000;\n const startTime = performance.now();\n for ( let i = amount; i > 0; i-- ) {\n // empty\n }\n return Math.round( performance.now() - startTime );\n })();","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439070933 Marionette DEBUG 0 -> [0,89,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // simple CPU benchmarking\n // followi ... ( let i = amount; i > 0; i-- ) {\n // empty\n }\n return Math.round( performance.now() - startTime );\n })();"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071091 Marionette DEBUG 0 <- [1,89,null,{"value":107}]
16:37:51 INFO - raptor-browsertime Info: 1635439071091 webdriver::server DEBUG <- 200 OK {"value":107}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: return navigator.userAgent;
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071093 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n return navigator.userAgent;\n})();\n","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071094 Marionette DEBUG 0 -> [0,90,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n return navigator.userAgent;\n})();\n"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071096 Marionette DEBUG 0 <- [1,90,null,{"value":"Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071096 webdriver::server DEBUG <- 200 OK {"value":"Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0"}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: const w = window,
16:37:51 INFO - raptor-browsertime Info: d = document,
16:37:51 INFO - raptor-browsertime Info: e = d.documentElement,
16:37:51 INFO - raptor-browsertime Info: g = d.getElementsByTagName('body')[0],
16:37:51 INFO - raptor-browsertime Info: x = w.innerWidth || e.clientWidth || g.clientWidth,
16:37:51 INFO - raptor-browsertime Info: y = w.innerHeight || e.clientHeight || g.clientHeight;
16:37:51 INFO - raptor-browsertime Info: return x + 'x' + y;
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071098 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const w = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n x = w.innerWidth || e.clientWidth || g.clientWidth,\n y = w.innerHeight || e.clientHeight || g.clientHeight;\n return x + 'x' + y;\n})();\n","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071099 Marionette DEBUG 0 -> [0,91,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const w = window,\n d = document,\n e ... .clientWidth || g.clientWidth,\n y = w.innerHeight || e.clientHeight || g.clientHeight;\n return x + 'x' + y;\n})();\n"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071101 Marionette DEBUG 0 <- [1,91,null,{"value":"1024x683"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071101 webdriver::server DEBUG <- 200 OK {"value":"1024x683"}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:51 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('layout-shift') === -1) {
16:37:51 INFO - raptor-browsertime Info: return;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: // See https://web.dev/layout-instability-api
16:37:51 INFO - raptor-browsertime Info: // https://github.com/mmocny/web-vitals/wiki/Snippets-for-LSN-using-PerformanceObserver#max-session-gap1s-limit5s
16:37:51 INFO - raptor-browsertime Info: let max = 0;
16:37:51 INFO - raptor-browsertime Info: let curr = 0;
16:37:51 INFO - raptor-browsertime Info: let firstTs = Number.NEGATIVE_INFINITY;
16:37:51 INFO - raptor-browsertime Info: let prevTs = Number.NEGATIVE_INFINITY;
16:37:51 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:51 INFO - raptor-browsertime Info: observer.observe({ type: 'layout-shift', buffered: true });
16:37:51 INFO - raptor-browsertime Info: const list = observer.takeRecords();
16:37:51 INFO - raptor-browsertime Info: for (let entry of list) {
16:37:51 INFO - raptor-browsertime Info: if (entry.hadRecentInput) {
16:37:51 INFO - raptor-browsertime Info: continue;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: if (entry.startTime - firstTs > 5000 || entry.startTime - prevTs > 1000) {
16:37:51 INFO - raptor-browsertime Info: firstTs = entry.startTime;
16:37:51 INFO - raptor-browsertime Info: curr = 0;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: prevTs = entry.startTime;
16:37:51 INFO - raptor-browsertime Info: curr += entry.value;
16:37:51 INFO - raptor-browsertime Info: max = Math.max(max, curr);
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: return max;
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071103 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('layout-shift') === -1) {\n return;\n }\n // See https://web.dev/layout-instability-api\n // https://github.com/mmocny/web-vitals/wiki/Snippets-for-LSN-using-PerformanceObserver#max-session-gap1s-limit5s\n let max = 0;\n let curr = 0; \n let firstTs = Number.NEGATIVE_INFINITY;\n let prevTs = Number.NEGATIVE_INFINITY;\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: 'layout-shift', buffered: true });\n const list = observer.takeRecords();\n for (let entry of list) {\n if (entry.hadRecentInput) {\n continue;\n } \n if (entry.startTime - firstTs > 5000 || entry.startTime - prevTs > 1000) {\n firstTs = entry.startTime;\n curr = 0;\n }\n prevTs = entry.startTime;\n curr += entry.value;\n max = Math.max(max, curr);\n }\n return max;\n})();\n","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071104 Marionette DEBUG 0 -> [0,92,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const supported = PerformanceObserver.suppor ... }\n prevTs = entry.startTime;\n curr += entry.value;\n max = Math.max(max, curr);\n }\n return max;\n})();\n"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071106 Marionette DEBUG 0 <- [1,92,null,{"value":null}]
16:37:51 INFO - raptor-browsertime Info: 1635439071107 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: // https://gist.github.com/karlgroves/7544592
16:37:51 INFO - raptor-browsertime Info: function getDomPath(el) {
16:37:51 INFO - raptor-browsertime Info: const stack = [];
16:37:51 INFO - raptor-browsertime Info: while ( el.parentNode != null ) {
16:37:51 INFO - raptor-browsertime Info: let sibCount = 0;
16:37:51 INFO - raptor-browsertime Info: let sibIndex = 0;
16:37:51 INFO - raptor-browsertime Info: for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {
16:37:51 INFO - raptor-browsertime Info: let sib = el.parentNode.childNodes[i];
16:37:51 INFO - raptor-browsertime Info: if ( sib.nodeName == el.nodeName ) {
16:37:51 INFO - raptor-browsertime Info: if ( sib === el ) {
16:37:51 INFO - raptor-browsertime Info: sibIndex = sibCount;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: sibCount++;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {
16:37:51 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);
16:37:51 INFO - raptor-browsertime Info: } else if ( sibCount > 1 ) {
16:37:51 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');
16:37:51 INFO - raptor-browsertime Info: } else {
16:37:51 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase());
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: el = el.parentNode;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: return stack.slice(1);
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:51 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('layout-shift') === -1) {
16:37:51 INFO - raptor-browsertime Info: return;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: // See https://web.dev/layout-instability-api
16:37:51 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:51 INFO - raptor-browsertime Info: let max = 0;
16:37:51 INFO - raptor-browsertime Info: let current = [];
16:37:51 INFO - raptor-browsertime Info: let curr = 0;
16:37:51 INFO - raptor-browsertime Info: let firstTs = Number.NEGATIVE_INFINITY;
16:37:51 INFO - raptor-browsertime Info: let prevTs = Number.NEGATIVE_INFINITY;
16:37:51 INFO - raptor-browsertime Info: observer.observe({ type: 'layout-shift', buffered: true });
16:37:51 INFO - raptor-browsertime Info: const list = observer.takeRecords();
16:37:51 INFO - raptor-browsertime Info: const maxSessionGap1sLimit5s = {};
16:37:51 INFO - raptor-browsertime Info: for (let entry of list) {
16:37:51 INFO - raptor-browsertime Info: if (entry.hadRecentInput) {
16:37:51 INFO - raptor-browsertime Info: continue;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: if (entry.startTime - firstTs > 5000 || entry.startTime - prevTs > 1000) {
16:37:51 INFO - raptor-browsertime Info: firstTs = entry.startTime;
16:37:51 INFO - raptor-browsertime Info: curr = 0;
16:37:51 INFO - raptor-browsertime Info: maxSessionGap1sLimit5s[max] = [...current];
16:37:51 INFO - raptor-browsertime Info: current = [];
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: prevTs = entry.startTime;
16:37:51 INFO - raptor-browsertime Info: curr += entry.value;
16:37:51 INFO - raptor-browsertime Info: max = Math.max(max, curr);
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: const scoreAndHTML = {score: entry.value, domPath: [], startTime: entry.startTime, tags: []};
16:37:51 INFO - raptor-browsertime Info: for (let source of entry.sources) {
16:37:51 INFO - raptor-browsertime Info: try {
16:37:51 INFO - raptor-browsertime Info: if (source.node) {
16:37:51 INFO - raptor-browsertime Info: const html = getDomPath(source.node);
16:37:51 INFO - raptor-browsertime Info: scoreAndHTML.domPath.push(html.join( ' > '));
16:37:51 INFO - raptor-browsertime Info: const tag = source.node.cloneNode(false);
16:37:51 INFO - raptor-browsertime Info: scoreAndHTML.tags.push(tag.outerHTML);
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: catch(e) {}
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: current.push(scoreAndHTML);
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: return maxSessionGap1sLimit5s[max] ? maxSessionGap1sLimit5s[max] : current;
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071108 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://gist.github.com/karlgroves/7544592\n function getDomPath(el) {\n const stack = [];\n while ( el.parentNode != null ) {\n let sibCount = 0;\n let sibIndex = 0;\n for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {\n let sib = el.parentNode.childNodes[i];\n if ( sib.nodeName == el.nodeName ) {\n if ( sib === el ) {\n sibIndex = sibCount;\n }\n sibCount++;\n }\n }\n if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {\n stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);\n } else if ( sibCount > 1 ) {\n stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');\n } else {\n stack.unshift(el.nodeName.toLowerCase());\n }\n el = el.parentNode;\n }\n \n return stack.slice(1);\n }\n\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('layout-shift') === -1) {\n return;\n }\n // See https://web.dev/layout-instability-api\n const observer = new PerformanceObserver(list => {});\n let max = 0; \n let current = []; \n let curr = 0; \n let firstTs = Number.NEGATIVE_INFINITY; \n let prevTs = Number.NEGATIVE_INFINITY;\n observer.observe({ type: 'layout-shift', buffered: true });\n const list = observer.takeRecords();\n const maxSessionGap1sLimit5s = {};\n for (let entry of list) {\n if (entry.hadRecentInput) {\n continue;\n } \n\n if (entry.startTime - firstTs > 5000 || entry.startTime - prevTs > 1000) {\n firstTs = entry.startTime;\n curr = 0;\n maxSessionGap1sLimit5s[max] = [...current];\n current = []; \n }\n prevTs = entry.startTime;\n curr += entry.value;\n max = Math.max(max, curr);\n\n const scoreAndHTML = {score: entry.value, domPath: [], startTime: entry.startTime, tags: []};\n for (let source of entry.sources) {\n try {\n if (source.node) {\n const html = getDomPath(source.node);\n scoreAndHTML.domPath.push(html.join( ' > '));\n const tag = source.node.cloneNode(false);\n scoreAndHTML.tags.push(tag.outerHTML);\n }\n }\n catch(e) {}\n }\n current.push(scoreAndHTML);\n }\n return maxSessionGap1sLimit5s[max] ? maxSessionGap1sLimit5s[max] : current;\n })();\n ","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071109 Marionette DEBUG 0 -> [0,93,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://gist.github.com/karlgroves/754459 ... ush(scoreAndHTML);\n }\n return maxSessionGap1sLimit5s[max] ? maxSessionGap1sLimit5s[max] : current;\n })();\n "}]
16:37:51 INFO - raptor-browsertime Info: 1635439071148 Marionette DEBUG 0 <- [1,93,null,{"value":null}]
16:37:51 INFO - raptor-browsertime Info: 1635439071148 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: function docHeight(doc) {
16:37:51 INFO - raptor-browsertime Info: const body = doc.body,
16:37:51 INFO - raptor-browsertime Info: docelem = doc.documentElement;
16:37:51 INFO - raptor-browsertime Info: return Math.max(
16:37:51 INFO - raptor-browsertime Info: body.scrollHeight,
16:37:51 INFO - raptor-browsertime Info: body.offsetHeight,
16:37:51 INFO - raptor-browsertime Info: docelem.clientHeight,
16:37:51 INFO - raptor-browsertime Info: docelem.scrollHeight,
16:37:51 INFO - raptor-browsertime Info: docelem.offsetHeight
16:37:51 INFO - raptor-browsertime Info: );
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: return docHeight(document);
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071150 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n function docHeight(doc) {\n const body = doc.body,\n docelem = doc.documentElement;\n return Math.max(\n body.scrollHeight,\n body.offsetHeight,\n docelem.clientHeight,\n docelem.scrollHeight,\n docelem.offsetHeight\n );\n }\n\n return docHeight(document);\n})();\n","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071151 Marionette DEBUG 0 -> [0,94,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n function docHeight(doc) {\n const body = ... entHeight,\n docelem.scrollHeight,\n docelem.offsetHeight\n );\n }\n\n return docHeight(document);\n})();\n"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071153 Marionette DEBUG 0 <- [1,94,null,{"value":24980}]
16:37:51 INFO - raptor-browsertime Info: 1635439071154 webdriver::server DEBUG <- 200 OK {"value":24980}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: const t = window.performance.getEntriesByType('navigation')[0];
16:37:51 INFO - raptor-browsertime Info: // Safari doesnt support getEntriesByType('navigation')
16:37:51 INFO - raptor-browsertime Info: if (t) {
16:37:51 INFO - raptor-browsertime Info: return {
16:37:51 INFO - raptor-browsertime Info: decodedBodySize: t.decodedBodySize,
16:37:51 INFO - raptor-browsertime Info: encodedBodySize: t.encodedBodySize,
16:37:51 INFO - raptor-browsertime Info: transferSize: t.transferSize
16:37:51 INFO - raptor-browsertime Info: };
16:37:51 INFO - raptor-browsertime Info: } else {
16:37:51 INFO - raptor-browsertime Info: return;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071155 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const t = window.performance.getEntriesByType('navigation')[0];\n // Safari doesnt support getEntriesByType('navigation')\n if (t) {\n return {\n decodedBodySize: t.decodedBodySize,\n encodedBodySize: t.encodedBodySize,\n transferSize: t.transferSize\n };\n } else {\n return;\n }\n})();\n","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071156 Marionette DEBUG 0 -> [0,95,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const t = window.performance.getEntriesByTyp ... encodedBodySize: t.encodedBodySize,\n transferSize: t.transferSize\n };\n } else {\n return;\n }\n})();\n"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071158 Marionette DEBUG 0 <- [1,95,null,{"value":{"decodedBodySize":923783,"encodedBodySize":923783,"transferSize":925380}}]
16:37:51 INFO - raptor-browsertime Info: 1635439071158 webdriver::server DEBUG <- 200 OK {"value":{"decodedBodySize":923783,"encodedBodySize":923783,"transferSize":925380}}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: // https://github.com/sitespeedio/browsertime/issues/979
16:37:51 INFO - raptor-browsertime Info: if (typeof document.title === "string") {
16:37:51 INFO - raptor-browsertime Info: return document.title;
16:37:51 INFO - raptor-browsertime Info: } else {
16:37:51 INFO - raptor-browsertime Info: const titles = document.getElementsByTagName("title");
16:37:51 INFO - raptor-browsertime Info: if (titles.length > 0) {
16:37:51 INFO - raptor-browsertime Info: return titles[0].innerHTML;
16:37:51 INFO - raptor-browsertime Info: } else return "";
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071160 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://github.com/sitespeedio/browsertime/issues/979\n if (typeof document.title === \"string\") {\n return document.title;\n } else {\n const titles = document.getElementsByTagName(\"title\");\n if (titles.length > 0) {\n return titles[0].innerHTML;\n } else return \"\";\n }\n})();\n","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071160 Marionette DEBUG 0 -> [0,96,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://github.com/sitespeedio/browsertim ... agName(\"title\");\n if (titles.length > 0) {\n return titles[0].innerHTML;\n } else return \"\";\n }\n})();\n"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071165 Marionette DEBUG 0 <- [1,96,null,{"value":"We posed as 100 Senators to run ads on Facebook. Facebook approved all of them. : technology"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071165 webdriver::server DEBUG <- 200 OK {"value":"We posed as 100 Senators to run ads on Facebook. Facebook approved all of them. : technology"}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: function docWidth(doc) {
16:37:51 INFO - raptor-browsertime Info: const body = doc.body,
16:37:51 INFO - raptor-browsertime Info: docelem = doc.documentElement;
16:37:51 INFO - raptor-browsertime Info: return Math.max(
16:37:51 INFO - raptor-browsertime Info: body.scrollWidth,
16:37:51 INFO - raptor-browsertime Info: body.offsetWidth,
16:37:51 INFO - raptor-browsertime Info: docelem.clientWidth,
16:37:51 INFO - raptor-browsertime Info: docelem.scrollWidth,
16:37:51 INFO - raptor-browsertime Info: docelem.offsetWidth
16:37:51 INFO - raptor-browsertime Info: );
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: return docWidth(document);
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071167 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n function docWidth(doc) {\n const body = doc.body,\n docelem = doc.documentElement;\n return Math.max(\n body.scrollWidth,\n body.offsetWidth,\n docelem.clientWidth,\n docelem.scrollWidth,\n docelem.offsetWidth\n );\n }\n\n return docWidth(document);\n})();\n","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071167 Marionette DEBUG 0 -> [0,97,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n function docWidth(doc) {\n const body = d ... .clientWidth,\n docelem.scrollWidth,\n docelem.offsetWidth\n );\n }\n\n return docWidth(document);\n})();\n"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071169 Marionette DEBUG 0 <- [1,97,null,{"value":1012}]
16:37:51 INFO - raptor-browsertime Info: 1635439071169 webdriver::server DEBUG <- 200 OK {"value":1012}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: "use strict";
16:37:51 INFO - raptor-browsertime Info: return document.getElementsByTagName("*").length;
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071171 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n \"use strict\";\n return document.getElementsByTagName(\"*\").length;\n})();\n","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071172 Marionette DEBUG 0 -> [0,98,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n \"use strict\";\n return document.getElementsByTagName(\"*\").length;\n})();\n"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071174 Marionette DEBUG 0 <- [1,98,null,{"value":8762}]
16:37:51 INFO - raptor-browsertime Info: 1635439071174 webdriver::server DEBUG <- 200 OK {"value":8762}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: 'use strict';
16:37:51 INFO - raptor-browsertime Info: const description = document.querySelector('meta[name="generator"]');
16:37:51 INFO - raptor-browsertime Info: if (description) {
16:37:51 INFO - raptor-browsertime Info: return description.getAttribute('content');
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info: 1635439071176 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n 'use strict';\n const description = document.querySelector('meta[name=\"generator\"]');\n if (description) {\n return description.getAttribute('content');\n }\n})();","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071176 Marionette DEBUG 0 -> [0,99,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n 'use strict';\n const description = documen ... rySelector('meta[name=\"generator\"]');\n if (description) {\n return description.getAttribute('content');\n }\n})();"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071178 Marionette DEBUG 0 <- [1,99,null,{"value":null}]
16:37:51 INFO - raptor-browsertime Info: 1635439071179 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: // https://gist.github.com/karlgroves/7544592
16:37:51 INFO - raptor-browsertime Info: function getDomPath(el) {
16:37:51 INFO - raptor-browsertime Info: const stack = [];
16:37:51 INFO - raptor-browsertime Info: while ( el.parentNode != null ) {
16:37:51 INFO - raptor-browsertime Info: let sibCount = 0;
16:37:51 INFO - raptor-browsertime Info: let sibIndex = 0;
16:37:51 INFO - raptor-browsertime Info: for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {
16:37:51 INFO - raptor-browsertime Info: let sib = el.parentNode.childNodes[i];
16:37:51 INFO - raptor-browsertime Info: if ( sib.nodeName == el.nodeName ) {
16:37:51 INFO - raptor-browsertime Info: if ( sib === el ) {
16:37:51 INFO - raptor-browsertime Info: sibIndex = sibCount;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: sibCount++;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {
16:37:51 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);
16:37:51 INFO - raptor-browsertime Info: } else if ( sibCount > 1 ) {
16:37:51 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');
16:37:51 INFO - raptor-browsertime Info: } else {
16:37:51 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase());
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: el = el.parentNode;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: return stack.slice(1);
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:51 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('largest-contentful-paint') === -1) {
16:37:51 INFO - raptor-browsertime Info: return;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:51 INFO - raptor-browsertime Info: observer.observe({ type: 'largest-contentful-paint', buffered: true });
16:37:51 INFO - raptor-browsertime Info: const entries = observer.takeRecords();
16:37:51 INFO - raptor-browsertime Info: const candidates = [];
16:37:51 INFO - raptor-browsertime Info: for (let entry of entries) {
16:37:51 INFO - raptor-browsertime Info: const element = entry.element;
16:37:51 INFO - raptor-browsertime Info: candidates.push(
16:37:51 INFO - raptor-browsertime Info: {
16:37:51 INFO - raptor-browsertime Info: duration: entry.duration,
16:37:51 INFO - raptor-browsertime Info: id: entry.id,
16:37:51 INFO - raptor-browsertime Info: url: entry.url,
16:37:51 INFO - raptor-browsertime Info: loadTime: Number(entry.loadTime.toFixed(0)),
16:37:51 INFO - raptor-browsertime Info: renderTime: Number(Math.max(entry.renderTime,entry.loadTime).toFixed(0)),
16:37:51 INFO - raptor-browsertime Info: size: entry.size,
16:37:51 INFO - raptor-browsertime Info: startTime: Number(entry.startTime.toFixed(0)),
16:37:51 INFO - raptor-browsertime Info: tagName: element ? element.tagName : '',
16:37:51 INFO - raptor-browsertime Info: className: element ? element.className : '',
16:37:51 INFO - raptor-browsertime Info: domPath: element ? (getDomPath(element)).join( ' > ') : '',
16:37:51 INFO - raptor-browsertime Info: tag: element ? (element.cloneNode(false)).outerHTML : ''
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: )
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: return candidates;
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071180 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://gist.github.com/karlgroves/7544592\n function getDomPath(el) {\n const stack = [];\n while ( el.parentNode != null ) {\n let sibCount = 0;\n let sibIndex = 0;\n for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {\n let sib = el.parentNode.childNodes[i];\n if ( sib.nodeName == el.nodeName ) {\n if ( sib === el ) {\n sibIndex = sibCount;\n }\n sibCount++;\n }\n }\n if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {\n stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);\n } else if ( sibCount > 1 ) {\n stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');\n } else {\n stack.unshift(el.nodeName.toLowerCase());\n }\n el = el.parentNode;\n }\n \n return stack.slice(1);\n }\n\n\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('largest-contentful-paint') === -1) {\n return;\n }\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: 'largest-contentful-paint', buffered: true });\n const entries = observer.takeRecords();\n const candidates = [];\n for (let entry of entries) {\n const element = entry.element; \n candidates.push(\n {\n duration: entry.duration,\n id: entry.id,\n url: entry.url,\n loadTime: Number(entry.loadTime.toFixed(0)),\n renderTime: Number(Math.max(entry.renderTime,entry.loadTime).toFixed(0)),\n size: entry.size,\n startTime: Number(entry.startTime.toFixed(0)),\n tagName: element ? element.tagName : '',\n className: element ? element.className : '',\n domPath: element ? (getDomPath(element)).join( ' > ') : '',\n tag: element ? (element.cloneNode(false)).outerHTML : ''\n }\n\n )\n }\n return candidates;\n })();\n ","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071181 Marionette DEBUG 0 -> [0,100,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://gist.github.com/karlgroves/754 ... ment ? (element.cloneNode(false)).outerHTML : ''\n }\n\n )\n }\n return candidates;\n })();\n "}]
16:37:51 INFO - raptor-browsertime Info: 1635439071233 Marionette DEBUG 0 <- [1,100,null,{"value":null}]
16:37:51 INFO - raptor-browsertime Info: 1635439071233 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function(minLength) {
16:37:51 INFO - raptor-browsertime Info: if (window.__bt_longtask) {
16:37:51 INFO - raptor-browsertime Info: const cleaned = [];
16:37:51 INFO - raptor-browsertime Info: for (let event of window.__bt_longtask.e) {
16:37:51 INFO - raptor-browsertime Info: if (event.duration >= minLength) {
16:37:51 INFO - raptor-browsertime Info: const e = {};
16:37:51 INFO - raptor-browsertime Info: e.duration = event.duration;
16:37:51 INFO - raptor-browsertime Info: e.name = event.name;
16:37:51 INFO - raptor-browsertime Info: e.startTime = event.startTime;
16:37:51 INFO - raptor-browsertime Info: e.attribution = [];
16:37:51 INFO - raptor-browsertime Info: for (let at of event.attribution) {
16:37:51 INFO - raptor-browsertime Info: const a = {};
16:37:51 INFO - raptor-browsertime Info: a.containerId = at.containerId;
16:37:51 INFO - raptor-browsertime Info: a.containerName = at.containerName;
16:37:51 INFO - raptor-browsertime Info: a.containerSrc = at.containerSrc;
16:37:51 INFO - raptor-browsertime Info: a.containerType = at.containerType;
16:37:51 INFO - raptor-browsertime Info: e.attribution.push(a);
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: cleaned.push(e);
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: window.__bt_longtask.e = [];
16:37:51 INFO - raptor-browsertime Info: return cleaned;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: })(arguments[arguments.length - 1]);
16:37:51 INFO - raptor-browsertime Info: 1635439071235 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function(minLength) {\n if (window.__bt_longtask) {\n const cleaned = [];\n for (let event of window.__bt_longtask.e) {\n if (event.duration >= minLength) {\n const e = {};\n e.duration = event.duration;\n e.name = event.name;\n e.startTime = event.startTime;\n e.attribution = [];\n for (let at of event.attribution) {\n const a = {};\n a.containerId = at.containerId;\n a.containerName = at.containerName;\n a.containerSrc = at.containerSrc;\n a.containerType = at.containerType;\n e.attribution.push(a);\n }\n cleaned.push(e);\n }\n }\n window.__bt_longtask.e = [];\n return cleaned;\n }\n})(arguments[arguments.length - 1]);","args":[50]}
16:37:51 INFO - raptor-browsertime Info: 1635439071236 Marionette DEBUG 0 -> [0,101,"WebDriver:ExecuteScript",{"args":[50],"script":"return (function(minLength) {\n if (window.__bt_longtask) {\n con ... push(e);\n }\n }\n window.__bt_longtask.e = [];\n return cleaned;\n }\n})(arguments[arguments.length - 1]);"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071238 Marionette DEBUG 0 <- [1,101,null,{"value":null}]
16:37:51 INFO - raptor-browsertime Info: 1635439071238 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:51 INFO - raptor-browsertime Info: if (window.performance.timeOrigin) {
16:37:51 INFO - raptor-browsertime Info: return Number(window.performance.timeOrigin.toFixed(0));
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: if (window.performance.timing.navigationStart) {
16:37:51 INFO - raptor-browsertime Info: return Number(window.performance.timing.navigationStart.toFixed(0));
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: return undefined;
16:37:51 INFO - raptor-browsertime Info: })();
16:37:51 INFO - raptor-browsertime Info:
16:37:51 INFO - raptor-browsertime Info: 1635439071240 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n if (window.performance.timeOrigin) {\n return Number(window.performance.timeOrigin.toFixed(0));\n }\n if (window.performance.timing.navigationStart) {\n return Number(window.performance.timing.navigationStart.toFixed(0));\n }\n return undefined;\n})();\n","args":[null]}
16:37:51 INFO - raptor-browsertime Info: 1635439071241 Marionette DEBUG 0 -> [0,102,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n if (window.performance.timeOrigin) {\n ... ationStart) {\n return Number(window.performance.timing.navigationStart.toFixed(0));\n }\n return undefined;\n})();\n"}]
16:37:51 INFO - raptor-browsertime Info: 1635439071245 Marionette DEBUG 0 <- [1,102,null,{"value":1635439063824}]
16:37:51 INFO - raptor-browsertime Info: 1635439071245 webdriver::server DEBUG <- 200 OK {"value":1635439063824}
16:37:51 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:51 INFO - raptor-browsertime Info: const t = window.performance.getEntriesByType('navigation')[0];
16:37:51 INFO - raptor-browsertime Info: // Not supported in Safari
16:37:51 INFO - raptor-browsertime Info: if (t) {
16:37:51 INFO - raptor-browsertime Info: return t.nextHopProtocol;
16:37:51 INFO - raptor-browsertime Info: }
16:37:51 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071247 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const t = window.performance.getEntriesByType('navigation')[0];\n // Not supported in Safari\n if (t) {\n return t.nextHopProtocol;\n }\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071247 Marionette DEBUG 0 -> [0,103,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const t = window.performance.getEntriesByType('navigation')[0];\n // Not supported in Safari\n if (t) {\n return t.nextHopProtocol;\n }\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071249 Marionette DEBUG 0 <- [1,103,null,{"value":"h2"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071249 webdriver::server DEBUG <- 200 OK {"value":"h2"}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: const resources = window.performance.getEntriesByType('resource');
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: let resourceDuration = 0;
16:37:53 INFO - raptor-browsertime Info: for (let i = 0; i < resources.length; i++) {
16:37:53 INFO - raptor-browsertime Info: resourceDuration += resources[i].duration;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: return {
16:37:53 INFO - raptor-browsertime Info: count: Number(resources.length),
16:37:53 INFO - raptor-browsertime Info: duration: Number(resourceDuration)
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071250 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const resources = window.performance.getEntriesByType('resource');\n\n let resourceDuration = 0;\n for (let i = 0; i < resources.length; i++) {\n resourceDuration += resources[i].duration;\n }\n\n return {\n count: Number(resources.length),\n duration: Number(resourceDuration)\n }\n})();\n\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071251 Marionette DEBUG 0 -> [0,104,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const resources = window.performance.getEnt ... duration;\n }\n\n return {\n count: Number(resources.length),\n duration: Number(resourceDuration)\n }\n})();\n\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071253 Marionette DEBUG 0 <- [1,104,null,{"value":{"count":69,"duration":9762.279999999999}}]
16:37:53 INFO - raptor-browsertime Info: 1635439071253 webdriver::server DEBUG <- 200 OK {"value":{"count":69,"duration":9762.28}}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: return document.documentElement.scrollWidth <= window.innerWidth;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071254 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n return document.documentElement.scrollWidth <= window.innerWidth;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071255 Marionette DEBUG 0 -> [0,105,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n return document.documentElement.scrollWidth <= window.innerWidth;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071256 Marionette DEBUG 0 <- [1,105,null,{"value":true}]
16:37:53 INFO - raptor-browsertime Info: 1635439071257 webdriver::server DEBUG <- 200 OK {"value":true}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: // https://github.com/sitespeedio/browsertime/issues/979#issuecomment-549107350
16:37:53 INFO - raptor-browsertime Info: if (typeof document.URL === "string") {
16:37:53 INFO - raptor-browsertime Info: return document.URL;
16:37:53 INFO - raptor-browsertime Info: } else {
16:37:53 INFO - raptor-browsertime Info: return window.location.href;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071258 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://github.com/sitespeedio/browsertime/issues/979#issuecomment-549107350\n if (typeof document.URL === \"string\") {\n return document.URL;\n } else {\n return window.location.href;\n }\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071259 Marionette DEBUG 0 -> [0,106,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://github.com/sitespeedio/browserti ... ypeof document.URL === \"string\") {\n return document.URL;\n } else {\n return window.location.href;\n }\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071261 Marionette DEBUG 0 <- [1,106,null,{"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071261 webdriver::server DEBUG <- 200 OK {"value":"https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/"}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function(custom) {
16:37:53 INFO - raptor-browsertime Info: /**
16:37:53 INFO - raptor-browsertime Info: * Collect visual elements from a page and feed the size back in the
16:37:53 INFO - raptor-browsertime Info: * format for Visual Metrics.
16:37:53 INFO - raptor-browsertime Info: */
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: const elementByType = {};
16:37:53 INFO - raptor-browsertime Info: const areaByType = {};
16:37:53 INFO - raptor-browsertime Info: const imageTags = [].slice.call(document.body.getElementsByTagName('img'));
16:37:53 INFO - raptor-browsertime Info: const h1Tags = [].slice.call(document.body.getElementsByTagName('h1'));
16:37:53 INFO - raptor-browsertime Info: const elementTimings = [].slice.call(
16:37:53 INFO - raptor-browsertime Info: document.querySelectorAll('[elementtiming]')
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: // When we feed options from the CLI it can be a String or an
16:37:53 INFO - raptor-browsertime Info: // Array with Strings. Make it easy to treat everything the same.
16:37:53 INFO - raptor-browsertime Info: function toArray(arrayLike) {
16:37:53 INFO - raptor-browsertime Info: if (arrayLike === undefined || arrayLike === null) {
16:37:53 INFO - raptor-browsertime Info: return [];
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: if (Array.isArray(arrayLike)) {
16:37:53 INFO - raptor-browsertime Info: return arrayLike;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: return [arrayLike];
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: function isLargest(type, area) {
16:37:53 INFO - raptor-browsertime Info: if (!areaByType[type]) {
16:37:53 INFO - raptor-browsertime Info: return true;
16:37:53 INFO - raptor-browsertime Info: } else return areaByType[type] < area;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: function isElementPartlyInViewportAndVisible(el) {
16:37:53 INFO - raptor-browsertime Info: const rect = el.getBoundingClientRect();
16:37:53 INFO - raptor-browsertime Info: return !(
16:37:53 INFO - raptor-browsertime Info: rect.bottom < 0 ||
16:37:53 INFO - raptor-browsertime Info: rect.right < 0 ||
16:37:53 INFO - raptor-browsertime Info: rect.left > window.innerWidth ||
16:37:53 INFO - raptor-browsertime Info: rect.top > window.innerHeight ||
16:37:53 INFO - raptor-browsertime Info: rect.height === 0
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: function visibleArea(el) {
16:37:53 INFO - raptor-browsertime Info: const rect = el.getBoundingClientRect();
16:37:53 INFO - raptor-browsertime Info: const viewportWidth = document.documentElement.clientWidth;
16:37:53 INFO - raptor-browsertime Info: const viewportHeight = document.documentElement.clientHeight;
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: // TODO make this more readable
16:37:53 INFO - raptor-browsertime Info: const width =
16:37:53 INFO - raptor-browsertime Info: rect.left < 0
16:37:53 INFO - raptor-browsertime Info: ? rect.width + rect.left
16:37:53 INFO - raptor-browsertime Info: : viewportWidth < rect.left + rect.width
16:37:53 INFO - raptor-browsertime Info: ? viewportWidth - rect.left
16:37:53 INFO - raptor-browsertime Info: : rect.width;
16:37:53 INFO - raptor-browsertime Info: const height =
16:37:53 INFO - raptor-browsertime Info: rect.top < 0
16:37:53 INFO - raptor-browsertime Info: ? rect.height + rect.top
16:37:53 INFO - raptor-browsertime Info: : viewportHeight < rect.top + rect.height
16:37:53 INFO - raptor-browsertime Info: ? viewportHeight - rect.top
16:37:53 INFO - raptor-browsertime Info: : rect.height;
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: return width * height;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: function keepLargestElementByType(type, element) {
16:37:53 INFO - raptor-browsertime Info: const area = visibleArea(element);
16:37:53 INFO - raptor-browsertime Info: if (isLargest(type, area)) {
16:37:53 INFO - raptor-browsertime Info: const filename = element.src
16:37:53 INFO - raptor-browsertime Info: ? element.src.substring(element.src.lastIndexOf('/') + 1)
16:37:53 INFO - raptor-browsertime Info: : undefined;
16:37:53 INFO - raptor-browsertime Info: const rect = element.getBoundingClientRect();
16:37:53 INFO - raptor-browsertime Info: const tag = element.cloneNode(false);
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: elementByType[type] = {
16:37:53 INFO - raptor-browsertime Info: name: type,
16:37:53 INFO - raptor-browsertime Info: x: Math.round(rect.left),
16:37:53 INFO - raptor-browsertime Info: y: Math.round(rect.top),
16:37:53 INFO - raptor-browsertime Info: width: Math.round(rect.width),
16:37:53 INFO - raptor-browsertime Info: height: Math.round(rect.height),
16:37:53 INFO - raptor-browsertime Info: filename,
16:37:53 INFO - raptor-browsertime Info: html: tag.outerHTML
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: areaByType[type] = area;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: if (custom) {
16:37:53 INFO - raptor-browsertime Info: // Input could be a String or an Array of Strings so convert it
16:37:53 INFO - raptor-browsertime Info: const customArray = toArray(custom);
16:37:53 INFO - raptor-browsertime Info: for (const nameAndSelector of customArray) {
16:37:53 INFO - raptor-browsertime Info: const parts = nameAndSelector.split(':');
16:37:53 INFO - raptor-browsertime Info: const type = parts[0];
16:37:53 INFO - raptor-browsertime Info: const selector = parts[1];
16:37:53 INFO - raptor-browsertime Info: const element = document.body.querySelector(selector);
16:37:53 INFO - raptor-browsertime Info: try {
16:37:53 INFO - raptor-browsertime Info: if (isElementPartlyInViewportAndVisible(element)) {
16:37:53 INFO - raptor-browsertime Info: keepLargestElementByType(type, element);
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: } catch (e) {
16:37:53 INFO - raptor-browsertime Info: console.log(
16:37:53 INFO - raptor-browsertime Info: 'Could not find matching element for selector:' +
16:37:53 INFO - raptor-browsertime Info: selector +
16:37:53 INFO - raptor-browsertime Info: ' using document.body.querySelector. Do that element exist on the page?'
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: imageTags.forEach(function(element) {
16:37:53 INFO - raptor-browsertime Info: if (isElementPartlyInViewportAndVisible(element)) {
16:37:53 INFO - raptor-browsertime Info: keepLargestElementByType('LargestImage', element);
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: });
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: h1Tags.forEach(function(element) {
16:37:53 INFO - raptor-browsertime Info: if (isElementPartlyInViewportAndVisible(element)) {
16:37:53 INFO - raptor-browsertime Info: keepLargestElementByType('Heading', element);
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: });
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: elementTimings.forEach(function(element) {
16:37:53 INFO - raptor-browsertime Info: if (isElementPartlyInViewportAndVisible(element)) {
16:37:53 INFO - raptor-browsertime Info: keepLargestElementByType(element.getAttribute('elementtiming'), element);
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: });
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: // We need to follow the standard for VisualMetrics
16:37:53 INFO - raptor-browsertime Info: return {
16:37:53 INFO - raptor-browsertime Info: viewport: {
16:37:53 INFO - raptor-browsertime Info: width: document.documentElement.clientWidth,
16:37:53 INFO - raptor-browsertime Info: height: document.documentElement.clientHeight
16:37:53 INFO - raptor-browsertime Info: },
16:37:53 INFO - raptor-browsertime Info: // "heroes" :D https://github.com/sitespeedio/logo/blob/main/png/heroes/Pippi-Sitespeed.io.png
16:37:53 INFO - raptor-browsertime Info: heroes: Object.keys(elementByType).map(function(type) {
16:37:53 INFO - raptor-browsertime Info: return elementByType[type];
16:37:53 INFO - raptor-browsertime Info: })
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: })(arguments[arguments.length - 1]);
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071263 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function(custom) {\n /**\n * Collect visual elements from a page and feed the size back in the\n * format for Visual Metrics.\n */\n\n const elementByType = {};\n const areaByType = {};\n const imageTags = [].slice.call(document.body.getElementsByTagName('img'));\n const h1Tags = [].slice.call(document.body.getElementsByTagName('h1'));\n const elementTimings = [].slice.call(\n document.querySelectorAll('[elementtiming]')\n );\n\n // When we feed options from the CLI it can be a String or an\n // Array with Strings. Make it easy to treat everything the same.\n function toArray(arrayLike) {\n if (arrayLike === undefined || arrayLike === null) {\n return [];\n }\n if (Array.isArray(arrayLike)) {\n return arrayLike;\n }\n return [arrayLike];\n }\n\n function isLargest(type, area) {\n if (!areaByType[type]) {\n return true;\n } else return areaByType[type] < area;\n }\n\n function isElementPartlyInViewportAndVisible(el) {\n const rect = el.getBoundingClientRect();\n return !(\n rect.bottom < 0 ||\n rect.right < 0 ||\n rect.left > window.innerWidth ||\n rect.top > window.innerHeight ||\n rect.height === 0\n );\n }\n\n function visibleArea(el) {\n const rect = el.getBoundingClientRect();\n const viewportWidth = document.documentElement.clientWidth;\n const viewportHeight = document.documentElement.clientHeight;\n\n // TODO make this more readable\n const width =\n rect.left < 0\n ? rect.width + rect.left\n : viewportWidth < rect.left + rect.width\n ? viewportWidth - rect.left\n : rect.width;\n const height =\n rect.top < 0\n ? rect.height + rect.top\n : viewportHeight < rect.top + rect.height\n ? viewportHeight - rect.top\n : rect.height;\n\n return width * height;\n }\n\n function keepLargestElementByType(type, element) {\n const area = visibleArea(element);\n if (isLargest(type, area)) {\n const filename = element.src\n ? element.src.substring(element.src.lastIndexOf('/') + 1)\n : undefined;\n const rect = element.getBoundingClientRect();\n const tag = element.cloneNode(false);\n\n elementByType[type] = {\n name: type,\n x: Math.round(rect.left),\n y: Math.round(rect.top),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n filename,\n html: tag.outerHTML\n };\n areaByType[type] = area;\n }\n }\n\n if (custom) {\n // Input could be a String or an Array of Strings so convert it\n const customArray = toArray(custom);\n for (const nameAndSelector of customArray) {\n const parts = nameAndSelector.split(':');\n const type = parts[0];\n const selector = parts[1];\n const element = document.body.querySelector(selector);\n try {\n if (isElementPartlyInViewportAndVisible(element)) {\n keepLargestElementByType(type, element);\n }\n } catch (e) {\n console.log(\n 'Could not find matching element for selector:' +\n selector +\n ' using document.body.querySelector. Do that element exist on the page?'\n );\n }\n }\n }\n\n imageTags.forEach(function(element) {\n if (isElementPartlyInViewportAndVisible(element)) {\n keepLargestElementByType('LargestImage', element);\n }\n });\n\n h1Tags.forEach(function(element) {\n if (isElementPartlyInViewportAndVisible(element)) {\n keepLargestElementByType('Heading', element);\n }\n });\n\n elementTimings.forEach(function(element) {\n if (isElementPartlyInViewportAndVisible(element)) {\n keepLargestElementByType(element.getAttribute('elementtiming'), element);\n }\n });\n\n // We need to follow the standard for VisualMetrics\n return {\n viewport: {\n width: document.documentElement.clientWidth,\n height: document.documentElement.clientHeight\n },\n // \"heroes\" :D https://github.com/sitespeedio/logo/blob/main/png/heroes/Pippi-Sitespeed.io.png\n heroes: Object.keys(elementByType).map(function(type) {\n return elementByType[type];\n })\n };\n})(arguments[arguments.length - 1]);\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071264 Marionette DEBUG 0 -> [0,107,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function(custom) {\n /**\n * Collect visual elements fro ... ementByType).map(function(type) {\n return elementByType[type];\n })\n };\n})(arguments[arguments.length - 1]);\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071307 Marionette DEBUG 0 <- [1,107,null,{"value":{"viewport":{"width":1012,"height":683},"heroes":[{"name":"LargestImage","x":157,"y":660,"width":28,"hei ... me":"Heading","x":194,"y":160,"width":465,"height":51,"filename":null,"html":"<h1 class=\"_eYtD2XCVieq6emjKBH3m\"></h1>"}]}}]
16:37:53 INFO - raptor-browsertime Info: 1635439071308 webdriver::server DEBUG <- 200 OK {"value":{"heroes":[{"filename":"avatar_default_3.png","height":28,"html":"<img alt=\"User avatar\" class=\"_2TN8dEgAQbSyKntWpSPYM7 _13ScjOmi6dGdJw0JAonQEr \" src=\"https://www.redditstatic.com/avatars/defaults/v2/avatar_default_3.png\">","name":"LargestImage","width":28,"x":157,"y":660},{"filename":null,"height":51,"html":"<h1 class=\"_eYtD2XCVieq6emjKBH3m\"></h1>","name":"Heading","width":465,"x":194,"y":160}],"viewport":{"height":683,"width":1012}}}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:53 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('element') === -1) {
16:37:53 INFO - raptor-browsertime Info: return;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:53 INFO - raptor-browsertime Info: observer.observe({ type: 'element', buffered: true });
16:37:53 INFO - raptor-browsertime Info: const entries = observer.takeRecords();
16:37:53 INFO - raptor-browsertime Info: const elements = {};
16:37:53 INFO - raptor-browsertime Info: for (let entry of entries) {
16:37:53 INFO - raptor-browsertime Info: // Look out for colliding identifiers and missing identifiers
16:37:53 INFO - raptor-browsertime Info: elements[entry.identifier] = {
16:37:53 INFO - raptor-browsertime Info: duration: entry.duration,
16:37:53 INFO - raptor-browsertime Info: url: entry.url,
16:37:53 INFO - raptor-browsertime Info: loadTime: Number(entry.loadTime.toFixed(0)),
16:37:53 INFO - raptor-browsertime Info: renderTime: Number(entry.renderTime.toFixed(0)),
16:37:53 INFO - raptor-browsertime Info: startTime: Number(entry.startTime.toFixed(0)),
16:37:53 INFO - raptor-browsertime Info: naturalHeight: entry.naturalHeight,
16:37:53 INFO - raptor-browsertime Info: naturalWidth: entry.naturalWidth,
16:37:53 INFO - raptor-browsertime Info: tagName: entry.element ? entry.element.tagName : ''
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: return elements;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071310 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('element') === -1) {\n return;\n }\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: 'element', buffered: true });\n const entries = observer.takeRecords();\n const elements = {};\n for (let entry of entries) {\n // Look out for colliding identifiers and missing identifiers\n elements[entry.identifier] = {\n duration: entry.duration,\n url: entry.url,\n loadTime: Number(entry.loadTime.toFixed(0)),\n renderTime: Number(entry.renderTime.toFixed(0)),\n startTime: Number(entry.startTime.toFixed(0)),\n naturalHeight: entry.naturalHeight,\n naturalWidth: entry.naturalWidth,\n tagName: entry.element ? entry.element.tagName : ''\n };\n }\n return elements;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071311 Marionette DEBUG 0 -> [0,108,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const supported = PerformanceObserver.suppo ... : entry.naturalWidth,\n tagName: entry.element ? entry.element.tagName : ''\n };\n }\n return elements;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071313 Marionette DEBUG 0 <- [1,108,null,{"value":null}]
16:37:53 INFO - raptor-browsertime Info: 1635439071313 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:53 INFO - raptor-browsertime Info: if (!supported || supported.indexOf("first-input") === -1) {
16:37:53 INFO - raptor-browsertime Info: return;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:53 INFO - raptor-browsertime Info: observer.observe({ type: "first-input", buffered: true });
16:37:53 INFO - raptor-browsertime Info: const entries = observer.takeRecords();
16:37:53 INFO - raptor-browsertime Info: if (entries.length > 0) {
16:37:53 INFO - raptor-browsertime Info: const entry = entries[entries.length - 1];
16:37:53 INFO - raptor-browsertime Info: return {
16:37:53 INFO - raptor-browsertime Info: duration: entry.duration,
16:37:53 INFO - raptor-browsertime Info: name: entry.name,
16:37:53 INFO - raptor-browsertime Info: processingEnd: Number(entry.processingEnd.toFixed(0)),
16:37:53 INFO - raptor-browsertime Info: processingStart: Number(entry.processingStart.toFixed(0)),
16:37:53 INFO - raptor-browsertime Info: startTime: Number(entry.startTime.toFixed(0)),
16:37:53 INFO - raptor-browsertime Info: delay: Number((entry.processingStart - entry.startTime).toFixed(1))
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: } else return;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071315 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf(\"first-input\") === -1) {\n return;\n }\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: \"first-input\", buffered: true });\n const entries = observer.takeRecords();\n if (entries.length > 0) {\n const entry = entries[entries.length - 1];\n return {\n duration: entry.duration,\n name: entry.name,\n processingEnd: Number(entry.processingEnd.toFixed(0)),\n processingStart: Number(entry.processingStart.toFixed(0)),\n startTime: Number(entry.startTime.toFixed(0)),\n delay: Number((entry.processingStart - entry.startTime).toFixed(1))\n };\n } else return;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071315 Marionette DEBUG 0 -> [0,109,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const supported = PerformanceObserver.suppo ... toFixed(0)),\n delay: Number((entry.processingStart - entry.startTime).toFixed(1))\n };\n } else return;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071318 Marionette DEBUG 0 <- [1,109,null,{"value":null}]
16:37:53 INFO - raptor-browsertime Info: 1635439071319 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: let p = window.performance,
16:37:53 INFO - raptor-browsertime Info: timing = p.timing,
16:37:53 INFO - raptor-browsertime Info: entries = p.getEntriesByType('paint');
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: if (entries.length > 0) {
16:37:53 INFO - raptor-browsertime Info: for (const entry of entries) {
16:37:53 INFO - raptor-browsertime Info: if (entry.name === 'first-paint')
16:37:53 INFO - raptor-browsertime Info: return Number(entry.startTime.toFixed(0));
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: if (timing.timeToNonBlankPaint) {
16:37:53 INFO - raptor-browsertime Info: return Number(
16:37:53 INFO - raptor-browsertime Info: (timing.timeToNonBlankPaint - timing.navigationStart).toFixed(0)
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: return undefined;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071320 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n let p = window.performance,\n timing = p.timing,\n entries = p.getEntriesByType('paint');\n\n if (entries.length > 0) {\n for (const entry of entries) {\n if (entry.name === 'first-paint')\n return Number(entry.startTime.toFixed(0));\n }\n }\n if (timing.timeToNonBlankPaint) {\n return Number(\n (timing.timeToNonBlankPaint - timing.navigationStart).toFixed(0)\n );\n }\n return undefined;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071320 Marionette DEBUG 0 -> [0,110,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n let p = window.performance,\n timing = p ... Number(\n (timing.timeToNonBlankPaint - timing.navigationStart).toFixed(0)\n );\n }\n return undefined;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071322 Marionette DEBUG 0 <- [1,110,null,{"value":292}]
16:37:53 INFO - raptor-browsertime Info: 1635439071323 webdriver::server DEBUG <- 200 OK {"value":292}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: // https://gist.github.com/karlgroves/7544592
16:37:53 INFO - raptor-browsertime Info: function getDomPath(el) {
16:37:53 INFO - raptor-browsertime Info: const stack = [];
16:37:53 INFO - raptor-browsertime Info: while ( el.parentNode != null ) {
16:37:53 INFO - raptor-browsertime Info: let sibCount = 0;
16:37:53 INFO - raptor-browsertime Info: let sibIndex = 0;
16:37:53 INFO - raptor-browsertime Info: for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {
16:37:53 INFO - raptor-browsertime Info: let sib = el.parentNode.childNodes[i];
16:37:53 INFO - raptor-browsertime Info: if ( sib.nodeName == el.nodeName ) {
16:37:53 INFO - raptor-browsertime Info: if ( sib === el ) {
16:37:53 INFO - raptor-browsertime Info: sibIndex = sibCount;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: sibCount++;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {
16:37:53 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);
16:37:53 INFO - raptor-browsertime Info: } else if ( sibCount > 1 ) {
16:37:53 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');
16:37:53 INFO - raptor-browsertime Info: } else {
16:37:53 INFO - raptor-browsertime Info: stack.unshift(el.nodeName.toLowerCase());
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: el = el.parentNode;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: return stack.slice(1);
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: const supported = PerformanceObserver.supportedEntryTypes;
16:37:53 INFO - raptor-browsertime Info: if (!supported || supported.indexOf('largest-contentful-paint') === -1) {
16:37:53 INFO - raptor-browsertime Info: return;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: const observer = new PerformanceObserver(list => {});
16:37:53 INFO - raptor-browsertime Info: observer.observe({ type: 'largest-contentful-paint', buffered: true });
16:37:53 INFO - raptor-browsertime Info: const entries = observer.takeRecords();
16:37:53 INFO - raptor-browsertime Info: if (entries.length > 0) {
16:37:53 INFO - raptor-browsertime Info: const largestEntry = entries[entries.length - 1];
16:37:53 INFO - raptor-browsertime Info: return {
16:37:53 INFO - raptor-browsertime Info: duration: largestEntry.duration,
16:37:53 INFO - raptor-browsertime Info: id: largestEntry.id,
16:37:53 INFO - raptor-browsertime Info: url: largestEntry.url,
16:37:53 INFO - raptor-browsertime Info: loadTime: Number(largestEntry.loadTime.toFixed(0)),
16:37:53 INFO - raptor-browsertime Info: renderTime: Number(Math.max(largestEntry.renderTime,largestEntry.loadTime).toFixed(0)),
16:37:53 INFO - raptor-browsertime Info: size: largestEntry.size,
16:37:53 INFO - raptor-browsertime Info: startTime: Number(largestEntry.startTime.toFixed(0)),
16:37:53 INFO - raptor-browsertime Info: tagName: largestEntry.element ? largestEntry.element.tagName : '',
16:37:53 INFO - raptor-browsertime Info: className :largestEntry.element ? largestEntry.element.className : '',
16:37:53 INFO - raptor-browsertime Info: domPath: largestEntry.element ? (getDomPath(largestEntry.element)).join( ' > ') : '',
16:37:53 INFO - raptor-browsertime Info: tag: largestEntry.element ? (largestEntry.element.cloneNode(false)).outerHTML : ''
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: } else return;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071324 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // https://gist.github.com/karlgroves/7544592\n function getDomPath(el) {\n const stack = [];\n while ( el.parentNode != null ) {\n let sibCount = 0;\n let sibIndex = 0;\n for ( let i = 0; i < el.parentNode.childNodes.length; i++ ) {\n let sib = el.parentNode.childNodes[i];\n if ( sib.nodeName == el.nodeName ) {\n if ( sib === el ) {\n sibIndex = sibCount;\n }\n sibCount++;\n }\n }\n if ( el.hasAttribute && el.hasAttribute('id') && el.id != '' ) {\n stack.unshift(el.nodeName.toLowerCase() + '#' + el.id);\n } else if ( sibCount > 1 ) {\n stack.unshift(el.nodeName.toLowerCase() + ':eq(' + sibIndex + ')');\n } else {\n stack.unshift(el.nodeName.toLowerCase());\n }\n el = el.parentNode;\n }\n \n return stack.slice(1);\n }\n\n const supported = PerformanceObserver.supportedEntryTypes;\n if (!supported || supported.indexOf('largest-contentful-paint') === -1) {\n return;\n }\n const observer = new PerformanceObserver(list => {});\n observer.observe({ type: 'largest-contentful-paint', buffered: true });\n const entries = observer.takeRecords();\n if (entries.length > 0) {\n const largestEntry = entries[entries.length - 1];\n return {\n duration: largestEntry.duration,\n id: largestEntry.id,\n url: largestEntry.url,\n loadTime: Number(largestEntry.loadTime.toFixed(0)),\n renderTime: Number(Math.max(largestEntry.renderTime,largestEntry.loadTime).toFixed(0)),\n size: largestEntry.size,\n startTime: Number(largestEntry.startTime.toFixed(0)),\n tagName: largestEntry.element ? largestEntry.element.tagName : '',\n className :largestEntry.element ? largestEntry.element.className : '',\n domPath: largestEntry.element ? (getDomPath(largestEntry.element)).join( ' > ') : '',\n tag: largestEntry.element ? (largestEntry.element.cloneNode(false)).outerHTML : ''\n };\n } else return;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071325 Marionette DEBUG 0 -> [0,111,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // https://gist.github.com/karlgroves/75445 ... tag: largestEntry.element ? (largestEntry.element.cloneNode(false)).outerHTML : ''\n };\n } else return;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071329 Marionette DEBUG 0 <- [1,111,null,{"value":null}]
16:37:53 INFO - raptor-browsertime Info: 1635439071329 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: if (window.performance.getEntriesByType('navigation').length > 0) {
16:37:53 INFO - raptor-browsertime Info: return Number(
16:37:53 INFO - raptor-browsertime Info: window.performance
16:37:53 INFO - raptor-browsertime Info: .getEntriesByType('navigation')[0]
16:37:53 INFO - raptor-browsertime Info: .loadEventEnd.toFixed(0)
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info: } else {
16:37:53 INFO - raptor-browsertime Info: return Number(
16:37:53 INFO - raptor-browsertime Info: window.performance.timing.loadEventEnd -
16:37:53 INFO - raptor-browsertime Info: window.performance.timing.navigationStart
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071330 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n if (window.performance.getEntriesByType('navigation').length > 0) {\n return Number(\n window.performance\n .getEntriesByType('navigation')[0]\n .loadEventEnd.toFixed(0)\n );\n } else {\n return Number(\n window.performance.timing.loadEventEnd -\n window.performance.timing.navigationStart\n );\n }\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071331 Marionette DEBUG 0 -> [0,112,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n if (window.performance.getEntriesByType('na ... (\n window.performance.timing.loadEventEnd -\n window.performance.timing.navigationStart\n );\n }\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071333 Marionette DEBUG 0 <- [1,112,null,{"value":1693}]
16:37:53 INFO - raptor-browsertime Info: 1635439071333 webdriver::server DEBUG <- 200 OK {"value":1693}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: let t = window.performance.getEntriesByType('navigation')[0];
16:37:53 INFO - raptor-browsertime Info: const d = 0;
16:37:53 INFO - raptor-browsertime Info: if (t) {
16:37:53 INFO - raptor-browsertime Info: return {
16:37:53 INFO - raptor-browsertime Info: connectStart: Number(t.connectStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: domComplete: Number(t.domComplete.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: domContentLoadedEventEnd: Number(t.domContentLoadedEventEnd.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: domContentLoadedEventStart: Number(
16:37:53 INFO - raptor-browsertime Info: t.domContentLoadedEventStart.toFixed(d)
16:37:53 INFO - raptor-browsertime Info: ),
16:37:53 INFO - raptor-browsertime Info: domInteractive: Number(t.domInteractive.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: domainLookupEnd: Number(t.domainLookupEnd.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: domainLookupStart: Number(t.domainLookupStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: duration: Number(t.duration.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: fetchStart: Number(t.fetchStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: loadEventEnd: Number(t.loadEventEnd.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: loadEventStart: Number(t.loadEventStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: redirectEnd: Number(t.redirectEnd.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: redirectStart: Number(t.redirectStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: requestStart: Number(t.requestStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: responseEnd: Number(t.responseEnd.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: responseStart: Number(t.responseStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: secureConnectionStart: Number(t.secureConnectionStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: startTime: Number(t.startTime.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: unloadEventEnd: Number(t.unloadEventEnd.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: unloadEventStart: Number(t.unloadEventStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: workerStart: Number(t.workerStart.toFixed(d))
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: } else {
16:37:53 INFO - raptor-browsertime Info: // For Safari
16:37:53 INFO - raptor-browsertime Info: t = window.performance.timing;
16:37:53 INFO - raptor-browsertime Info: return {
16:37:53 INFO - raptor-browsertime Info: navigationStart: 0,
16:37:53 INFO - raptor-browsertime Info: unloadEventStart:
16:37:53 INFO - raptor-browsertime Info: t.unloadEventStart > 0
16:37:53 INFO - raptor-browsertime Info: ? t.unloadEventStart - t.navigationStart
16:37:53 INFO - raptor-browsertime Info: : undefined,
16:37:53 INFO - raptor-browsertime Info: unloadEventEnd:
16:37:53 INFO - raptor-browsertime Info: t.unloadEventEnd > 0 ? t.unloadEventEnd - t.navigationStart : undefined,
16:37:53 INFO - raptor-browsertime Info: redirectStart:
16:37:53 INFO - raptor-browsertime Info: t.redirectStart > 0 ? t.redirectStart - t.navigationStart : undefined,
16:37:53 INFO - raptor-browsertime Info: redirectEnd:
16:37:53 INFO - raptor-browsertime Info: t.redirectEnd > 0 ? t.redirectEnd - t.navigationStart : undefined,
16:37:53 INFO - raptor-browsertime Info: fetchStart: t.fetchStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: domainLookupStart: t.domainLookupStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: domainLookupEnd: t.domainLookupEnd - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: connectStart: t.connectStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: connectEnd: t.connectEnd - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: secureConnectionStart: t.secureConnectionStart
16:37:53 INFO - raptor-browsertime Info: ? t.secureConnectionStart - t.navigationStart
16:37:53 INFO - raptor-browsertime Info: : undefined,
16:37:53 INFO - raptor-browsertime Info: requestStart: t.requestStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: responseStart: t.responseStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: responseEnd: t.responseEnd - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: domLoading: t.domLoading - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: domInteractive: t.domInteractive - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: domContentLoadedEventStart:
16:37:53 INFO - raptor-browsertime Info: t.domContentLoadedEventStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: domContentLoadedEventEnd: t.domContentLoadedEventEnd - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: domComplete: t.domComplete - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: loadEventStart: t.loadEventStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: loadEventEnd: t.loadEventEnd - t.navigationStart
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071335 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n let t = window.performance.getEntriesByType('navigation')[0];\n const d = 0;\n if (t) {\n return {\n connectStart: Number(t.connectStart.toFixed(d)),\n domComplete: Number(t.domComplete.toFixed(d)),\n domContentLoadedEventEnd: Number(t.domContentLoadedEventEnd.toFixed(d)),\n domContentLoadedEventStart: Number(\n t.domContentLoadedEventStart.toFixed(d)\n ),\n domInteractive: Number(t.domInteractive.toFixed(d)),\n domainLookupEnd: Number(t.domainLookupEnd.toFixed(d)),\n domainLookupStart: Number(t.domainLookupStart.toFixed(d)),\n duration: Number(t.duration.toFixed(d)),\n fetchStart: Number(t.fetchStart.toFixed(d)),\n loadEventEnd: Number(t.loadEventEnd.toFixed(d)),\n loadEventStart: Number(t.loadEventStart.toFixed(d)),\n redirectEnd: Number(t.redirectEnd.toFixed(d)),\n redirectStart: Number(t.redirectStart.toFixed(d)),\n requestStart: Number(t.requestStart.toFixed(d)),\n responseEnd: Number(t.responseEnd.toFixed(d)),\n responseStart: Number(t.responseStart.toFixed(d)),\n secureConnectionStart: Number(t.secureConnectionStart.toFixed(d)),\n startTime: Number(t.startTime.toFixed(d)),\n unloadEventEnd: Number(t.unloadEventEnd.toFixed(d)),\n unloadEventStart: Number(t.unloadEventStart.toFixed(d)),\n workerStart: Number(t.workerStart.toFixed(d))\n };\n } else {\n // For Safari\n t = window.performance.timing;\n return {\n navigationStart: 0,\n unloadEventStart:\n t.unloadEventStart > 0\n ? t.unloadEventStart - t.navigationStart\n : undefined,\n unloadEventEnd:\n t.unloadEventEnd > 0 ? t.unloadEventEnd - t.navigationStart : undefined,\n redirectStart:\n t.redirectStart > 0 ? t.redirectStart - t.navigationStart : undefined,\n redirectEnd:\n t.redirectEnd > 0 ? t.redirectEnd - t.navigationStart : undefined,\n fetchStart: t.fetchStart - t.navigationStart,\n domainLookupStart: t.domainLookupStart - t.navigationStart,\n domainLookupEnd: t.domainLookupEnd - t.navigationStart,\n connectStart: t.connectStart - t.navigationStart,\n connectEnd: t.connectEnd - t.navigationStart,\n secureConnectionStart: t.secureConnectionStart\n ? t.secureConnectionStart - t.navigationStart\n : undefined,\n requestStart: t.requestStart - t.navigationStart,\n responseStart: t.responseStart - t.navigationStart,\n responseEnd: t.responseEnd - t.navigationStart,\n domLoading: t.domLoading - t.navigationStart,\n domInteractive: t.domInteractive - t.navigationStart,\n domContentLoadedEventStart:\n t.domContentLoadedEventStart - t.navigationStart,\n domContentLoadedEventEnd: t.domContentLoadedEventEnd - t.navigationStart,\n domComplete: t.domComplete - t.navigationStart,\n loadEventStart: t.loadEventStart - t.navigationStart,\n loadEventEnd: t.loadEventEnd - t.navigationStart\n };\n }\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071335 Marionette DEBUG 0 -> [0,113,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n let t = window.performance.getEntriesByType ... Start: t.loadEventStart - t.navigationStart,\n loadEventEnd: t.loadEventEnd - t.navigationStart\n };\n }\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071337 Marionette DEBUG 0 <- [1,113,null,{"value":{"connectStart":55,"domComplete":1687,"domContentLoadedEventEnd":411,"domContentLoadedEventStart":410,"d ... 7,"responseStart":177,"secureConnectionStart":55,"startTime":0,"unloadEventEnd":199,"unloadEventStart":184,"workerStart":0}}]
16:37:53 INFO - raptor-browsertime Info: 1635439071338 webdriver::server DEBUG <- 200 OK {"value":{"connectStart":55,"domComplete":1687,"domContentLoadedEventEnd":411,"domContentLoadedEventStart":410,"domInteractive":407,"domainLookupEnd":55,"domainLookupStart":55,"duration":1693,"fetchStart":55,"loadEventEnd":1693,"loadEventStart":1687,"redirectEnd":0,"redirectStart":0,"requestStart":64,"responseEnd":177,"responseStart":177,"secureConnectionStart":55,"startTime":0,"unloadEventEnd":199,"unloadEventStart":184,"workerStart":0}}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: let t = window.performance.getEntriesByType('navigation')[0];
16:37:53 INFO - raptor-browsertime Info: const d = 0;
16:37:53 INFO - raptor-browsertime Info: if (t) {
16:37:53 INFO - raptor-browsertime Info: return {
16:37:53 INFO - raptor-browsertime Info: domainLookupTime: Number(
16:37:53 INFO - raptor-browsertime Info: (t.domainLookupEnd - t.domainLookupStart).toFixed(d)
16:37:53 INFO - raptor-browsertime Info: ),
16:37:53 INFO - raptor-browsertime Info: redirectionTime: Number((t.redirectEnd - t.redirectStart).toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: serverConnectionTime: Number((t.connectEnd - t.connectStart).toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: serverResponseTime: Number((t.responseEnd - t.requestStart).toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: pageDownloadTime: Number((t.responseEnd - t.responseStart).toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: domInteractiveTime: Number(t.domInteractive.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: domContentLoadedTime: Number(t.domContentLoadedEventStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: pageLoadTime: Number(t.loadEventStart.toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: frontEndTime: Number((t.loadEventStart - t.responseEnd).toFixed(d)),
16:37:53 INFO - raptor-browsertime Info: backEndTime: Number(t.responseStart.toFixed(d))
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: } else {
16:37:53 INFO - raptor-browsertime Info: // Safari
16:37:53 INFO - raptor-browsertime Info: t = window.performance.timing;
16:37:53 INFO - raptor-browsertime Info: return {
16:37:53 INFO - raptor-browsertime Info: domainLookupTime: t.domainLookupEnd - t.domainLookupStart,
16:37:53 INFO - raptor-browsertime Info: redirectionTime: t.fetchStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: serverConnectionTime: t.connectEnd - t.connectStart,
16:37:53 INFO - raptor-browsertime Info: serverResponseTime: t.responseEnd - t.requestStart,
16:37:53 INFO - raptor-browsertime Info: pageDownloadTime: t.responseEnd - t.responseStart,
16:37:53 INFO - raptor-browsertime Info: domInteractiveTime: t.domInteractive - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: domContentLoadedTime: t.domContentLoadedEventStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: pageLoadTime: t.loadEventStart - t.navigationStart,
16:37:53 INFO - raptor-browsertime Info: frontEndTime: t.loadEventStart - t.responseEnd,
16:37:53 INFO - raptor-browsertime Info: backEndTime: t.responseStart - t.navigationStart
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071340 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n let t = window.performance.getEntriesByType('navigation')[0];\n const d = 0;\n if (t) {\n return {\n domainLookupTime: Number(\n (t.domainLookupEnd - t.domainLookupStart).toFixed(d)\n ),\n redirectionTime: Number((t.redirectEnd - t.redirectStart).toFixed(d)),\n serverConnectionTime: Number((t.connectEnd - t.connectStart).toFixed(d)),\n serverResponseTime: Number((t.responseEnd - t.requestStart).toFixed(d)),\n pageDownloadTime: Number((t.responseEnd - t.responseStart).toFixed(d)),\n domInteractiveTime: Number(t.domInteractive.toFixed(d)),\n domContentLoadedTime: Number(t.domContentLoadedEventStart.toFixed(d)),\n pageLoadTime: Number(t.loadEventStart.toFixed(d)),\n frontEndTime: Number((t.loadEventStart - t.responseEnd).toFixed(d)),\n backEndTime: Number(t.responseStart.toFixed(d))\n };\n } else {\n // Safari\n t = window.performance.timing;\n return {\n domainLookupTime: t.domainLookupEnd - t.domainLookupStart,\n redirectionTime: t.fetchStart - t.navigationStart,\n serverConnectionTime: t.connectEnd - t.connectStart,\n serverResponseTime: t.responseEnd - t.requestStart,\n pageDownloadTime: t.responseEnd - t.responseStart,\n domInteractiveTime: t.domInteractive - t.navigationStart,\n domContentLoadedTime: t.domContentLoadedEventStart - t.navigationStart,\n pageLoadTime: t.loadEventStart - t.navigationStart,\n frontEndTime: t.loadEventStart - t.responseEnd,\n backEndTime: t.responseStart - t.navigationStart\n };\n }\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071340 Marionette DEBUG 0 -> [0,114,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n let t = window.performance.getEntriesByType ... ntEndTime: t.loadEventStart - t.responseEnd,\n backEndTime: t.responseStart - t.navigationStart\n };\n }\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071342 Marionette DEBUG 0 <- [1,114,null,{"value":{"domainLookupTime":0,"redirectionTime":0,"serverConnectionTime":0,"serverResponseTime":113,"pageDownloadTime":0,"domInteractiveTime":407,"domContentLoadedTime":410,"pageLoadTime":1687,"frontEndTime":1510,"backEndTime":177}}]
16:37:53 INFO - raptor-browsertime Info: 1635439071343 webdriver::server DEBUG <- 200 OK {"value":{"backEndTime":177,"domContentLoadedTime":410,"domInteractiveTime":407,"domainLookupTime":0,"frontEndTime":1510,"pageDownloadTime":0,"pageLoadTime":1687,"redirectionTime":0,"serverConnectionTime":0,"serverResponseTime":113}}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: let p = window.performance,
16:37:53 INFO - raptor-browsertime Info: entries,
16:37:53 INFO - raptor-browsertime Info: values = {};
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: entries = p.getEntriesByType('paint');
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: if (entries.length > 0) {
16:37:53 INFO - raptor-browsertime Info: for (const entry of entries) {
16:37:53 INFO - raptor-browsertime Info: values[entry.name] = Number(entry.startTime.toFixed(0));
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: return values;
16:37:53 INFO - raptor-browsertime Info: } else return undefined;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071344 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n let p = window.performance,\n entries,\n values = {};\n\n entries = p.getEntriesByType('paint');\n\n if (entries.length > 0) {\n for (const entry of entries) {\n values[entry.name] = Number(entry.startTime.toFixed(0));\n }\n return values;\n } else return undefined;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071345 Marionette DEBUG 0 -> [0,115,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n let p = window.performance,\n entries,\n ... values[entry.name] = Number(entry.startTime.toFixed(0));\n }\n return values;\n } else return undefined;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071347 Marionette DEBUG 0 <- [1,115,null,{"value":{"first-contentful-paint":281}}]
16:37:53 INFO - raptor-browsertime Info: 1635439071347 webdriver::server DEBUG <- 200 OK {"value":{"first-contentful-paint":281}}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:53 INFO - raptor-browsertime Info: // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceServerTiming
16:37:53 INFO - raptor-browsertime Info: const entries = window.performance.getEntriesByType('resource');
16:37:53 INFO - raptor-browsertime Info: if (entries.length > 0 && entries[0].serverTiming) {
16:37:53 INFO - raptor-browsertime Info: const timings = entries[0].serverTiming;
16:37:53 INFO - raptor-browsertime Info: const serverTimings = [];
16:37:53 INFO - raptor-browsertime Info: for (let timing of timings) {
16:37:53 INFO - raptor-browsertime Info: serverTimings.push({
16:37:53 INFO - raptor-browsertime Info: name: timing.name,
16:37:53 INFO - raptor-browsertime Info: duration: timing.duration,
16:37:53 INFO - raptor-browsertime Info: description: timing.description
16:37:53 INFO - raptor-browsertime Info: });
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: return serverTimings;
16:37:53 INFO - raptor-browsertime Info: } else return undefined;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071349 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceServerTiming\n const entries = window.performance.getEntriesByType('resource');\n if (entries.length > 0 && entries[0].serverTiming) {\n const timings = entries[0].serverTiming;\n const serverTimings = [];\n for (let timing of timings) {\n serverTimings.push({\n name: timing.name,\n duration: timing.duration,\n description: timing.description\n });\n }\n return serverTimings;\n } else return undefined;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071349 Marionette DEBUG 0 -> [0,116,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n // https://developer.mozilla.org/en-US/d ... ion: timing.description\n });\n }\n return serverTimings;\n } else return undefined;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071386 Marionette DEBUG 0 <- [1,116,null,{"value":[]}]
16:37:53 INFO - raptor-browsertime Info: 1635439071386 webdriver::server DEBUG <- 200 OK {"value":[]}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:53 INFO - raptor-browsertime Info: // Firefox only timeToContentfulPaint
16:37:53 INFO - raptor-browsertime Info: // need pref to be activated
16:37:53 INFO - raptor-browsertime Info: const timing = window.performance.timing;
16:37:53 INFO - raptor-browsertime Info: if (timing.timeToContentfulPaint) {
16:37:53 INFO - raptor-browsertime Info: return Number(
16:37:53 INFO - raptor-browsertime Info: (timing.timeToContentfulPaint - timing.navigationStart).toFixed(0)
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: else return undefined;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071388 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n // Firefox only timeToContentfulPaint\n // need pref to be activated\n const timing = window.performance.timing;\n if (timing.timeToContentfulPaint) {\n return Number(\n (timing.timeToContentfulPaint - timing.navigationStart).toFixed(0)\n );\n }\n else return undefined;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071389 Marionette DEBUG 0 -> [0,117,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n // Firefox only timeToContentfulPaint\n ... timeToContentfulPaint - timing.navigationStart).toFixed(0)\n );\n }\n else return undefined;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071390 Marionette DEBUG 0 <- [1,117,null,{"value":316}]
16:37:53 INFO - raptor-browsertime Info: 1635439071391 webdriver::server DEBUG <- 200 OK {"value":316}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:53 INFO - raptor-browsertime Info: // Firefox only timeToDOMContentFlushed
16:37:53 INFO - raptor-browsertime Info: // need pref to be activated
16:37:53 INFO - raptor-browsertime Info: const timing = window.performance.timing;
16:37:53 INFO - raptor-browsertime Info: if (timing.timeToDOMContentFlushed) {
16:37:53 INFO - raptor-browsertime Info: return Number(
16:37:53 INFO - raptor-browsertime Info: (timing.timeToDOMContentFlushed - timing.navigationStart).toFixed(0)
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: else return undefined;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071393 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n // Firefox only timeToDOMContentFlushed\n // need pref to be activated\n const timing = window.performance.timing;\n if (timing.timeToDOMContentFlushed) {\n return Number(\n (timing.timeToDOMContentFlushed - timing.navigationStart).toFixed(0)\n );\n }\n else return undefined;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071393 Marionette DEBUG 0 -> [0,118,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n // Firefox only timeToDOMContentFlushed\ ... meToDOMContentFlushed - timing.navigationStart).toFixed(0)\n );\n }\n else return undefined;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071395 Marionette DEBUG 0 <- [1,118,null,{"value":488}]
16:37:53 INFO - raptor-browsertime Info: 1635439071396 webdriver::server DEBUG <- 200 OK {"value":488}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: // Firefox only TTFI
16:37:53 INFO - raptor-browsertime Info: // need pref to be activated
16:37:53 INFO - raptor-browsertime Info: // If the "event" has happend, it will return 0
16:37:53 INFO - raptor-browsertime Info: const timing = window.performance.timing;
16:37:53 INFO - raptor-browsertime Info: if (timing.timeToFirstInteractive && timing.timeToFirstInteractive > 0) {
16:37:53 INFO - raptor-browsertime Info: const ttfi = Number(
16:37:53 INFO - raptor-browsertime Info: (timing.timeToFirstInteractive - timing.navigationStart).toFixed(0)
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info: // We have seen cases when TTFI is - 46 years.
16:37:53 INFO - raptor-browsertime Info: if (ttfi < 0) {
16:37:53 INFO - raptor-browsertime Info: return 0;
16:37:53 INFO - raptor-browsertime Info: } else {
16:37:53 INFO - raptor-browsertime Info: return ttfi;
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: } else return undefined;
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071397 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n // Firefox only TTFI\n // need pref to be activated\n // If the \"event\" has happend, it will return 0\n const timing = window.performance.timing;\n if (timing.timeToFirstInteractive && timing.timeToFirstInteractive > 0) {\n const ttfi = Number(\n (timing.timeToFirstInteractive - timing.navigationStart).toFixed(0)\n );\n // We have seen cases when TTFI is - 46 years.\n if (ttfi < 0) {\n return 0;\n } else {\n return ttfi;\n }\n } else return undefined;\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071398 Marionette DEBUG 0 -> [0,119,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n // Firefox only TTFI\n // need pref to be ... years.\n if (ttfi < 0) {\n return 0;\n } else {\n return ttfi;\n }\n } else return undefined;\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071400 Marionette DEBUG 0 <- [1,119,null,{"value":null}]
16:37:53 INFO - raptor-browsertime Info: 1635439071400 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function () {
16:37:53 INFO - raptor-browsertime Info: let t = window.performance.getEntriesByType('navigation')[0];
16:37:53 INFO - raptor-browsertime Info: if (t) {
16:37:53 INFO - raptor-browsertime Info: return Number(t.responseStart.toFixed(0));
16:37:53 INFO - raptor-browsertime Info: } else {
16:37:53 INFO - raptor-browsertime Info: return Number(window.performance.timing.responseStart.toFixed(0) - window.performance.timing.navigationStart.toFixed(0));
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071401 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function () {\n let t = window.performance.getEntriesByType('navigation')[0];\n if (t) {\n return Number(t.responseStart.toFixed(0));\n } else {\n return Number(window.performance.timing.responseStart.toFixed(0) - window.performance.timing.navigationStart.toFixed(0));\n }\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071402 Marionette DEBUG 0 -> [0,120,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function () {\n let t = window.performance.getEntriesByT ... indow.performance.timing.responseStart.toFixed(0) - window.performance.timing.navigationStart.toFixed(0));\n }\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071404 Marionette DEBUG 0 <- [1,120,null,{"value":177}]
16:37:53 INFO - raptor-browsertime Info: 1635439071404 webdriver::server DEBUG <- 200 OK {"value":177}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Executing script return (function() {
16:37:53 INFO - raptor-browsertime Info: const measures = [];
16:37:53 INFO - raptor-browsertime Info: const marks = [];
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: if (window.performance && window.performance.getEntriesByType) {
16:37:53 INFO - raptor-browsertime Info: const myMarks = Array.prototype.slice.call(
16:37:53 INFO - raptor-browsertime Info: window.performance.getEntriesByType('mark')
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: for (const mark of myMarks) {
16:37:53 INFO - raptor-browsertime Info: marks.push({
16:37:53 INFO - raptor-browsertime Info: name: mark.name,
16:37:53 INFO - raptor-browsertime Info: startTime: mark.startTime
16:37:53 INFO - raptor-browsertime Info: });
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: const myMeasures = Array.prototype.slice.call(
16:37:53 INFO - raptor-browsertime Info: window.performance.getEntriesByType('measure')
16:37:53 INFO - raptor-browsertime Info: );
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: for (const measure of myMeasures) {
16:37:53 INFO - raptor-browsertime Info: measures.push({
16:37:53 INFO - raptor-browsertime Info: name: measure.name,
16:37:53 INFO - raptor-browsertime Info: duration: measure.duration,
16:37:53 INFO - raptor-browsertime Info: startTime: measure.startTime
16:37:53 INFO - raptor-browsertime Info: });
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info: }
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: return {
16:37:53 INFO - raptor-browsertime Info: marks: marks,
16:37:53 INFO - raptor-browsertime Info: measures: measures
16:37:53 INFO - raptor-browsertime Info: };
16:37:53 INFO - raptor-browsertime Info: })();
16:37:53 INFO - raptor-browsertime Info:
16:37:53 INFO - raptor-browsertime Info: 1635439071405 webdriver::server DEBUG -> POST /session/9b36e9f3-d13f-44d1-a64e-966951490448/execute/sync {"script":"return (function() {\n const measures = [];\n const marks = [];\n\n if (window.performance && window.performance.getEntriesByType) {\n const myMarks = Array.prototype.slice.call(\n window.performance.getEntriesByType('mark')\n );\n\n for (const mark of myMarks) {\n marks.push({\n name: mark.name,\n startTime: mark.startTime\n });\n }\n\n const myMeasures = Array.prototype.slice.call(\n window.performance.getEntriesByType('measure')\n );\n\n for (const measure of myMeasures) {\n measures.push({\n name: measure.name,\n duration: measure.duration,\n startTime: measure.startTime\n });\n }\n }\n\n return {\n marks: marks,\n measures: measures\n };\n})();\n","args":[null]}
16:37:53 INFO - raptor-browsertime Info: 1635439071406 Marionette DEBUG 0 -> [0,121,"WebDriver:ExecuteScript",{"args":[null],"script":"return (function() {\n const measures = [];\n const marks = [];\n ... tartTime: measure.startTime\n });\n }\n }\n\n return {\n marks: marks,\n measures: measures\n };\n})();\n"}]
16:37:53 INFO - raptor-browsertime Info: 1635439071410 Marionette DEBUG 0 <- [1,121,null,{"value":{"marks":[{"name":"head_tag_start","startTime":207.16},{"name":"app_html_start","startTime":222.22},{"na ... 2000000000005,"startTime":726.14},{"name":"Initailize_Client_Postamble","duration":131.20000000000005,"startTime":999.96}]}}]
16:37:53 INFO - raptor-browsertime Info: 1635439071410 webdriver::server DEBUG <- 200 OK {"value":{"marks":[{"name":"head_tag_start","startTime":207.16},{"name":"app_html_start","startTime":222.22},{"name":"ads_dot_js_fetch_start","startTime":256.42},{"name":"redux_json_start","startTime":386.06},{"name":"js_deps_fetch_start","startTime":406.14},{"name":"first_post_title_image_loaded","startTime":411.28},{"name":"first_comment_loaded","startTime":411.54},{"name":"entry_point_start","startTime":685.46},{"name":"init_client_start","startTime":685.58},{"name":"create_route_components_start","startTime":725.82},{"name":"react_hydrate_start","startTime":726.14},{"name":"react_hydrate_end","startTime":999.96},{"name":"init_client_end","startTime":1131.16}],"measures":[{"duration":122,"name":"Time_To_First_Byte","startTime":55},{"duration":356.28,"name":"NavigationStart_To_FirstPostTitleVisible","startTime":55},{"duration":1076.16,"name":"NavigationStart_To_InitClientFinished","startTime":55},{"duration":356.54,"name":"NavigationStart_To_FirstCommentVisible","startTime":55},{"duration":15.060000000000002,"name":"Head_Tag_Parse","startTime":207.16},{"duration":34.20000000000002,"name":"App_HTML_Parse","startTime":222.22},{"duration":129.64,"name":"Ads_Dot_JS_Fetch_Parse","startTime":256.42},{"duration":20.079999999999984,"name":"Redux_Bootstrap_JSON_Parse","startTime":386.06},{"duration":279.32000000000005,"name":"JS_Fetch_To_Entry_Point","startTime":406.14},{"duration":0.12000000000000456,"name":"Entry_To_Init_Client","startTime":685.46},{"duration":40.24000000000001,"name":"Initailize_Client_Preamble","startTime":685.58},{"duration":0.31999999999993634,"name":"Creat_Route_Components","startTime":725.82},{"duration":273.82000000000005,"name":"React_Hydrate","startTime":726.14},{"duration":131.20000000000005,"name":"Initailize_Client_Postamble","startTime":999.96}]}}
16:37:53 INFO - raptor-browsertime Info: [browsertime] Browsertime pageload ended.
16:37:53 INFO - raptor-browsertime Info: 1635439071413 webdriver::server DEBUG -> DELETE /session/9b36e9f3-d13f-44d1-a64e-966951490448
16:37:53 INFO - raptor-browsertime Info: 1635439071414 Marionette DEBUG 0 -> [0,122,"Marionette:Quit",{"flags":["eForceQuit"]}]
16:37:53 INFO - raptor-browsertime Info: 1635439071414 Marionette INFO Stopped listening on port 33635
16:37:53 INFO - raptor-browsertime Info: 1635439071587 Marionette TRACE Received observer notification quit-application
16:37:53 INFO - raptor-browsertime Info: 1635439071588 RemoteAgent DEBUG Resetting recommended pref apz.content_response_timeout
16:37:53 INFO - raptor-browsertime Info: 1635439071588 RemoteAgent DEBUG Resetting recommended pref browser.contentblocking.introCount
16:37:53 INFO - raptor-browsertime Info: 1635439071588 RemoteAgent DEBUG Resetting recommended pref browser.download.panel.shown
16:37:53 INFO - raptor-browsertime Info: 1635439071588 RemoteAgent DEBUG Resetting recommended pref browser.newtabpage.enabled
16:37:53 INFO - raptor-browsertime Info: 1635439071590 RemoteAgent DEBUG Resetting recommended pref browser.search.update
16:37:53 INFO - raptor-browsertime Info: 1635439071591 RemoteAgent DEBUG Resetting recommended pref browser.tabs.disableBackgroundZombification
16:37:53 INFO - raptor-browsertime Info: 1635439071591 RemoteAgent DEBUG Resetting recommended pref browser.tabs.warnOnCloseOtherTabs
16:37:53 INFO - raptor-browsertime Info: 1635439071591 RemoteAgent DEBUG Resetting recommended pref browser.tabs.warnOnOpen
16:37:53 INFO - raptor-browsertime Info: 1635439071591 RemoteAgent DEBUG Resetting recommended pref browser.toolbars.bookmarks.visibility
16:37:53 INFO - raptor-browsertime Info: 1635439071591 RemoteAgent DEBUG Resetting recommended pref browser.usedOnWindows10.introURL
16:37:53 INFO - raptor-browsertime Info: 1635439071591 RemoteAgent DEBUG Resetting recommended pref browser.urlbar.suggest.searches
16:37:53 INFO - raptor-browsertime Info: 1635439071595 RemoteAgent DEBUG Resetting recommended pref datareporting.policy.dataSubmissionPolicyAccepted
16:37:53 INFO - raptor-browsertime Info: 1635439071595 RemoteAgent DEBUG Resetting recommended pref dom.file.createInChild
16:37:53 INFO - raptor-browsertime Info: 1635439071595 RemoteAgent DEBUG Resetting recommended pref dom.successive_dialog_time_limit
16:37:53 INFO - raptor-browsertime Info: 1635439071595 RemoteAgent DEBUG Resetting recommended pref extensions.getAddons.cache.enabled
16:37:53 INFO - raptor-browsertime Info: 1635439071595 RemoteAgent DEBUG Resetting recommended pref network.http.prompt-temp-redirect
16:37:53 INFO - raptor-browsertime Info: 1635439071595 RemoteAgent DEBUG Resetting recommended pref security.notification_enable_delay
16:37:53 INFO - raptor-browsertime Info: 1635439071595 RemoteAgent DEBUG Resetting recommended pref signon.autofillForms
16:37:53 INFO - raptor-browsertime Info: 1635439071596 RemoteAgent DEBUG Resetting recommended pref signon.rememberSignons
16:37:53 INFO - raptor-browsertime Info: 1635439071598 RemoteAgent DEBUG Resetting recommended pref dom.disable_beforeunload
16:37:53 INFO - raptor-browsertime Info: 1635439071598 Marionette TRACE Received observer notification quit-application
16:37:53 INFO - raptor-browsertime Info: 1635439071598 Marionette DEBUG Marionette stopped listening
16:37:53 INFO - raptor-browsertime Info: 1635439071603 Marionette DEBUG 0 <- [1,122,null,{"cause":"shutdown","forced":false}]
16:37:53 INFO - raptor-browsertime Info: 1635439071636 webdriver::server DEBUG Deleting session
16:37:53 INFO - raptor-browsertime Info: 1635439071640 Marionette DEBUG 0 -> [0,123,"Marionette:Quit",{"flags":["eForceQuit"]}]
16:37:53 INFO - raptor-browsertime Info: 1635439071640 Marionette DEBUG 0 <- [1,123,{"error":"invalid session id","message":"WebDriver session does not exist, or is not active","stacktrace":"WebDriverEr ... ote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]
16:37:53 INFO - raptor-browsertime Info: 1635439071644 Marionette DEBUG Closed connection 0
16:37:53 INFO - raptor-browsertime Info: 1635439072140 geckodriver::marionette DEBUG Browser process stopped: exit code: 0
16:37:53 INFO - raptor-browsertime Info: 1635439072148 webdriver::server DEBUG <- 200 OK {"value":null}
16:37:54 INFO - raptor-browsertime Info: [browsertime] https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/ TTFB: 16ms, firstPaint: 345ms, FCP: 329ms, DOMContentLoaded: 1.04s, Load: 3.13s
16:37:54 INFO - raptor-browsertime Info: [browsertime] https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/?browsertime_run=2 TTFB: 177ms, firstPaint: 292ms, FCP: 281ms, DOMContentLoaded: 410ms, Load: 1.69s
16:37:54 INFO - raptor-browsertime Info: [browsertime] Wrote data to blobber_upload_dir/browsertime-results/reddit
16:37:54 INFO - raptor-browsertime Info: [browsertime] Stopping Browsertime
16:37:54 INFO - raptor-browsertime Info: [browsertime] Stopped Browsertime
16:37:54 INFO - raptor-mitmproxy Info: MitmproxyDesktop stop!!
16:37:54 INFO - raptor-mitmproxy Info: Mitmproxy stop!!
16:37:54 INFO - raptor-mitmproxy Info: Stopping mitmproxy playback, killing process 25624
16:37:54 INFO - raptor-mitmproxy Info: Successfully killed the mitmproxy playback process
16:37:54 INFO - raptor-mitmproxy Info: Turning off the browser proxy
16:37:54 INFO - raptor-mitmproxy Info: writing: /home/kimberly/Workspace/mozilla-unified/obj-x86_64-pc-linux-gnu/dist/bin/distribution/policies.json
16:37:54 INFO - perftest-results-handler Info: retrieving browsertime test results
16:37:54 INFO - perftest-results-handler Info: found browsertime results at /home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/blobber_upload_dir/browsertime-results/reddit/browsertime.json
16:37:54 INFO - perftest-results-handler Info: parsing results from browsertime json
16:37:54 INFO - perftest-results-handler Info: {'here': '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/tests/tp6/desktop', 'alert_on': ['fcp', 'loadtime'], 'alert_threshold': '2.0', 'apps': 'firefox, chrome, chromium', 'browser_cycles': 1, 'lower_is_better': True, 'measure': ['fnbpaint', 'fcp', 'dcf', 'loadtime'], 'page_cycles': 2, 'page_timeout': '60000', 'playback': 'mitmproxy', 'playback_pageset_manifest': 'mitm6-linux-firefox-reddit.manifest', 'playback_version': '6.0.2', 'type': 'pageload', 'unit': 'ms', 'use_live_sites': 'false', 'test_url': 'https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/', 'secondary_url': 'https://www.reddit.com/r/technology/', 'name': 'reddit', 'manifest': '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/tests/tp6/desktop/browsertime-tp6.ini', 'manifest_relpath': 'tests/tp6/desktop/browsertime-tp6.ini', 'path': '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/tests/tp6/desktop/reddit', 'relpath': 'tests/tp6/desktop/reddit', 'ancestor_manifest': 'raptor.ini', 'expected': 'pass', 'cold': True, 'expected_browser_cycles': 1, 'browser_cycle': 1}
16:37:54 INFO - perftest-results-handler Info: parsed new pageload result: {'bt_ver': '14.5.0', 'browser': {'cpuBenchmark': 79, 'userAgent': 'Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0', 'windowSize': '1024x683'}, 'url': ('https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/,',), 'name': 'reddit', 'measurements': {'fnbpaint': [345], 'fcp': [329], 'dcf': [1044], 'loadtime': [3137]}, 'statistics': {'fnbpaint': {'median': 345, 'mean': 345, 'mdev': 0, 'stddev': 0, 'min': 345, 'p10': 345, 'p90': 345, 'p99': 345, 'max': 345}, 'fcp': {'median': 329, 'mean': 329, 'mdev': 0, 'stddev': 0, 'min': 329, 'p10': 329, 'p90': 329, 'p99': 329, 'max': 329}, 'dcf': {'median': 1044, 'mean': 1044, 'mdev': 0, 'stddev': 0, 'min': 1044, 'p10': 1044, 'p90': 1044, 'p99': 1044, 'max': 1044}, 'loadtime': {'median': 3137, 'mean': 3137, 'mdev': 0, 'stddev': 0, 'min': 3137, 'p10': 3137, 'p90': 3137, 'p99': 3137, 'max': 3137}}, 'type': 'pageload', 'unit': 'ms', 'lower_is_better': True, 'alert_threshold': '2.0', 'cold': True, 'subtest_lower_is_better': True, 'subtest_unit': 'ms', 'extra_options': ['cold'], 'tags': []}
16:37:54 INFO - perftest-results-handler Info: {'here': '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/tests/tp6/desktop', 'alert_on': ['fcp', 'loadtime'], 'alert_threshold': '2.0', 'apps': 'firefox, chrome, chromium', 'browser_cycles': 1, 'lower_is_better': True, 'measure': ['fnbpaint', 'fcp', 'dcf', 'loadtime'], 'page_cycles': 2, 'page_timeout': '60000', 'playback': 'mitmproxy', 'playback_pageset_manifest': 'mitm6-linux-firefox-reddit.manifest', 'playback_version': '6.0.2', 'type': 'pageload', 'unit': 'ms', 'use_live_sites': 'false', 'test_url': 'https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/', 'secondary_url': 'https://www.reddit.com/r/technology/', 'name': 'reddit', 'manifest': '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/tests/tp6/desktop/browsertime-tp6.ini', 'manifest_relpath': 'tests/tp6/desktop/browsertime-tp6.ini', 'path': '/home/kimberly/Workspace/mozilla-unified/testing/raptor/raptor/tests/tp6/desktop/reddit', 'relpath': 'tests/tp6/desktop/reddit', 'ancestor_manifest': 'raptor.ini', 'expected': 'pass', 'cold': True, 'expected_browser_cycles': 1, 'browser_cycle': 1}
16:37:54 INFO - perftest-results-handler Info: parsed new pageload result: {'bt_ver': '14.5.0', 'browser': {'cpuBenchmark': 107, 'userAgent': 'Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0', 'windowSize': '1024x683'}, 'url': ('https://www.reddit.com/r/technology/comments/9sqwyh/we_posed_as_100_senators_to_run_ads_on_facebook/?browsertime_run=2,',), 'name': 'reddit', 'measurements': {'fnbpaint': [292], 'fcp': [281], 'dcf': [488], 'loadtime': [1693]}, 'statistics': {'fnbpaint': {'median': 292, 'mean': 292, 'mdev': 0, 'stddev': 0, 'min': 292, 'p10': 292, 'p90': 292, 'p99': 292, 'max': 292}, 'fcp': {'median': 281, 'mean': 281, 'mdev': 0, 'stddev': 0, 'min': 281, 'p10': 281, 'p90': 281, 'p99': 281, 'max': 281}, 'dcf': {'median': 488, 'mean': 488, 'mdev': 0, 'stddev': 0, 'min': 488, 'p10': 488, 'p90': 488, 'p99': 488, 'max': 488}, 'loadtime': {'median': 1693, 'mean': 1693, 'mdev': 0, 'stddev': 0, 'min': 1693, 'p10': 1693, 'p90': 1693, 'p99': 1693, 'max': 1693}}, 'type': 'pageload', 'unit': 'ms', 'lower_is_better': True, 'alert_threshold': '2.0', 'cold': True, 'subtest_lower_is_better': True, 'subtest_unit': 'ms', 'extra_options': ['warm'], 'tags': []}
16:37:54 INFO - perftest-output Info: preparing browsertime results for output
16:37:54 INFO - perftest-output Info: turning on subtest alerting for measurement type: fcp
16:37:54 INFO - perftest-output Info: turning on subtest alerting for measurement type: loadtime
16:37:54 INFO - perftest-output Info: turning on subtest alerting for measurement type: fcp
16:37:54 INFO - perftest-output Info: turning on subtest alerting for measurement type: loadtime
16:37:54 INFO - perftest-output Info: PERFHERDER_DATA: {"framework": {"name": "browsertime"}, "suites": [{"name": "reddit", "type": "pageload", "extraOptions": ["cold"], "tags": ["cold"], "lowerIsBetter": true, "unit": "ms", "alertThreshold": 2.0, "subtests": [{"name": "dcf", "lowerIsBetter": true, "alertThreshold": 2.0, "unit": "ms", "replicates": [1044], "value": 1044}, {"name": "fcp", "lowerIsBetter": true, "alertThreshold": 2.0, "unit": "ms", "shouldAlert": true, "replicates": [329], "value": 329}, {"name": "fnbpaint", "lowerIsBetter": true, "alertThreshold": 2.0, "unit": "ms", "replicates": [345], "value": 345}, {"name": "loadtime", "lowerIsBetter": true, "alertThreshold": 2.0, "unit": "ms", "shouldAlert": true, "replicates": [3137], "value": 3137}]}, {"name": "reddit", "type": "pageload", "extraOptions": ["warm"], "tags": ["warm"], "lowerIsBetter": true, "unit": "ms", "alertThreshold": 2.0, "subtests": [{"name": "dcf", "lowerIsBetter": true, "alertThreshold": 2.0, "unit": "ms", "replicates": [488], "value": 488}, {"name": "fcp", "lowerIsBetter": true, "alertThreshold": 2.0, "unit": "ms", "shouldAlert": true, "replicates": [281], "value": 281}, {"name": "fnbpaint", "lowerIsBetter": true, "alertThreshold": 2.0, "unit": "ms", "replicates": [292], "value": 292}, {"name": "loadtime", "lowerIsBetter": true, "alertThreshold": 2.0, "unit": "ms", "shouldAlert": true, "replicates": [1693], "value": 1693}]}], "application": {"name": "firefox", "version": "95.0a1"}}
16:37:54 INFO - perftest-output Info: results can also be found locally at: /home/kimberly/Workspace/mozilla-unified/testing/mozharness/build/raptor.json
16:37:54 INFO - perftest-results-handler Info: Validating PERFHERDER_DATA against /home/kimberly/Workspace/mozilla-unified/testing/mozharness/external_tools/performance-artifact-schema.json
16:37:54 INFO - Return code: 0
16:37:54 INFO - Running post-action listener: _package_coverage_data
16:37:54 INFO - Running post-action listener: _resource_record_post_action
16:37:54 INFO - Running post-action listener: process_java_coverage_data
16:37:54 INFO - Running post-action listener: stop_device
16:37:54 INFO - [mozharness: 2021-10-28 16:37:54.506709Z] Finished run-tests step (success)
16:37:54 INFO - Running post-run listener: _resource_record_post_run
16:37:54 INFO - Total resource usage - Wall time: 47s; CPU: 18%; Read bytes: 72368128; Write bytes: 257441792; Read time: 367; Write time: 12771
16:37:54 INFO - TinderboxPrint: CPU usage<br/>18.3%
16:37:54 INFO - TinderboxPrint: I/O read bytes / time<br/>72,368,128 / 367
16:37:54 INFO - TinderboxPrint: I/O write bytes / time<br/>257,441,792 / 12,771
16:37:54 INFO - TinderboxPrint: CPU idle<br/>460.5 (81.5%)
16:37:54 INFO - TinderboxPrint: CPU system<br/>16.4 (2.9%)
16:37:54 INFO - TinderboxPrint: CPU user<br/>81.9 (14.5%)
16:37:54 INFO - TinderboxPrint: Swap in / out<br/>0 / 565,248
16:37:54 INFO - install-chromium-distribution - Wall time: 0s; CPU: Can't collect data; Read bytes: 0; Write bytes: 0; Read time: 0; Write time: 0
16:37:54 INFO - run-tests - Wall time: 48s; CPU: 18%; Read bytes: 61943808; Write bytes: 257069056; Read time: 299; Write time: 12769
16:37:54 INFO - Collecting usage
16:37:54 INFO - Processing ping at: /home/kimberly/.mozbuild/glean/pending_pings/77e1538a-ec3b-422e-a01f-5ecc4462ffdc
16:37:54 INFO - The ping 'usage' was submitted and will be sent as soon as possible
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment