NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

Ryan

Developer

Ryan

rsavitski@google.com

84 commits~6 files/commit

Performance

YoY:+297%
2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthMar'25300 performance
Growth Trend↓29%vs prior period
Avg Files/Commit6files per commit
Active Days53of 455 days
Top Repoperfetto84 commits

Effort Over Time

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

Bug Behavior

Beta

Bugs introduced vs. fixed over time.

Investment Quality

Beta

Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.

44%Productive TimeGrowth 76% + Fixes 24%
50%Maintenance Time
6%Wasted Time
How it works

Methodology

Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.

Relationship to Growth / Maintenance / Fixes

The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.

Proposed API Endpoint

Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:

POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json

Request:
{
  "startTime": "2025-01-01T00:00:00Z",
  "endTime": "2025-12-31T23:59:59Z",
  "bucketSize": "BUCKET_SIZE_MONTH",
  "groupBy": ["repository_id" | "deliverer_email"]
}

Response:
{
  "productivePct": 74,
  "maintenancePct": 18,
  "wastedPct": 8,
  "buckets": [
    {
      "bucketStart": "2025-01-01T00:00:00Z",
      "productive": 4.2,
      "maintenance": 1.8,
      "wasted": 0.6
    }
  ]
}

Recent Activity

Latest analyzed commits from this developer.

