NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

Runping Lai

Developer

Runping Lai

runpinglai@google.com

13 commits~9 files/commit

Performance

2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthSep'2555 performance
Growth Trend↑112%vs prior period
Avg Files/Commit9files per commit
Active Days11of 455 days
Top Repoperfetto13 commits

Effort Over Time

Breakdown of growth, maintenance, and fixes effort over time.

Bug Behavior

Beta

Bugs introduced vs. fixed over time.

No bugs introduced or fixed in this period.

Recent Activity

Latest analyzed commits from this developer.

HashMessageDateFilesEffort
4cead1bThis commit introduces **new capabilities** to the **Wattson power estimation system** by adding support for **TPU (Tensor Processing Unit) v1 and v2 power metrics**. It extends the existing **Android power metrics** within the **Trace Processor** to include detailed TPU subsystem power consumption. This involves updating **protocol buffer definitions** in `protos/perfetto/metrics/android/wattson_in_time_period.proto` to accommodate new TPU estimate fields and modifying several **SQL metric scripts** to calculate and integrate `tpu_mw` into various power rail analyses. Specifically, `src/trace_processor/metrics/sql/android/wattson_rail_relations.sql` and `src/trace_processor/perfetto_sql/stdlib/wattson/aggregation.sql` are updated for TPU power calculations. The change provides a more comprehensive view of device power usage, allowing users to analyze **TPU power consumption** alongside CPU and GPU metrics.Mar 109grow
76761eeThis commit introduces a **new capability** to the **Wattson UI** by adding **TPU power estimate visualization**, mirroring the existing CPU and GPU power tracks. It extends the `Wattson` plugin's functionality to detect TPU support and dynamically render **TPU subsystem estimate tracks** within the UI. Specifically, the `onAreaChange` logic in `estimate_aggregator.ts` is updated to process these new tracks, while `index.ts` gains new functions like `hasWattsonTpuSupport` and `addWattsonTpuElements` to manage their activation and display. This enhancement provides users with a more comprehensive view of power consumption across various hardware components.Mar 103grow
c812dd6This commit **adds a new capability** to the **Wattson power estimation framework** within the `trace_processor` `stdlib`, introducing a **multi-dimensional TPU power model**. This model estimates **TPU power consumption** by integrating frequency, cluster, and parallel request concurrency, utilizing a non-linear power curve lookup table. The **feature addition** involves extracting TPU frequency and request states from trace events, which are then used to provide continuous TPU power estimates for the UI and enhance the overall `_windowed_system_state_mw` calculations. This significantly expands Wattson's ability to analyze power usage for TPU-accelerated workloads.Mar 911grow
23a2c21This commit introduces the **Wattson Metric v2 implementation**, a **new capability** that significantly refactors and enhances power attribution analysis within the **Perfetto trace processor's SQL stdlib**. Essential metric calculation logic, including detailed thread, rail, and base component power aggregations, has been moved into new `stdlib` SQL files like `aggregation.sql` and `windows.sql`, which define standardized analysis windows. This update flattens the previously nested metric proto structure, providing a more efficient and standardized way to consume power data and improving the overall **Wattson power analysis subsystem**.Feb 106grow
bffbcbeThis commit **adds PowerVR GPU power estimation support** to the **`wattson` module** within **`perfetto_sql`**. It introduces new power curve data for the **'Tensor G5' GPU** and generalizes the GPU power state inference logic, including the `_gpu_power_state` view, to accommodate multiple GPU architectures. This **new capability** also involves a **refactoring** of the UI's platform validation logic, specifically the `hasWattsonGpuSupport` function, to correctly identify supported GPU types. The changes enable more comprehensive power analysis for a broader range of devices by extending `wattson`'s capabilities.Jan 163grow
245bd6bThis commit **integrates a new `power/gpu_power_state` ftrace tracepoint** into the **Perfetto tracing system**, enabling the collection of PowerVR GPU power states (ON/OFF/PG). It introduces the `GpuPowerStateFtraceEvent` proto definition and updates the `traced` component to recognize this event. Crucially, the **`trace_processor`** now includes dedicated parsing logic, specifically the `ParseGpuPowerState` function, to correctly interpret these new events. This **new capability** significantly enhances debugging and analysis of GPU power consumption and state transitions within Perfetto traces.Jan 129grow
fdb95baThis commit **refactors** the **Wattson plugin**'s warning logic to improve user experience and address issues from a previous revert. It now ensures that **Wattson warnings** and blank tracks are only displayed if the user has explicitly enabled Wattson Markers, preventing unsolicited UI clutter for non-Wattson users. The work involves moving warning-related functions into a new `ui/src/plugins/org.kernel.Wattson/warning.ts` file, centralizing checks for sufficient CPU trace configurations for `power/cpu_frequency` and `devfreq/devfreq_frequency` data. This **maintenance** and **bug fix** significantly improves the **UI experience** by making Wattson features opt-in and more targeted.Dec 12maint
4f4ef4cThis commit **refactors** the **Wattson performance analysis module** within the `stdlib` by **removing hardcoded GPU IDs** from its GPU frequency calculations. It introduces a new Perfetto table, `_gpuid_map`, in `src/trace_processor/perfetto_sql/stdlib/wattson/device_infos.sql` to store device-specific mappings from device names to GPU IDs. The `src/trace_processor/perfetto_sql/stdlib/wattson/gpu/freq_idle.sql` script is updated to dynamically determine the `gpu_id` using this new map, rather than a static value. This **maintenance improvement** enhances the **accuracy and portability of GPU frequency analysis** across different devices.Nov 62waste
0ce5e90This commit **updates the Perfetto SQL documentation** to include a newly identified best practice for using `MACRO`s. It adds a **new recommended use case** for defining simple, frequently referenced constants with `MACRO`s within `docs/analysis/perfetto-sql-syntax.md`. This **maintenance** change clarifies the performance implications of choosing between `MACRO`s and `FUNCTION`s for scalar SQL values, emphasizing that `MACRO`s prevent significant overhead in **performance-sensitive queries** due to their inlining capabilities. The update helps users optimize their SQL by avoiding the performance penalties associated with non-inlinable `FUNCTION`s for constants.Oct 151maint
ecbe55dThis commit **refactors** the `trace_processor`'s SQL standard library by **replacing the magic number `255`** with a formal, named function `_dsu_dep()` for representing DSU CPU dependency. This **refactoring** effort defines `_dsu_dep()` within `wattson/utils.sql` and integrates it across several **`wattson` curve definitions**, including `device_cpu_2d`, `device_l3`, `tg5_cpu_2d`, and `tg5_l3`. The change improves code clarity and maintainability by centralizing the definition of this dependency. Future code should now explicitly reference `_dsu_dep()` instead of using the opaque numerical value, enhancing the **readability and robustness** of the `wattson` module.Oct 156maint
f98fd0eThis commit **refactors** the **Wattson plugin** within the Perfetto UI, separating the logic for generating and displaying warnings. The configuration checking logic has been extracted from `index.ts` into a new, dedicated file, `warning.ts`, improving code organization and extensibility. This **enhancement** introduces new checks for `atrace_categories` and `predefined cpu_idle/freq_ms`, leading to more comprehensive and accurate Wattson warnings regarding CPU configuration. Additionally, the **CPU track** is now consistently displayed, ensuring users always see relevant warning messages and improving the diagnostic experience.Sep 1960maint
c9f9294This commit introduces **warning messages** within the **Perfetto UI** to inform users when their trace configuration is missing essential `ftrace_events` for the **Wattson plugin** to display CPU track data. This **new capability** significantly improves the **user experience** by preventing confusion when Wattson tracks appear empty due to incomplete trace setups. Specifically, the `ui/src/plugins/org.kernel.Wattson` module now checks for sufficient CPU trace configurations using `hasWattsonSufficientCPUConfigs` and modifies the display of individual **CPU tracks** via `addWattsonCpuElements` to show a list of missing events. Users will see a red warning message, generated by comparing configured events against a minimum set, when hovering over the "help" icon on affected tracks, guiding them to correct their trace configurations.Sep 162grow
f0873c8This commit **uniforms the displayed columns** for **Wattson Power Estimates** at the **package-level** within the **Perfetto UI**. It **adds missing columns** such as `Idle transitions overhead`, `Total energy`, and `% of total energy` to align with thread and process-level views, while also removing an extraneous `Total Duration` column. Furthermore, this **bug fix** addresses a discrepancy in `Total Energy` values caused by a `NULL` UID for the "swapper" thread, ensuring **accurate and consistent power estimation data** across all aggregation levels. The changes primarily affect the **Wattson package-level aggregation logic** within `ui/src/plugins/org.kernel.Wattson/package_aggregator.ts`. This work significantly improves the **consistency and reliability of power consumption metrics** presented to users.Sep 111grow
4cead1bMar 10

