webrtc/tools_webrtc
Evan Shrubsole db50b03553 Add perfetto build config
This adds Perfetto support to WebRTC with a GN flag rtc_use_perfetto.
The configuration of perfetto depends on whether or not webrtc is
build within Chrome or not. When in Chrome, WebRTC will depend on
//third_party/perfetto:libperfetto. When building standalone, specific includes required for Perfetto are exposed with the library webrtc_libperfetto.

The perfetto trace API is exposed with a header export in
trace_event.h which is used instead of the legacy API.

The addition of Perfetto means there are 4 compilation modes for
tracing in WebRTC,
1. No tracing implementation.
2. Legacy tracing (AddTraceEvent/GetCategoryEnabled).
3.a. Perfetto statically linked (webrtc_libperfetto).
3.b. Perfetto in Chrome (Chrome's libperfetto).

This CL removes the tracing expectations from
rtc_stats_integrationtest.cc because those directly used the old API.

Integration into Chrome is a follow up CL which depends on
https://chromium-review.googlesource.com/c/chromium/src/+/5471691.

Tested: Ran Chrome with Perfetto and traces appear. WebRTC Unit test tracing working: https://ui.perfetto.dev/#!?s=04ea2613ea36b814394639a1ec4b60be5b5097527f1a485995ecc13469885468
Bug: webrtc:15917
Change-Id: I537d79dc247c2b759689910c621087286a4d8fdc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/347880
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mikhail Khokhlov <khokhlov@google.com>
Cr-Commit-Position: refs/heads/main@{#42166}
2024-04-24 20:53:23 +00:00
..
android Roll chromium_revision 5350dd2460..d5c79b109a (1281218:1283550) 2024-04-08 08:12:19 +00:00
apple tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
audio_quality Rename tools-webrtc -> tools_webrtc 2017-05-09 06:30:13 +00:00
autoroller Exclude protobuf-javascript since we do not need in WebRTC standalone 2024-04-05 07:32:36 +00:00
chromiumos Add directory for ChromiumOS specific tools 2024-02-26 03:46:59 +00:00
coverage Remove low_bandwidth_audio_test. 2023-06-01 07:20:38 +00:00
cpu tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
ios Roll chromium_revision 5350dd2460..d5c79b109a (1281218:1283550) 2024-04-08 08:12:19 +00:00
iwyu Use clang-include-cleaner from the llvm clangd package. 2024-04-18 09:51:07 +00:00
libs Roll chromium_revision 5350dd2460..d5c79b109a (1281218:1283550) 2024-04-08 08:12:19 +00:00
matlab Rename tools-webrtc -> tools_webrtc 2017-05-09 06:30:13 +00:00
mb Add perfetto build config 2024-04-24 20:53:23 +00:00
msan Roll chromium + fix: blacklist -> ignorelist for sanitizers suppressions 2021-05-27 16:16:01 +00:00
network_emulator tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
perf Remove process_perf_results_py2 now that recipe code is using py3. 2022-08-25 13:30:34 +00:00
presubmit_checks_lib Remove stale Android NDK [2/2] 2023-06-08 16:59:33 +00:00
sanitizers Make CreateOffer/CreateAnswer return RTCErrorOr<SessionDescription> 2023-09-26 09:41:30 +00:00
sslroots Rewrite 'generate_sslroots' w/o OpenSSL. 2023-05-10 12:57:37 +00:00
ubsan Fix unaligned memory access detected by UBSAN 2022-12-05 09:56:00 +00:00
version_updater Remove reference to an old branch. 2022-03-07 08:27:23 +00:00
video_quality_toolchain Reland "Remove deprecated barcode scanning functionality" 2018-10-22 21:30:58 +00:00
vim tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
__init__.py clang-tidy helper script, with clang static analyzer included. 2019-02-26 17:06:40 +00:00
binary_version_check.py tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
BUILD.gn Add WebRTC code freshness version string. 2020-12-14 16:22:35 +00:00
clang_tidy.py tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
configure_pipewire.py Use gtest_parallel for PipeWire tests. 2022-11-09 15:37:58 +00:00
download_tools.py tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
ensure_webcam_is_running.py tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
executable_host_build.py tools_webrtc dir converted to py3 + top level PRESUBMIT script 2022-02-08 14:42:26 +00:00
get_landmines.py Reset cache on Windows bots. 2022-09-14 07:07:30 +00:00
gn_check_autofix.py Use the condensed library name when fixing "foo:foo" dependencies 2022-06-23 12:57:39 +00:00
gtest-parallel-wrapper.py Replace dash by underscore in the command line argument before absl flag parsing. 2022-11-22 11:03:33 +00:00
gtest_parallel_wrapper_test.py Replace dash by underscore in the command line argument before absl flag parsing. 2022-11-22 11:03:33 +00:00
OWNERS remove landrey@ from OWNERS 2023-12-13 16:10:11 +00:00
remove_extra_namespace.py Remove not-needed webrtc:: prefixes in pc/ 2023-11-13 13:23:04 +00:00
whitespace.txt Noop change to trigger bots 2023-02-13 10:30:38 +00:00