HashMessageDateFilesEffort
b930e3cThis commit **enhances the `heapprofd` memory profiling system** by **exposing a new `reallocarray` hook** for bionic. It introduces the `heapprofd_reallocarray` function in `src/profiling/memory/malloc_interceptor_bionic_hooks.cc`, allowing the bionic allocator to intercept and profile `reallocarray` calls. Concurrently, the `wrap_reallocarray` function in `src/profiling/memory/wrap_allocators.cc` is **improved to include an overflow check** for `nmemb * size`, ensuring correct allocation size reporting and robust handling of potential integer overflow scenarios. This work provides **more comprehensive and robust memory profiling** for `reallocarray` operations, addressing a reported bug and improving the accuracy of memory usage analysis.Mar 52waste
25dfa45This commit **enhances the UI's track grouping functionality** by ensuring that **process-scoped kernel thread tracks** are correctly aggregated under the "Kernel threads" group, resolving an issue where they were previously overlooked. It **refactors** the `ProcessThreadGroups` plugin, simplifying the kernel thread query by leveraging the `viz.threads` module and removing an always-empty summary track for a cleaner display. This **feature enhancement** provides users with a more comprehensive and organized view of kernel activity within the trace UI, with numerous UI screenshots updated to reflect these visual changes.Dec 122maint
1573266This commit performs **code cleanup** by **removing unused files** from the **`traceconv` utility**. These files, located within the `traceconv` module, became obsolete and unreferenced following a prior change (r.android.com/2005680). This **maintenance task** streamlines the codebase, reducing project bloat and improving overall maintainability without impacting any active functionality.Nov 248–
7554ee3This commit introduces a significant **feature enhancement** to the `traceconv profile` command, enabling **automatic detection of profile types** within a trace. It **refactors** the profile conversion logic into a unified `TraceToProfile` function and `DetectConversionMode`, simplifying the user experience by eliminating the need for explicit flags for common profile types like allocator, perf, and Android Java heap graphs. The `traceconv` tool will now intelligently identify the profile type, prompting the user for clarification only if multiple types are present, and includes **updated documentation** and **integration tests** for this new functionality.Nov 2410grow
b15cc39This commit performs a **maintenance update** to the **Ftrace data model and serialization/deserialization logic** for `workqueue` events within Perfetto. It **regenerates protobuf definitions** and **adjusts the Ftrace parser and event information** to align with recent Linux kernel changes, such as the addition of `activate_work.function`, `queue_work.workqueue` becoming a string, and `queue_work.*cpu` fields becoming signed. This ensures correct ingestion of `workqueue` trace data from newer kernels (v5.19+), though it introduces a known limitation where `*cpu` fields might be skipped on kernels v5.18 and below due to encoder constraints. The changes span `protos/perfetto/trace/ftrace/workqueue.proto`, `src/trace_processor/importers/ftrace/`, and `src/traced/probes/ftrace/`.Nov 2027waste
2fdc6aeThis commit introduces a **breaking change** to the **multi-machine tracing** behavior in Perfetto, specifically altering how **data sources are matched** across remote producers connected via `traced_relay`. By default, data sources will now only match on the host machine, rather than automatically matching across all connected machines. A **new configuration option**, `trace_all_machines`, has been added to `TraceConfig` to allow users to explicitly enable matching data sources from all machines. This **new capability** and default change prevents unexpected data collection for users accustomed to single-machine tracing, while still allowing explicit multi-machine data collection and indicating the presence of remote machines via `system_info` and `remote_clock_sync` packets.Nov 2011grow
60767b0This commit **introduces a new capability** to the **Trace Processor's ftrace importer** by adding support for the `fwtp_perfetto_counter` ftrace event. It updates `src/trace_processor/importers/ftrace/ftrace_descriptors.cc` with a new `FtraceMessageDescriptor` that defines the event's structure, including its fields and types. This **feature enhancement** allows the trace processor to correctly parse and interpret data from this specific ftrace event, providing more comprehensive insights for **tprobes** and related performance counter analysis. The update was performed by running `tools/run_ftrace_proto_gen`, ensuring the trace processor's ftrace event definitions are up-to-date.Nov 181grow
86461b2This commit **increases the shared memory allocation** for the **`traced_probes`** component from 1MB to 2MB within `src/traced/probes/probes_producer.cc`. This **bug fix** addresses a resource starvation issue where `traced_probes` was experiencing shared memory exhaustion when many concurrent data sources, particularly from `droidfood` tracing, were active. By doubling the requested shared memory, the change provides critical **headroom** to prevent future starvation, thereby improving the reliability and performance of tracing operations under heavy load.Nov 52waste
dc9401bThis commit introduces **new crash keys** within the **`tprobes`** module to track the number of active data sources and tracing sessions. Specifically, `src/traced/probes/probes_producer.cc` is updated to increment and decrement these keys in the `SetupDataSource` and `StopDataSource` functions. This **debugging/tracking enhancement** aims to diagnose shared memory starvation issues in `traced_probes` that can occur when `droidfood tracing` instantiates many concurrent data sources. By providing this telemetry, the change helps understand and resolve performance bottlenecks related to shared memory capacity on Android.Nov 51grow
3233c60This commit **refactors** the **`trace_processor`'s `perf` data importer** by renaming the `PerfSession` class to `PerfInvocation`. This extensive change, affecting files like `perf_invocation.h`, `perf_invocation.cc`, and various parsing components such as `perf_data_tokenizer.cc` and `record_parser.cc`, aims to avoid future confusion with `perf_session_id` identifiers. It updates class names, member variables, include paths, and build configurations across the entire `perf` importer subsystem. The primary goal is to improve code clarity and maintainability, ensuring better understanding for developers without altering any functional behavior.Oct 2414maint
bbcf561This commit **fixes** a semantic issue in the **Trace Processor's perf.data importer** where `perf_session_id` was incorrectly assigned per container file, rather than uniquely identifying each sampling stream. The **bug fix** involves **refactoring** the `PerfSession` builder to assign a distinct `perf_session_id` to each `PerfEventAttr` and updating `InternSample` to use this correct ID. This change ensures that **UI tracks** can properly distinguish between different sampling streams, resolving previous display errors caused by multiple leader counters appearing for the same `perf_session_id`. Consequently, the **perf.data parsing** and **trace visualization** are significantly improved for `traced_perf` packets.Oct 245waste
920a7dcThis commit introduces a **feature enhancement** to the **trace processor's system probes parser** to improve thread naming within process trees. It modifies the `ParseProcessTree` logic in `system_probes_parser.cc` to **set the main thread's name from the process's `cmdline`** when the `cmdline_is_comm` flag is true. This change addresses scenarios where `sched_switch` events are absent, preventing anonymous kernel threads in trace visualizations. A new test case in `tests.py` verifies this functionality, ensuring more accurate and complete **process and thread identification** in analyzed traces.Oct 152grow
11a3d5fThis commit **reverts** the previously introduced support for cloning tracing sessions configured to write directly into a file. This **temporary rollback** affects the **tracing subsystem**, specifically components like `perfetto_cmd`, `tracing_service_impl`, and `consumer_ipc_client_impl`, by removing the logic for handling output file descriptors and the `was_write_into_file` flag during session cloning. The **revert** is necessary because accompanying **SELinux changes** are required for Android integration and are not yet ready, unblocking further development until those security policies are in place. Consequently, the ability to clone `write_into_file` sessions is currently unavailable.Oct 813waste
d57eda6This commit performs a **refactoring** and **cleanup** within the **`ftrace` probe module** to improve terminology accuracy. It systematically renames internal variables and parameters from `ftrace_` to `tracefs_` across core components like `FtraceConfigMuxer`, `predefined_tracepoints`, and `vendor_tracepoints`, as `tracefs` more precisely refers to the virtual filesystem. Additionally, the `ftrace_` member in `probes_producer` is renamed to `ftrace_controller_` to better reflect its specific type. This **internal code improvement** enhances readability and maintainability for developers without altering any runtime behavior or functionality.Oct 611maint
c65180fThis commit **enables `denser_generic_event_encoding` by default** for **Ftrace configurations** within the `traced` Ftrace probe. This **feature rollout** changes the default behavior, causing Ftrace generic events to be encoded using a more self-describing proto format. The `FtraceConfigMuxer` (`src/traced/probes/ftrace/ftrace_config_muxer.cc`) is updated to apply this default, and **documentation** in `ftrace_config.proto` and related proto files now explains the new behavior. This aims to improve the self-describing nature of Ftrace protos, with users able to explicitly set the config field to revert to the old encoding if needed.Oct 65grow
4958e3cThis commit introduces a **new capability** to the **`tprobes` ftrace subsystem** by ensuring that the **group name** of generic ftrace events (e.g., "sched" for "sched/sched_switch") is preserved within the Perfetto trace. It adds an optional `group_name` field to the `GenericEventDescriptor` proto message in `ftrace_event_bundle.proto` and `perfetto_trace.proto`. The serialization logic in `proto_translation_table.cc` and `cpu_reader.cc` is updated to populate this field, alongside a **refactoring** of the internal descriptor management using a new `GenericEventProtoDescriptors` struct. This change prevents information loss for self-describing ftrace events, making the trace data more complete and robust for future `trace_processor` analysis.Oct 611maint
a7f937aThis commit performs **maintenance refactoring** within the **`protozero` library** by **removing the vestigial `HAS_NONPACKED_REPEATED_FIELDS` template parameter from the `TypedProtoDecoder` class**. This parameter was no longer used after a 2021 implementation change, making it dead code. The change simplifies the `TypedProtoDecoder`'s signature in `include/perfetto/protozero/proto_decoder.h` and updates its generation logic in `src/protozero/protoc_plugin/protozero_plugin.cc`. Consequently, all instantiations of `TypedProtoDecoder` in unit tests and fuzzers are adjusted to reflect the cleaner API, improving code clarity and reducing complexity without altering functionality.Oct 65maint
3800ac7This commit **enhances the Perfetto UI's LinuxPerf plugin** by improving the clarity and usability of performance sample tracks. It introduces **nested perf sample tracks** and **summary tracks**, naming them after their respective counters to better represent the sampled data, which is particularly beneficial for complex traces like Android binder callstacks. The commit also **refactors the track creation logic** into `createPerfCallsitesTrack` for dynamic filtering and adjusts the auto-selection behavior to only open the perf panel if a single process is profiled. This **feature enhancement** provides more informative track labels and a more intuitive UI flow, supported by new Playwright tests.Sep 298grow
d77e021This commit introduces a **new capability** to the `traced_perf` subsystem, enabling the use of **event modifiers** (e.g., `:u` for userspace, `:k` for kernel) for perf event configurations. These modifiers allow users to specify the execution context (userspace, kernel, hypervisor) in which a perf event should count, providing more granular profiling data. The change involves **schema updates** in `protos/perfetto/common/perf_events.proto` and `protos/perfetto/config/perfetto_config.proto`, **backend implementation** in `src/profiling/perf` to apply these modifiers, and **trace processor integration** in `src/trace_processor/importers/proto/perf_sample_tracker.cc` to append modifier suffixes to counter names. This significantly enhances the flexibility and precision of performance data collection and analysis within Perfetto.Sep 2610grow
2740d54This commit provides a **documentation fix** for the **ftrace documentation**, specifically clarifying the usage of the `__assign_str` and `__string` macros. It updates the `ftrace.md` file to accurately describe how these macros function across different kernel versions. This **maintenance** work improves the clarity and correctness of the **ftrace getting started guide**, helping users understand string handling within ftrace. The change addresses previous attempts to clarify this syntax, ensuring the documentation is precise for various kernel environments.Sep 181maint
b930e3cMar 5