This commit introduces **new capabilities** to the **Wattson power estimation system** by adding support for **TPU (Tensor Processing Unit) v1 and v2 power metrics**. It extends the existing **Android power metrics** within the **Trace Processor** to include detailed TPU subsystem power consumption. This involves updating **protocol buffer definitions** in `protos/perfetto/metrics/android/wattson_in_time_period.proto` to accommodate new TPU estimate fields and modifying several **SQL metric scripts** to calculate and integrate `tpu_mw` into various power rail analyses. Specifically, `src/trace_processor/metrics/sql/android/wattson_rail_relations.sql` and `src/trace_processor/perfetto_sql/stdlib/wattson/aggregation.sql` are updated for TPU power calculations. The change provides a more comprehensive view of device power usage, allowing users to analyze **TPU power consumption** alongside CPU and GPU metrics.

9 filesgrow
76761eeMar 10

This commit introduces a **new capability** to the **Wattson UI** by adding **TPU power estimate visualization**, mirroring the existing CPU and GPU power tracks. It extends the `Wattson` plugin's functionality to detect TPU support and dynamically render **TPU subsystem estimate tracks** within the UI. Specifically, the `onAreaChange` logic in `estimate_aggregator.ts` is updated to process these new tracks, while `index.ts` gains new functions like `hasWattsonTpuSupport` and `addWattsonTpuElements` to manage their activation and display. This enhancement provides users with a more comprehensive view of power consumption across various hardware components.

