Title: Theory / Important / Chrome / Tool
On every note of this deck, unless a note says otherwise:
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/

Name: Profile-guided optimization
Definition: a compiler optimization technique in computer programming that uses profiling to improve program runtime performance.
Page: https://en.wikipedia.org/wiki/Profile-guided_optimization
Abbreviation: PGO

Instruction: tools/update_pgo_profiles.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/update_pgo_profiles.py
Effect: Downloaded latest pgo for Chrome windows, and clean stale one

Instruction: tools/unused-symbols-report.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/update_pgo_profiles.py
Effect: Prints a report of symbols stripped by the linker due to being unused.

Instruction: tools/uberblame.py file
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/update_pgo_profiles.py
Effect: Show what revision last modified each token of a file.

Instruction: tools/sort_sources.py files
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/update_pgo_profiles.py
Effect: Sort the src in files

Instruction: tools/run-swarmed.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Runs a gtest-based test on Swarming, optionally many times, collecting the
output of the runs into a directory.

Instruction: tools/roll_webgl_conformance.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Auto-generates a CL containing a WebGL conformance roll

Instruction: tools/remove_stale_pyc_files.py dirs
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Remove .pyc in dirs if they don't correspond to existing .py

Instruction: tools/remove_duplicate_includes.py dirs
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: search through the target folder specified and try to find duplicate includes from h and cc files, and remove them from the cc files.
Assuming: current/working directory needs to be chromium_checkout/src/ when this tool is
run.

Instruction: tools/perry.py unittest_executable
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Runs all permutations of pairs of tests in a gtest binary to attempt to detect state leakage between tests.
Assuming: current/working directory needs to be chromium_checkout/src/ when this tool is
run.

Instruction: tools/nocompile_driver.py unittest_executable
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Implements a simple "negative compile" test for C++ on linux.

Name: Negative compile test
Definition: A test that ensure that certain coding constructs fail to compile
Page: https://www.chromium.org/developers/testing/no-compile-tests/

Instruction: tools/multi-process-rss.py pids
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Counts a resident set size (RSS) of multiple processes without double-counts. If they share the same page frame, the page frame is counted only once.

Instruction: tools/make_gtest_filter.py files
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: print gtest identified in the files

Fla: --class-only
Prefix: tools/make_gtest_filter.py files
Print: Limit output only to test fixtures

Fla: --line=foo
Prefix: tools/make_gtest_filter.py files
Print: limit to test at line foo

Fla: --as-filter-file
Effect: Formats output as a GTest filter file.
Prefix: tools/make_gtest_filter.py files

Fla: summary.json --from-failure-summary
Effect: Use a JSON failure summary as the input.
Prefix: tools/make_gtest_filter.py

Fla: --wildcard-compress
Prefix: tools/make_gtest_filter.py
Print: Elide the filter list using wildcards when possible.

Instruction: tools/licences.py scan
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: scan third_party directories, verifying that we have licensing info

Instruction: tools/licences.py credit
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: generate about:credits on stdout

Instruction: tools/ipc_messages_log.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Processes a log file and resolves IPC message identifiers.

Instruction: tools/include_tracer.py -Ifile
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Prints out include dependencies in chrome.

Instruction: tools/hresult_to_enum.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Helper for converting Windows HRESULT defines to enums.xml entries.

Instruction: tools/download_optimization_profile.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: update local profiles (AFDO, PGO or orderfiles)

Instruction: tools/diagnose-me.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Diagnose some common system configuration problems on Linux, and suggest fixes.

Instruction: tools/check_grd_for_unused_strings.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: loads the IDs out of a bunch of the Chrome GRD files, and then checks the subset of the code that loads the strings to try and figure out what isn't in use any more.

Instruction: tools/check_git_config.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: attempts to push to a special git repository to verify that git credentials are configured correctly. It also verifies that gclient solution is configured to use git checkout.

Instruction: tools/buildstate.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Checks to see what build commands are currently running by printing the command lines of any processes that are the children of ninja processes.

Instruction: tools/boilerplate.py file.{h,cc}
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Create files with copyright boilerplate and header include guards.

Instruction: tools/bisect-build.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: bisects a snapshot archive using binary search. It starts at a bad revision (it will try to guess HEAD) and asks for a last known-good revision. It will then binary search across this revision range by downloading, unzipping, and opening Chromium for you. After testing the specific revision, it will ask you whether it is good or bad before continuing the search.

Instruction: tools/autotest.py -C out/foo file.cc
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Run gtests of file.cc

Instruction: tools/auto-nav.py <chrome dir> <number of navigations> <url> <url>
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: This script runs Chrome and automatically navigates through the given list of URLs the specified number of times.

Instruction: tools/apply_cpplint_header_guard.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Applies cpplint build/header_guard recommendations.

Instruction: tools/add_header.py --header 'header' files
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/
Effect: Add `#include header`
in files

Instruction: TODO
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/win/
https://source.chromium.org/chromium/chromium/src/+/main:tools/web_dev_style/
https://source.chromium.org/chromium/chromium/src/+/main:tools/web_bluetooth/
https://source.chromium.org/chromium/chromium/src/+/main:tools/vscode/
https://source.chromium.org/chromium/chromium/src/+/main:tools/visual_debugger/
https://source.chromium.org/chromium/chromium/src/+/main:tools/vim/
https://source.chromium.org/chromium/chromium/src/+/main:tools/traffic_annotation/
https://source.chromium.org/chromium/chromium/src/+/main:tools/tracing/
https://source.chromium.org/chromium/chromium/src/+/main:tools/traceline/

Instruction: ./tools/variations/fieldtrial_to_struct.py -s schema -p platform description
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/variations/fieldtrial_to_struct.py
Effect: Generates a struct from a JSON description

Instruction: ./tools/variations/cleanup_stale_fieldtrial_configs.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/variations/fieldtrial_to_struct.py
Effect: cleaning up stale configs from fieldtrial_testing_config.

Instruction: ./tools/variations/bisect_variations.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/variations/fieldtrial_to_struct.py
Effect: bisect field trials to pin point a culprit for certain behavior.

Instruction: ./tools/variations/split_variations_cmd.py
Page: https://source.chromium.org/chromium/chromium/src/+/main:tools/variations/fieldtrial_to_struct.py
Effect: split Chrome variations into two sets.