This commit **enhances the `heapprofd` memory profiling system** by **exposing a new `reallocarray` hook** for bionic. It introduces the `heapprofd_reallocarray` function in `src/profiling/memory/malloc_interceptor_bionic_hooks.cc`, allowing the bionic allocator to intercept and profile `reallocarray` calls. Concurrently, the `wrap_reallocarray` function in `src/profiling/memory/wrap_allocators.cc` is **improved to include an overflow check** for `nmemb * size`, ensuring correct allocation size reporting and robust handling of potential integer overflow scenarios. This work provides **more comprehensive and robust memory profiling** for `reallocarray` operations, addressing a reported bug and improving the accuracy of memory usage analysis.

2 fileswaste
25dfa45Dec 1

This commit **enhances the UI's track grouping functionality** by ensuring that **process-scoped kernel thread tracks** are correctly aggregated under the "Kernel threads" group, resolving an issue where they were previously overlooked. It **refactors** the `ProcessThreadGroups` plugin, simplifying the kernel thread query by leveraging the `viz.threads` module and removing an always-empty summary track for a cleaner display. This **feature enhancement** provides users with a more comprehensive and organized view of kernel activity within the trace UI, with numerous UI screenshots updated to reflect these visual changes.

22 filesmaint
1573266Nov 24

