mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 01:35:35 +00:00
a7948af624
Add the energy-profiling feature. Users can compile the proper (or their own) version of energymon libraries to capture power/energy data at runtime. The results are accessed through heartbeats. Additionally, there are a couple of python scripts to enable heartbeats for profiler categories and process the results into some visualizations to help understand how time and energy is being spent in Servo. Source-Repo: https://github.com/servo/servo Source-Revision: 7b6c341900a66d1177fdc3f46705e9fb07a5b1dc
4.0 KiB
4.0 KiB
Servo code organization
Servo components
components/servo
: Servo main program.components/servo/main.rs
: Servo's entry point.components/servo/lib.rs
: libservo entry point.components/canvas
: HTML canvas graphics operations.components/compositing
: The compositor and windowing systems.components/devtools
: Server for remote Firefox developer tools.components/gfx
: Graphics rendering, fonts, and text shaping.components/layout
: The layout system.components/msg
: Message structure definitions for inter-task communication.components/net
: Networking, caching, image decoding.components/plugins
: Various compiler plugins and macros used by the rest of Servo.components/script
: The JavaScript and DOM systems.components/style
: The CSS styling system.components/util
: Various utility functions used by other Servo components.components/*_traits
: Trait definitions to break crate dependencies.
Supporting libraries
These libraries are either internal but used by Servo or external and need special integration:
support/android
: Android-specific infrastructure.support/android-rs-glue
: Android apk builder.support/rust-task_info
: A binding to the task_info library on OS X.
Tests
tests/reftest.rs
: Reference (layout) test runner.tests/ref
: Reference tests.tests/html
: Manual test cases and examples.tests/power
: Tests for measuring power usage.- [
tests/heartbeats
][tests/heartbeats]: Tests for profiler-level timing and energy behavior. tests/wpt
: Web platform tests and harness.
Miscellaneous
etc
: Various scripts and files that don't belong anywhere else.etc/patches
: Patches for upstream libraries.