3 filesgrow
c812dd6Mar 9

This commit **adds a new capability** to the **Wattson power estimation framework** within the `trace_processor` `stdlib`, introducing a **multi-dimensional TPU power model**. This model estimates **TPU power consumption** by integrating frequency, cluster, and parallel request concurrency, utilizing a non-linear power curve lookup table. The **feature addition** involves extracting TPU frequency and request states from trace events, which are then used to provide continuous TPU power estimates for the UI and enhance the overall `_windowed_system_state_mw` calculations. This significantly expands Wattson's ability to analyze power usage for TPU-accelerated workloads.

11 filesgrow
23a2c21Feb 10

This commit introduces the **Wattson Metric v2 implementation**, a **new capability** that significantly refactors and enhances power attribution analysis within the **Perfetto trace processor's SQL stdlib**. Essential metric calculation logic, including detailed thread, rail, and base component power aggregations, has been moved into new `stdlib` SQL files like `aggregation.sql` and `windows.sql`, which define standardized analysis windows. This update flattens the previously nested metric proto structure, providing a more efficient and standardized way to consume power data and improving the overall **Wattson power analysis subsystem**.

6 filesgrow
bffbcbeJan 16

This commit **adds PowerVR GPU power estimation support** to the **`wattson` module** within **`perfetto_sql`**. It introduces new power curve data for the **'Tensor G5' GPU** and generalizes the GPU power state inference logic, including the `_gpu_power_state` view, to accommodate multiple GPU architectures. This **new capability** also involves a **refactoring** of the UI's platform validation logic, specifically the `hasWattsonGpuSupport` function, to correctly identify supported GPU types. The changes enable more comprehensive power analysis for a broader range of devices by extending `wattson`'s capabilities.

3 filesgrow
245bd6bJan 12

This commit **integrates a new `power/gpu_power_state` ftrace tracepoint** into the **Perfetto tracing system**, enabling the collection of PowerVR GPU power states (ON/OFF/PG). It introduces the `GpuPowerStateFtraceEvent` proto definition and updates the `traced` component to recognize this event. Crucially, the **`trace_processor`** now includes dedicated parsing logic, specifically the `ParseGpuPowerState` function, to correctly interpret these new events. This **new capability** significantly enhances debugging and analysis of GPU power consumption and state transitions within Perfetto traces.

9 filesgrow
fdb95baDec 1

This commit **refactors** the **Wattson plugin**'s warning logic to improve user experience and address issues from a previous revert. It now ensures that **Wattson warnings** and blank tracks are only displayed if the user has explicitly enabled Wattson Markers, preventing unsolicited UI clutter for non-Wattson users. The work involves moving warning-related functions into a new `ui/src/plugins/org.kernel.Wattson/warning.ts` file, centralizing checks for sufficient CPU trace configurations for `power/cpu_frequency` and `devfreq/devfreq_frequency` data. This **maintenance** and **bug fix** significantly improves the **UI experience** by making Wattson features opt-in and more targeted.