This commit performs **code cleanup** by **removing unused files** from the **`traceconv` utility**. These files, located within the `traceconv` module, became obsolete and unreferenced following a prior change (r.android.com/2005680). This **maintenance task** streamlines the codebase, reducing project bloat and improving overall maintainability without impacting any active functionality.

8 files–
7554ee3Nov 24

This commit introduces a significant **feature enhancement** to the `traceconv profile` command, enabling **automatic detection of profile types** within a trace. It **refactors** the profile conversion logic into a unified `TraceToProfile` function and `DetectConversionMode`, simplifying the user experience by eliminating the need for explicit flags for common profile types like allocator, perf, and Android Java heap graphs. The `traceconv` tool will now intelligently identify the profile type, prompting the user for clarification only if multiple types are present, and includes **updated documentation** and **integration tests** for this new functionality.

10 filesgrow
b15cc39Nov 20

This commit performs a **maintenance update** to the **Ftrace data model and serialization/deserialization logic** for `workqueue` events within Perfetto. It **regenerates protobuf definitions** and **adjusts the Ftrace parser and event information** to align with recent Linux kernel changes, such as the addition of `activate_work.function`, `queue_work.workqueue` becoming a string, and `queue_work.*cpu` fields becoming signed. This ensures correct ingestion of `workqueue` trace data from newer kernels (v5.19+), though it introduces a known limitation where `*cpu` fields might be skipped on kernels v5.18 and below due to encoder constraints. The changes span `protos/perfetto/trace/ftrace/workqueue.proto`, `src/trace_processor/importers/ftrace/`, and `src/traced/probes/ftrace/`.

27 fileswaste
2fdc6aeNov 20

This commit introduces a **breaking change** to the **multi-machine tracing** behavior in Perfetto, specifically altering how **data sources are matched** across remote producers connected via `traced_relay`. By default, data sources will now only match on the host machine, rather than automatically matching across all connected machines. A **new configuration option**, `trace_all_machines`, has been added to `TraceConfig` to allow users to explicitly enable matching data sources from all machines. This **new capability** and default change prevents unexpected data collection for users accustomed to single-machine tracing, while still allowing explicit multi-machine data collection and indicating the presence of remote machines via `system_info` and `remote_clock_sync` packets.

11 filesgrow
60767b0Nov 18

This commit **introduces a new capability** to the **Trace Processor's ftrace importer** by adding support for the `fwtp_perfetto_counter` ftrace event. It updates `src/trace_processor/importers/ftrace/ftrace_descriptors.cc` with a new `FtraceMessageDescriptor` that defines the event's structure, including its fields and types. This **feature enhancement** allows the trace processor to correctly parse and interpret data from this specific ftrace event, providing more comprehensive insights for **tprobes** and related performance counter analysis. The update was performed by running `tools/run_ftrace_proto_gen`, ensuring the trace processor's ftrace event definitions are up-to-date.

1 filesgrow
86461b2Nov 5

This commit **increases the shared memory allocation** for the **`traced_probes`** component from 1MB to 2MB within `src/traced/probes/probes_producer.cc`. This **bug fix** addresses a resource starvation issue where `traced_probes` was experiencing shared memory exhaustion when many concurrent data sources, particularly from `droidfood` tracing, were active. By doubling the requested shared memory, the change provides critical **headroom** to prevent future starvation, thereby improving the reliability and performance of tracing operations under heavy load.

2 fileswaste
dc9401bNov 5

This commit introduces **new crash keys** within the **`tprobes`** module to track the number of active data sources and tracing sessions. Specifically, `src/traced/probes/probes_producer.cc` is updated to increment and decrement these keys in the `SetupDataSource` and `StopDataSource` functions. This **debugging/tracking enhancement** aims to diagnose shared memory starvation issues in `traced_probes` that can occur when `droidfood tracing` instantiates many concurrent data sources. By providing this telemetry, the change helps understand and resolve performance bottlenecks related to shared memory capacity on Android.

1 filesgrow
3233c60Oct 24

This commit **refactors** the **`trace_processor`'s `perf` data importer** by renaming the `PerfSession` class to `PerfInvocation`. This extensive change, affecting files like `perf_invocation.h`, `perf_invocation.cc`, and various parsing components such as `perf_data_tokenizer.cc` and `record_parser.cc`, aims to avoid future confusion with `perf_session_id` identifiers. It updates class names, member variables, include paths, and build configurations across the entire `perf` importer subsystem. The primary goal is to improve code clarity and maintainability, ensuring better understanding for developers without altering any functional behavior.

14 filesmaint
bbcf561Oct 24

This commit **fixes** a semantic issue in the **Trace Processor's perf.data importer** where `perf_session_id` was incorrectly assigned per container file, rather than uniquely identifying each sampling stream. The **bug fix** involves **refactoring** the `PerfSession` builder to assign a distinct `perf_session_id` to each `PerfEventAttr` and updating `InternSample` to use this correct ID. This change ensures that **UI tracks** can properly distinguish between different sampling streams, resolving previous display errors caused by multiple leader counters appearing for the same `perf_session_id`. Consequently, the **perf.data parsing** and **trace visualization** are significantly improved for `traced_perf` packets.

5 fileswaste
920a7dcOct 15

This commit introduces a **feature enhancement** to the **trace processor's system probes parser** to improve thread naming within process trees. It modifies the `ParseProcessTree` logic in `system_probes_parser.cc` to **set the main thread's name from the process's `cmdline`** when the `cmdline_is_comm` flag is true. This change addresses scenarios where `sched_switch` events are absent, preventing anonymous kernel threads in trace visualizations. A new test case in `tests.py` verifies this functionality, ensuring more accurate and complete **process and thread identification** in analyzed traces.

2 filesgrow
11a3d5fOct 8

This commit **reverts** the previously introduced support for cloning tracing sessions configured to write directly into a file. This **temporary rollback** affects the **tracing subsystem**, specifically components like `perfetto_cmd`, `tracing_service_impl`, and `consumer_ipc_client_impl`, by removing the logic for handling output file descriptors and the `was_write_into_file` flag during session cloning. The **revert** is necessary because accompanying **SELinux changes** are required for Android integration and are not yet ready, unblocking further development until those security policies are in place. Consequently, the ability to clone `write_into_file` sessions is currently unavailable.

13 fileswaste
d57eda6Oct 6