2 filesmaint
4f4ef4cNov 6

This commit **refactors** the **Wattson performance analysis module** within the `stdlib` by **removing hardcoded GPU IDs** from its GPU frequency calculations. It introduces a new Perfetto table, `_gpuid_map`, in `src/trace_processor/perfetto_sql/stdlib/wattson/device_infos.sql` to store device-specific mappings from device names to GPU IDs. The `src/trace_processor/perfetto_sql/stdlib/wattson/gpu/freq_idle.sql` script is updated to dynamically determine the `gpu_id` using this new map, rather than a static value. This **maintenance improvement** enhances the **accuracy and portability of GPU frequency analysis** across different devices.

2 fileswaste
0ce5e90Oct 15

This commit **updates the Perfetto SQL documentation** to include a newly identified best practice for using `MACRO`s. It adds a **new recommended use case** for defining simple, frequently referenced constants with `MACRO`s within `docs/analysis/perfetto-sql-syntax.md`. This **maintenance** change clarifies the performance implications of choosing between `MACRO`s and `FUNCTION`s for scalar SQL values, emphasizing that `MACRO`s prevent significant overhead in **performance-sensitive queries** due to their inlining capabilities. The update helps users optimize their SQL by avoiding the performance penalties associated with non-inlinable `FUNCTION`s for constants.

1 filesmaint
ecbe55dOct 15

This commit **refactors** the `trace_processor`'s SQL standard library by **replacing the magic number `255`** with a formal, named function `_dsu_dep()` for representing DSU CPU dependency. This **refactoring** effort defines `_dsu_dep()` within `wattson/utils.sql` and integrates it across several **`wattson` curve definitions**, including `device_cpu_2d`, `device_l3`, `tg5_cpu_2d`, and `tg5_l3`. The change improves code clarity and maintainability by centralizing the definition of this dependency. Future code should now explicitly reference `_dsu_dep()` instead of using the opaque numerical value, enhancing the **readability and robustness** of the `wattson` module.

6 filesmaint
f98fd0eSep 19

This commit **refactors** the **Wattson plugin** within the Perfetto UI, separating the logic for generating and displaying warnings. The configuration checking logic has been extracted from `index.ts` into a new, dedicated file, `warning.ts`, improving code organization and extensibility. This **enhancement** introduces new checks for `atrace_categories` and `predefined cpu_idle/freq_ms`, leading to more comprehensive and accurate Wattson warnings regarding CPU configuration. Additionally, the **CPU track** is now consistently displayed, ensuring users always see relevant warning messages and improving the diagnostic experience.

60 filesmaint
c9f9294Sep 16

This commit introduces **warning messages** within the **Perfetto UI** to inform users when their trace configuration is missing essential `ftrace_events` for the **Wattson plugin** to display CPU track data. This **new capability** significantly improves the **user experience** by preventing confusion when Wattson tracks appear empty due to incomplete trace setups. Specifically, the `ui/src/plugins/org.kernel.Wattson` module now checks for sufficient CPU trace configurations using `hasWattsonSufficientCPUConfigs` and modifies the display of individual **CPU tracks** via `addWattsonCpuElements` to show a list of missing events. Users will see a red warning message, generated by comparing configured events against a minimum set, when hovering over the "help" icon on affected tracks, guiding them to correct their trace configurations.

2 filesgrow
f0873c8Sep 11

This commit **uniforms the displayed columns** for **Wattson Power Estimates** at the **package-level** within the **Perfetto UI**. It **adds missing columns** such as `Idle transitions overhead`, `Total energy`, and `% of total energy` to align with thread and process-level views, while also removing an extraneous `Total Duration` column. Furthermore, this **bug fix** addresses a discrepancy in `Total Energy` values caused by a `NULL` UID for the "swapper" thread, ensuring **accurate and consistent power estimation data** across all aggregation levels. The changes primarily affect the **Wattson package-level aggregation logic** within `ui/src/plugins/org.kernel.Wattson/package_aggregator.ts`. This work significantly improves the **consistency and reliability of power consumption metrics** presented to users.

1 filesgrow

Work Patterns

Beta

Commit activity distribution by hour and day of week. Shows when this developer is most active.

Collaboration

Beta

Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.

NavigaraNavigara
OrganizationsDistributionCompareResearch