This commit performs a **refactoring** and **cleanup** within the **`ftrace` probe module** to improve terminology accuracy. It systematically renames internal variables and parameters from `ftrace_` to `tracefs_` across core components like `FtraceConfigMuxer`, `predefined_tracepoints`, and `vendor_tracepoints`, as `tracefs` more precisely refers to the virtual filesystem. Additionally, the `ftrace_` member in `probes_producer` is renamed to `ftrace_controller_` to better reflect its specific type. This **internal code improvement** enhances readability and maintainability for developers without altering any runtime behavior or functionality.

11 filesmaint
c65180fOct 6

This commit **enables `denser_generic_event_encoding` by default** for **Ftrace configurations** within the `traced` Ftrace probe. This **feature rollout** changes the default behavior, causing Ftrace generic events to be encoded using a more self-describing proto format. The `FtraceConfigMuxer` (`src/traced/probes/ftrace/ftrace_config_muxer.cc`) is updated to apply this default, and **documentation** in `ftrace_config.proto` and related proto files now explains the new behavior. This aims to improve the self-describing nature of Ftrace protos, with users able to explicitly set the config field to revert to the old encoding if needed.

5 filesgrow
4958e3cOct 6

This commit introduces a **new capability** to the **`tprobes` ftrace subsystem** by ensuring that the **group name** of generic ftrace events (e.g., "sched" for "sched/sched_switch") is preserved within the Perfetto trace. It adds an optional `group_name` field to the `GenericEventDescriptor` proto message in `ftrace_event_bundle.proto` and `perfetto_trace.proto`. The serialization logic in `proto_translation_table.cc` and `cpu_reader.cc` is updated to populate this field, alongside a **refactoring** of the internal descriptor management using a new `GenericEventProtoDescriptors` struct. This change prevents information loss for self-describing ftrace events, making the trace data more complete and robust for future `trace_processor` analysis.

11 filesmaint
a7f937aOct 6

This commit performs **maintenance refactoring** within the **`protozero` library** by **removing the vestigial `HAS_NONPACKED_REPEATED_FIELDS` template parameter from the `TypedProtoDecoder` class**. This parameter was no longer used after a 2021 implementation change, making it dead code. The change simplifies the `TypedProtoDecoder`'s signature in `include/perfetto/protozero/proto_decoder.h` and updates its generation logic in `src/protozero/protoc_plugin/protozero_plugin.cc`. Consequently, all instantiations of `TypedProtoDecoder` in unit tests and fuzzers are adjusted to reflect the cleaner API, improving code clarity and reducing complexity without altering functionality.

5 filesmaint
3800ac7Sep 29

This commit **enhances the Perfetto UI's LinuxPerf plugin** by improving the clarity and usability of performance sample tracks. It introduces **nested perf sample tracks** and **summary tracks**, naming them after their respective counters to better represent the sampled data, which is particularly beneficial for complex traces like Android binder callstacks. The commit also **refactors the track creation logic** into `createPerfCallsitesTrack` for dynamic filtering and adjusts the auto-selection behavior to only open the perf panel if a single process is profiled. This **feature enhancement** provides more informative track labels and a more intuitive UI flow, supported by new Playwright tests.

8 filesgrow
d77e021Sep 26

This commit introduces a **new capability** to the `traced_perf` subsystem, enabling the use of **event modifiers** (e.g., `:u` for userspace, `:k` for kernel) for perf event configurations. These modifiers allow users to specify the execution context (userspace, kernel, hypervisor) in which a perf event should count, providing more granular profiling data. The change involves **schema updates** in `protos/perfetto/common/perf_events.proto` and `protos/perfetto/config/perfetto_config.proto`, **backend implementation** in `src/profiling/perf` to apply these modifiers, and **trace processor integration** in `src/trace_processor/importers/proto/perf_sample_tracker.cc` to append modifier suffixes to counter names. This significantly enhances the flexibility and precision of performance data collection and analysis within Perfetto.

10 filesgrow
2740d54Sep 18

This commit provides a **documentation fix** for the **ftrace documentation**, specifically clarifying the usage of the `__assign_str` and `__string` macros. It updates the `ftrace.md` file to accurately describe how these macros function across different kernel versions. This **maintenance** work improves the clarity and correctness of the **ftrace getting started guide**, helping users understand string handling within ftrace. The change addresses previous attempts to clarify this syntax, ensuring the documentation is precise for various kernel environments.

1 filesmaint

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