# google/perfetto — health index 99/100 (Exceptional)

> Inspection of the public repository google/perfetto by inspect.software. It holds a health index of 99 out of 100, placing it in the Exceptional band. The index is a signal derived from publicly visible practice, not a warranty, a security audit, or an endorsement, and it is independent of payment.

- Repository: https://github.com/google/perfetto
- Report page: https://inspect.software/software/google/perfetto
- Full JSON report: https://inspect.software/api/repositories/google/perfetto/report
- Badge: https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/google/perfetto.svg
- Inspected: 2026-08-12
- Methodology: metrics 2.10.0, report schema 0.31.0 (https://inspect.software/methodology.md)

## Category summary

| Category | Weight | Index | Band |
|---|---|---|---|
| Vitality | 21% | 96/100 | Exceptional |
| Community & Adoption | 17% | 94/100 | Exceptional |
| Sustainability & Governance | 23% | 94/100 | Exceptional |
| Engineering Quality | 19% | 82/100 | Excellent |
| Security | 16% | 74/100 | Good |
| AI Readiness | 4% | 85/100 | Excellent |

The weighted overall 89 is calibrated to 99 on the published index scale (record calibration 2026-08-02).

## Repository facts

| Field | Value |
|---|---|
| Description | Production-grade client-side tracing, profiling, and analysis for complex software systems. |
| Classification | library, network-service, mobile |
| Homepage | https://www.perfetto.dev |
| Primary language | C++ |
| License | Apache-2.0 |
| Stars | 6,342 |
| Forks | 853 |
| Created | 2019-12-10 |
| Last push | 2026-08-12 |
| Latest release | v57.2 |
| Commits (last year) | 3,478 |
| Bus factor | 4 |

## Published packages

| Registry | Package | Latest | Monthly downloads |
|---|---|---|---|
| pypi | perfetto | 0.57.2 | — |
| npm | perfetto-webui | 0.0.1 | 10 |

## Vitality — 96/100 (Exceptional)

Is the project alive — is code being written and are releases shipping? Weight: 21% of the overall index.

### Development activity — 100/100 (Exceptional)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Push recency | met | 36 / 36 | last push 0 days ago |
| Commit cadence | met | 36 / 36 | 52/52 weeks with commits |
| Commit volume | met | 18 / 18 | 3478 commits in the last year |
| OpenSSF Scorecard: Maintained | met | 10 / 10 | 30 commit(s) and 28 issue activity found in the last 90 days -- score normalized to 10 |

### Release discipline — 90/100 (Excellent)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Ships releases | met | 27 / 27 | 48 releases published |
| Release recency | met | 36 / 36 | latest release 36 days ago |
| Release cadence | met | 27 / 27 | a release every ~32.7 days |
| OpenSSF Scorecard: Signed-Releases | not met | 0 / 10 | Project has not signed or included provenance with any releases. |

### Abandonment — 100/100 (Exceptional)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Project is still maintained | met | 100 / 100 | last human commit 10 days ago |

## Community & Adoption — 94/100 (Exceptional)

Does the project have users, downloads, attention, and a welcoming setup for contributors? Weight: 17% of the overall index.

### Popularity & adoption — 95/100 (Exceptional)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Stars | met | 60 / 60 | 6,342 stars |
| Forks | partial | 24.4 / 25 | 853 forks |
| Watchers | partial | 10.4 / 15 | 74 watchers |

### Community health — 92/100 (Excellent)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| README | met | 22.5 / 22.5 | — |
| License | met | 22.5 / 22.5 | recognized license (Apache-2.0) |
| CONTRIBUTING guide | met | 18 / 18 | — |
| Code of conduct | met | 13.5 / 13.5 | — |
| Issue template | not met | 0 / 7.2 | — |
| PR template | met | 6.3 / 6.3 | — |

## Sustainability & Governance — 94/100 (Exceptional)

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep? Weight: 23% of the overall index.

### Maintainer resilience (bus factor) — 85/100 (Excellent)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Bus factor | partial | 43.2 / 54 | 4 contributor(s) cover half of all commits |
| Commit distribution | partial | 18 / 22.5 | top contributor authored 20% of commits |
| Contributor breadth | met | 13.5 / 13.5 | 97 contributors |
| OpenSSF Scorecard: Contributors | met | 10 / 10 | project has 8 contributing companies or organizations |

### Issue & PR responsiveness — 93/100 (Exceptional)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Issue resolution | partial | 38.8 / 42 | 92% of issues closed |
| PR acceptance | partial | 26 / 30 | 4649/5361 decided PRs merged |
| Newcomer PR acceptance | met | 13 / 13 | 2/2 first-time contributors' PRs merged in 30d |
| OpenSSF Scorecard: Code-Review | met | 15 / 15 | all changesets reviewed |

### Ownership & stewardship — 100/100 (Exceptional)

Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Ownership backing | met | 30 / 30 | organization-owned |
| Verified domain | excluded | 0 / 20 | verified-domain status not read for this organization |
| Owner reach | met | 25 / 25 | 76,873 followers of google |
| Track record | met | 25 / 25 | 2891 public repos, account ~14 yr old |

### Package maintenance — 100/100 (Exceptional)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Published & resolvable | met | 25 / 25 | 1 package(s) on pypi |
| Publish recency | met | 35 / 35 | latest publish 36 days ago |
| Version history | met | 20 / 20 | 31 published versions |
| Not deprecated | met | 20 / 20 | active, not deprecated or yanked |

## Engineering Quality — 82/100 (Excellent)

Are baseline engineering and documentation practices in place? Weight: 19% of the overall index.

### Engineering practices — 84/100 (Excellent)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| CI workflows | met | 24 / 24 | 18 workflow(s) |
| Tests present | met | 24 / 24 | — |
| Linter config | met | 16 / 16 | .eslintrc.js, .pylintrc, eslint.config.js |
| Pre-commit hooks | not met | 0 / 9.6 | — |
| .editorconfig | not met | 0 / 6.4 | — |
| OpenSSF Scorecard: CI-Tests | met | 20 / 20 | 30 out of 30 merged PRs checked by a CI test -- score normalized to 10 |

### Documentation — 80/100 (Excellent)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| README | met | 30 / 30 | — |
| Documentation directory | met | 25 / 25 | — |
| Documentation / homepage site | met | 15 / 15 | https://www.perfetto.dev |
| Repository description | met | 10 / 10 | — |
| Topics | not met | 0 / 10 | — |
| Wiki | not met | 0 / 10 | — |

## Security — 74/100 (Good)

Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure? Weight: 16% of the overall index.

### Security posture — 68/100 (Good)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Binary-Artifacts | met | 7.5 / 7.5 | no binaries found in the repo |
| Branch-Protection | partial | 3 / 7.5 | branch protection is not maximal on development and all release branches |
| CI-Tests | met | 2.5 / 2.5 | 30 out of 30 merged PRs checked by a CI test -- score normalized to 10 |
| CII-Best-Practices | partial | 0.5 / 2.5 | badge detected: InProgress |
| Code-Review | met | 7.5 / 7.5 | all changesets reviewed |
| Contributors | met | 2.5 / 2.5 | project has 8 contributing companies or organizations |
| Dangerous-Workflow | met | 10 / 10 | no dangerous workflow patterns detected |
| Dependency-Update-Tool | met | 7.5 / 7.5 | update tool detected |
| Fuzzing | met | 5 / 5 | project is fuzzed |
| License | met | 2.5 / 2.5 | license file detected |
| Maintained | met | 7.5 / 7.5 | 30 commit(s) and 28 issue activity found in the last 90 days -- score normalized to 10 |
| Packaging | met | 5 / 5 | packaging workflow detected |
| Pinned-Dependencies | not met | 0 / 5 | dependency not pinned by hash detected -- score normalized to 0 |
| SAST | met | 5 / 5 | SAST tool is run on all commits |
| Security-Policy | met | 5 / 5 | security policy file detected |
| Signed-Releases | not met | 0 / 7.5 | Project has not signed or included provenance with any releases. |
| Token-Permissions | not met | 0 / 7.5 | detected GitHub workflow tokens with excessive permissions |
| Vulnerabilities | not met | 0 / 7.5 | 13 existing vulnerabilities detected |

### Dependency advisories — 100/100 (Exceptional)

Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:perfetto@0.57.2 runtime dependency closure — what installing the published package pulls in — 1 packages. Reachability is not analyzed.

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Direct dependencies free of known advisories | met | 35 / 35 | no direct dependency carries a known advisory |
| Indirect dependencies free of known advisories | met | 25 / 25 | no indirect dependency carries a known advisory |
| No advisories left outstanding | excluded | 0 / 40 | no advisory carries a publication date |

### Malicious dependencies — 100/100 (Exceptional)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| No dependency reported as a malicious package | met | 100 / 100 | no dependency is reported as a malicious package |

### High-Risk Jurisdiction Exposure — 100/100 (Exceptional)

Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Policy exposure multiplier | met | 100 / 100 | no confirmed policy-scope location match |

## AI Readiness — 85/100 (Excellent)

How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero).

### Agent context & guidance — 85/100 (Excellent)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Agent instructions | met | 45 / 45 | CLAUDE.md, GEMINI.md, docs/AGENTS.md |
| Machine-readable docs (llms.txt) | not met | 0 / 15 | — |
| Legible commit history | met | 40 / 40 | 92 of 92 human commits state their intent (structured subject or explanatory body) |

### Verify loop (build / test / typecheck) — 82/100 (Excellent)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| One-command bootstrap | met | 18 / 18 | infra/ci/Makefile, infra/ci/frontend/Makefile, infra/git_mirror_bot/Makefile, infra/perfetto-get.appspot.com/Makefile |
| Automated tests | met | 22 / 22 | — |
| Lint / format config | met | 11 / 11 | .eslintrc.js, .pylintrc, eslint.config.js |
| Static type checking | met | 11 / 11 | ui/src/bigtrace/tsconfig.json, ui/src/open_perfetto_trace/tsconfig.json, ui/src/service_worker/tsconfig.json, ui/tsconfig.json |
| Reproducible environment | met | 10 / 10 | Dockerfile, lockfile |
| Demonstrated agent practice | partial | 2 / 10 | 1 of the last 100 commits agent-authored or agent-credited |
| Automated maintenance | met | 8 / 8 | 1 of the last 100 commits are automated dependency updates |
| OpenSSF Scorecard: Pinned-Dependencies | not met | 0 / 10 | dependency not pinned by hash detected -- score normalized to 0 |

### Code legibility for models — 99/100 (Exceptional)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| Type-checkable code | met | 45 / 45 | C++ (statically typed) |
| Manageable file sizes | partial | 54.4 / 55 | 47/4378 source files over 60KB |

### Machine-readable interfaces — 80/100 (Excellent)

| Criterion | Status | Points | Detail |
|---|---|---|---|
| API schema (OpenAPI/GraphQL/proto) | met | 40 / 40 | protos/perfetto/bigtrace/orchestrator.proto, protos/perfetto/bigtrace/worker.proto, protos/perfetto/common/android_energy_consumer_descriptor.proto, protos/perfetto/common/android_log_constants.proto, protos/perfetto/common/builtin_clock.proto, protos/perfetto/common/commit_data_request.proto, protos/perfetto/common/data_source_descriptor.proto, protos/perfetto/common/descriptor.proto, protos/perfetto/common/ftrace_descriptor.proto, protos/perfetto/common/gpu_counter_descriptor.proto, protos/perfetto/common/interceptor_descriptor.proto, protos/perfetto/common/observable_events.proto, protos/perfetto/common/passthrough.proto, protos/perfetto/common/perf_events.proto, protos/perfetto/common/semantic_type.proto, protos/perfetto/common/sys_stats_counters.proto, protos/perfetto/common/system_info.proto, protos/perfetto/common/trace_attributes.proto, protos/perfetto/common/trace_stats.proto, protos/perfetto/common/tracing_service_capabilities.proto, protos/perfetto/common/tracing_service_state.proto, protos/perfetto/common/track_event_descriptor.proto, protos/perfetto/config/android/android_aflags_config.proto, protos/perfetto/config/android/android_game_intervention_list_config.proto, protos/perfetto/config/android/android_input_event_config.proto, protos/perfetto/config/android/android_log_config.proto, protos/perfetto/config/android/android_polled_state_config.proto, protos/perfetto/config/android/android_sdk_sysprop_guard_config.proto, protos/perfetto/config/android/android_system_property_config.proto, protos/perfetto/config/android/app_wakelock_config.proto, protos/perfetto/config/android/cpu_per_uid_config.proto, protos/perfetto/config/android/display_video_config.proto, protos/perfetto/config/android/inputmethod_config.proto, protos/perfetto/config/android/kernel_wakelocks_config.proto, protos/perfetto/config/android/network_trace_config.proto, protos/perfetto/config/android/packages_list_config.proto, protos/perfetto/config/android/pixel_modem_config.proto, protos/perfetto/config/android/protolog_config.proto, protos/perfetto/config/android/surfaceflinger_layers_config.proto, protos/perfetto/config/android/surfaceflinger_transactions_config.proto, protos/perfetto/config/android/user_list_config.proto, protos/perfetto/config/android/windowmanager_config.proto, protos/perfetto/config/chrome/chrome_config.proto, protos/perfetto/config/chrome/histogram_samples.proto, protos/perfetto/config/chrome/sampling_heap_profiler.proto, protos/perfetto/config/chrome/scenario_config.proto, protos/perfetto/config/chrome/stack_sampling_profiler.proto, protos/perfetto/config/chrome/system_metrics.proto, protos/perfetto/config/chrome/v8_config.proto, protos/perfetto/config/data_source_config.proto, protos/perfetto/config/etw/etw_config.proto, protos/perfetto/config/ftrace/frozen_ftrace_config.proto, protos/perfetto/config/ftrace/ftrace_config.proto, protos/perfetto/config/gpu/gpu_counter_config.proto, protos/perfetto/config/gpu/gpu_renderstages_config.proto, protos/perfetto/config/gpu/vulkan_memory_config.proto, protos/perfetto/config/inode_file/inode_file_config.proto, protos/perfetto/config/interceptor_config.proto, protos/perfetto/config/interceptors/console_config.proto, protos/perfetto/config/linux/journald_config.proto, protos/perfetto/config/perfetto_config.proto, protos/perfetto/config/power/android_power_config.proto, protos/perfetto/config/priority_boost/priority_boost_config.proto, protos/perfetto/config/process_stats/process_stats_config.proto, protos/perfetto/config/profiling/heapprofd_config.proto, protos/perfetto/config/profiling/java_hprof_config.proto, protos/perfetto/config/profiling/perf_event_config.proto, protos/perfetto/config/profiling/smaps_config.proto, protos/perfetto/config/protovm/protovm_config.proto, protos/perfetto/config/qnx/qnx_config.proto, protos/perfetto/config/statsd/atom_ids.proto, protos/perfetto/config/statsd/statsd_tracing_config.proto, protos/perfetto/config/stress_test_config.proto, protos/perfetto/config/sys_stats/sys_stats_config.proto, protos/perfetto/config/system_info/system_info_config.proto, protos/perfetto/config/test_config.proto, protos/perfetto/config/trace_config.proto, protos/perfetto/config/track_event/track_event_config.proto, protos/perfetto/ipc/consumer_port.proto, protos/perfetto/ipc/producer_port.proto, protos/perfetto/ipc/relay_port.proto, protos/perfetto/ipc/wire_protocol.proto, protos/perfetto/metrics/android/ad_services_metric.proto, protos/perfetto/metrics/android/android_anomaly_metric.proto, protos/perfetto/metrics/android/android_blocking_call.proto, protos/perfetto/metrics/android/android_blocking_call_per_frame.proto, protos/perfetto/metrics/android/android_blocking_calls_cuj_metric.proto, protos/perfetto/metrics/android/android_blocking_calls_cuj_per_frame_metric.proto, protos/perfetto/metrics/android/android_blocking_calls_unagg.proto, protos/perfetto/metrics/android/android_boot.proto, protos/perfetto/metrics/android/android_boot_unagg.proto, protos/perfetto/metrics/android/android_broadcasts_metric.proto, protos/perfetto/metrics/android/android_frame_timeline_metric.proto, protos/perfetto/metrics/android/android_garbage_collection_stats.proto, protos/perfetto/metrics/android/android_garbage_collection_unagg_metric.proto, protos/perfetto/metrics/android/android_oom_adjuster_metric.proto, protos/perfetto/metrics/android/android_sysui_notifications_blocking_calls_metric.proto, protos/perfetto/metrics/android/anr_metric.proto, protos/perfetto/metrics/android/app_process_starts_metric.proto, protos/perfetto/metrics/android/auto_metric.proto, protos/perfetto/metrics/android/batt_metric.proto, protos/perfetto/metrics/android/binder_metric.proto, protos/perfetto/metrics/android/camera_metric.proto, protos/perfetto/metrics/android/camera_unagg_metric.proto, protos/perfetto/metrics/android/codec_metrics.proto, protos/perfetto/metrics/android/cpu_metric.proto, protos/perfetto/metrics/android/display_metrics.proto, protos/perfetto/metrics/android/dma_heap_metric.proto, protos/perfetto/metrics/android/dvfs_metric.proto, protos/perfetto/metrics/android/fastrpc_metric.proto, protos/perfetto/metrics/android/g2d_metric.proto, protos/perfetto/metrics/android/gpu_metric.proto, protos/perfetto/metrics/android/hwcomposer.proto, protos/perfetto/metrics/android/hwui_metric.proto, protos/perfetto/metrics/android/io_metric.proto, protos/perfetto/metrics/android/io_unagg_metric.proto, protos/perfetto/metrics/android/ion_metric.proto, protos/perfetto/metrics/android/irq_runtime_metric.proto, protos/perfetto/metrics/android/jank_cuj_metric.proto, protos/perfetto/metrics/android/java_heap_class_stats.proto, protos/perfetto/metrics/android/java_heap_histogram.proto, protos/perfetto/metrics/android/java_heap_stats.proto, protos/perfetto/metrics/android/lmk_metric.proto, protos/perfetto/metrics/android/lmk_reason_metric.proto, protos/perfetto/metrics/android/mem_metric.proto, protos/perfetto/metrics/android/mem_unagg_metric.proto, protos/perfetto/metrics/android/monitor_contention_agg_metric.proto, protos/perfetto/metrics/android/monitor_contention_metric.proto, protos/perfetto/metrics/android/multiuser_metric.proto, protos/perfetto/metrics/android/network_metric.proto, protos/perfetto/metrics/android/package_list.proto, protos/perfetto/metrics/android/powrails_metric.proto, protos/perfetto/metrics/android/process_metadata.proto, protos/perfetto/metrics/android/profiler_smaps.proto, protos/perfetto/metrics/android/rt_runtime_metric.proto, protos/perfetto/metrics/android/simpleperf.proto, protos/perfetto/metrics/android/startup_metric.proto, protos/perfetto/metrics/android/surfaceflinger.proto, protos/perfetto/metrics/android/sysui_notif_shade_list_builder_metric.proto, protos/perfetto/metrics/android/sysui_slice_performance_statistical_data.proto, protos/perfetto/metrics/android/sysui_update_notif_on_ui_mode_changed_metric.proto, protos/perfetto/metrics/android/thread_time_in_state_metric.proto, protos/perfetto/metrics/android/trace_quality.proto, protos/perfetto/metrics/android/unsymbolized_frames.proto, protos/perfetto/metrics/android/wattson_in_time_period.proto, protos/perfetto/metrics/android/wattson_tasks_attribution.proto, protos/perfetto/metrics/chrome/all_chrome_metrics.proto, protos/perfetto/metrics/chrome/args_class_names.proto, protos/perfetto/metrics/chrome/dropped_frames.proto, protos/perfetto/metrics/chrome/frame_times.proto, protos/perfetto/metrics/chrome/histogram_hashes.proto, protos/perfetto/metrics/chrome/histogram_summaries.proto, protos/perfetto/metrics/chrome/long_latency.proto, protos/perfetto/metrics/chrome/media_metric.proto, protos/perfetto/metrics/chrome/performance_mark_hashes.proto, protos/perfetto/metrics/chrome/reported_by_page.proto, protos/perfetto/metrics/chrome/scroll_jank.proto, protos/perfetto/metrics/chrome/scroll_jank_v3.proto, protos/perfetto/metrics/chrome/slice_names.proto, protos/perfetto/metrics/chrome/study_hashes.proto, protos/perfetto/metrics/chrome/test_chrome_metric.proto, protos/perfetto/metrics/chrome/touch_jank.proto, protos/perfetto/metrics/chrome/unsymbolized_args.proto, protos/perfetto/metrics/chrome/user_event_hashes.proto, protos/perfetto/metrics/common/clone_duration.proto, protos/perfetto/metrics/custom_options.proto, protos/perfetto/metrics/metrics.proto, protos/perfetto/metrics/perfetto_merged_metrics.proto, protos/perfetto/metrics/webview/all_webview_metrics.proto, protos/perfetto/metrics/webview/webview_jank_approximation.proto, protos/perfetto/perfetto_sql/structured_query.proto, protos/perfetto/proto_filtering/proto_filter_options.proto, protos/perfetto/protovm/compile_config.proto, protos/perfetto/protovm/vm_program.proto, protos/perfetto/trace/android/android_aflags.proto, protos/perfetto/trace/android/android_game_intervention_list.proto, protos/perfetto/trace/android/android_log.proto, protos/perfetto/trace/android/android_system_property.proto, protos/perfetto/trace/android/cpu_per_uid_data.proto, protos/perfetto/trace/android/graphics_frame_event.proto, protos/perfetto/trace/android/initial_display_state.proto, protos/perfetto/trace/android/kernel_wakelock_data.proto, protos/perfetto/trace/android/packages_list.proto, protos/perfetto/trace/android/pixel_modem_events.proto, protos/perfetto/trace/android/user_list.proto, protos/perfetto/trace/chrome/chrome_benchmark_metadata.proto, protos/perfetto/trace/chrome/chrome_metadata.proto, protos/perfetto/trace/chrome/chrome_trace_event.proto, protos/perfetto/trace/chrome/chrome_trace_packet.proto, protos/perfetto/trace/chrome/chrome_trigger.proto, protos/perfetto/trace/chrome/v8.proto, protos/perfetto/trace/clock_snapshot.proto, protos/perfetto/trace/etw/etw.proto, protos/perfetto/trace/etw/etw_event.proto, protos/perfetto/trace/etw/etw_event_bundle.proto, protos/perfetto/trace/extension_descriptor.proto, protos/perfetto/trace/field_options.proto, protos/perfetto/trace/filesystem/inode_file_map.proto, protos/perfetto/trace/ftrace/android_fs.proto, protos/perfetto/trace/ftrace/bcl_exynos.proto, protos/perfetto/trace/ftrace/binder.proto, protos/perfetto/trace/ftrace/block.proto, protos/perfetto/trace/ftrace/cgroup.proto, protos/perfetto/trace/ftrace/clk.proto, protos/perfetto/trace/ftrace/cma.proto, protos/perfetto/trace/ftrace/compaction.proto, protos/perfetto/trace/ftrace/cpm_trace.proto, protos/perfetto/trace/ftrace/cpuhp.proto, protos/perfetto/trace/ftrace/cros_ec.proto, protos/perfetto/trace/ftrace/dcvsh.proto, protos/perfetto/trace/ftrace/devfreq.proto, protos/perfetto/trace/ftrace/dma_fence.proto, protos/perfetto/trace/ftrace/dmabuf_heap.proto, protos/perfetto/trace/ftrace/dpu.proto, protos/perfetto/trace/ftrace/drm.proto, protos/perfetto/trace/ftrace/dwc3.proto, protos/perfetto/trace/ftrace/ext4.proto, protos/perfetto/trace/ftrace/f2fs.proto, protos/perfetto/trace/ftrace/fastrpc.proto, protos/perfetto/trace/ftrace/fence.proto, protos/perfetto/trace/ftrace/filemap.proto, protos/perfetto/trace/ftrace/fs.proto, protos/perfetto/trace/ftrace/ftrace.proto, protos/perfetto/trace/ftrace/ftrace_event.proto, protos/perfetto/trace/ftrace/ftrace_event_bundle.proto, protos/perfetto/trace/ftrace/ftrace_stats.proto, protos/perfetto/trace/ftrace/fwtp_ftrace.proto, protos/perfetto/trace/ftrace/g2d.proto, protos/perfetto/trace/ftrace/generic.proto, protos/perfetto/trace/ftrace/google_icc_trace.proto, protos/perfetto/trace/ftrace/google_irm_trace.proto, protos/perfetto/trace/ftrace/gpu_mem.proto, protos/perfetto/trace/ftrace/gpu_scheduler.proto, protos/perfetto/trace/ftrace/hyp.proto, protos/perfetto/trace/ftrace/hypervisor.proto, protos/perfetto/trace/ftrace/i2c.proto, protos/perfetto/trace/ftrace/ion.proto, protos/perfetto/trace/ftrace/ipi.proto, protos/perfetto/trace/ftrace/irq.proto, protos/perfetto/trace/ftrace/irq_vectors.proto, protos/perfetto/trace/ftrace/kfree.proto, protos/perfetto/trace/ftrace/kgsl.proto, protos/perfetto/trace/ftrace/kmalloc.proto, protos/perfetto/trace/ftrace/kmem.proto, protos/perfetto/trace/ftrace/kvm.proto, protos/perfetto/trace/ftrace/lowmemorykiller.proto, protos/perfetto/trace/ftrace/lwis.proto, protos/perfetto/trace/ftrace/mali.proto, protos/perfetto/trace/ftrace/mdss.proto, protos/perfetto/trace/ftrace/mm_event.proto, protos/perfetto/trace/ftrace/net.proto, protos/perfetto/trace/ftrace/oom.proto, protos/perfetto/trace/ftrace/panel.proto, protos/perfetto/trace/ftrace/perf_trace_counters.proto, protos/perfetto/trace/ftrace/pixel_metrics.proto, protos/perfetto/trace/ftrace/pixel_mm.proto, protos/perfetto/trace/ftrace/power.proto, protos/perfetto/trace/ftrace/print.proto, protos/perfetto/trace/ftrace/printk.proto, protos/perfetto/trace/ftrace/raw_syscalls.proto, protos/perfetto/trace/ftrace/regulator.proto, protos/perfetto/trace/ftrace/rpm.proto, protos/perfetto/trace/ftrace/samsung.proto, protos/perfetto/trace/ftrace/sched.proto, protos/perfetto/trace/ftrace/scm.proto, protos/perfetto/trace/ftrace/scsi.proto, protos/perfetto/trace/ftrace/sde.proto, protos/perfetto/trace/ftrace/signal.proto, protos/perfetto/trace/ftrace/skb.proto, protos/perfetto/trace/ftrace/sock.proto, protos/perfetto/trace/ftrace/sync.proto, protos/perfetto/trace/ftrace/synthetic.proto, protos/perfetto/trace/ftrace/systrace.proto, protos/perfetto/trace/ftrace/task.proto, protos/perfetto/trace/ftrace/tcp.proto, protos/perfetto/trace/ftrace/test_bundle_wrapper.proto, protos/perfetto/trace/ftrace/thermal.proto, protos/perfetto/trace/ftrace/thermal_exynos.proto, protos/perfetto/trace/ftrace/timer.proto, protos/perfetto/trace/ftrace/trusty.proto, protos/perfetto/trace/ftrace/ufs.proto, protos/perfetto/trace/ftrace/v4l2.proto, protos/perfetto/trace/ftrace/virtio_gpu.proto, protos/perfetto/trace/ftrace/virtio_video.proto, protos/perfetto/trace/ftrace/vmscan.proto, protos/perfetto/trace/ftrace/workqueue.proto, protos/perfetto/trace/generic_kernel/generic_gpu_frequency.proto, protos/perfetto/trace/generic_kernel/generic_power.proto, protos/perfetto/trace/generic_kernel/generic_task.proto, protos/perfetto/trace/gpu/gpu_counter_event.proto, protos/perfetto/trace/gpu/gpu_interned_data.proto, protos/perfetto/trace/gpu/gpu_log.proto, protos/perfetto/trace/gpu/gpu_mem_event.proto, protos/perfetto/trace/gpu/gpu_render_stage_event.proto, protos/perfetto/trace/gpu/gpu_track_event.proto, protos/perfetto/trace/gpu/vulkan_api_event.proto, protos/perfetto/trace/gpu/vulkan_memory_event.proto, protos/perfetto/trace/interned_data/interned_data.proto, protos/perfetto/trace/linux/journald_event.proto, protos/perfetto/trace/memory_graph.proto, protos/perfetto/trace/perfetto/concurrent_session_event.proto, protos/perfetto/trace/perfetto/perfetto_metatrace.proto, protos/perfetto/trace/perfetto/trace_provenance.proto, protos/perfetto/trace/perfetto/tracing_service_event.proto, protos/perfetto/trace/perfetto_trace.proto, protos/perfetto/trace/power/android_energy_estimation_breakdown.proto, protos/perfetto/trace/power/android_entity_state_residency.proto, protos/perfetto/trace/power/battery_counters.proto, protos/perfetto/trace/power/power_rails.proto, protos/perfetto/trace/profiling/art_process_metadata.proto, protos/perfetto/trace/profiling/deobfuscation.proto, protos/perfetto/trace/profiling/inline_callstack.proto, protos/perfetto/trace/profiling/profile_common.proto, protos/perfetto/trace/profiling/profile_packet.proto, protos/perfetto/trace/profiling/smaps.proto, protos/perfetto/trace/profiling/stack_sample.proto, protos/perfetto/trace/ps/process_stats.proto, protos/perfetto/trace/ps/process_tree.proto, protos/perfetto/trace/remote_clock_sync.proto, protos/perfetto/trace/statsd/statsd_atom.proto, protos/perfetto/trace/sys_stats/sys_stats.proto, protos/perfetto/trace/system_info/cpu_info.proto, protos/perfetto/trace/system_info/gpu_info.proto, protos/perfetto/trace/system_info/interrupt_info.proto, protos/perfetto/trace/test_event.proto, protos/perfetto/trace/test_extensions.proto, protos/perfetto/trace/trace.proto, protos/perfetto/trace/trace_packet.proto, protos/perfetto/trace/trace_packet_defaults.proto, protos/perfetto/trace/trace_uuid.proto, protos/perfetto/trace/track_event/chrome_active_processes.proto, protos/perfetto/trace/track_event/chrome_application_state_info.proto, protos/perfetto/trace/track_event/chrome_compositor_scheduler_state.proto, protos/perfetto/trace/track_event/chrome_content_settings_event_info.proto, protos/perfetto/trace/track_event/chrome_frame_reporter.proto, protos/perfetto/trace/track_event/chrome_histogram_sample.proto, protos/perfetto/trace/track_event/chrome_keyed_service.proto, protos/perfetto/trace/track_event/chrome_latency_info.proto, protos/perfetto/trace/track_event/chrome_legacy_ipc.proto, protos/perfetto/trace/track_event/chrome_message_pump.proto, protos/perfetto/trace/track_event/chrome_mojo_event_info.proto, protos/perfetto/trace/track_event/chrome_process_descriptor.proto, protos/perfetto/trace/track_event/chrome_renderer_scheduler_state.proto, protos/perfetto/trace/track_event/chrome_thread_descriptor.proto, protos/perfetto/trace/track_event/chrome_user_event.proto, protos/perfetto/trace/track_event/chrome_window_handle_event_info.proto, protos/perfetto/trace/track_event/counter_descriptor.proto, protos/perfetto/trace/track_event/debug_annotation.proto, protos/perfetto/trace/track_event/log_message.proto, protos/perfetto/trace/track_event/pixel_modem.proto, protos/perfetto/trace/track_event/process_descriptor.proto, protos/perfetto/trace/track_event/range_of_interest.proto, protos/perfetto/trace/track_event/screenshot.proto, protos/perfetto/trace/track_event/source_location.proto, protos/perfetto/trace/track_event/state_descriptor.proto, protos/perfetto/trace/track_event/task_execution.proto, protos/perfetto/trace/track_event/thread_descriptor.proto, protos/perfetto/trace/track_event/track_descriptor.proto, protos/perfetto/trace/track_event/track_event.proto, protos/perfetto/trace/translation/translation_table.proto, protos/perfetto/trace/trigger.proto, protos/perfetto/trace/ui_state.proto, protos/perfetto/trace_processor/metatrace_categories.proto, protos/perfetto/trace_processor/metrics_impl.proto, protos/perfetto/trace_processor/serialization.proto, protos/perfetto/trace_processor/stack.proto, protos/perfetto/trace_processor/trace_processor.proto, protos/perfetto/trace_summary/file.proto, protos/perfetto/trace_summary/v2_metric.proto, protos/third_party/android/android_extensions.proto, protos/third_party/android/art/heap_graph.proto, protos/third_party/android/connectivity/network_trace.proto, protos/third_party/android/frameworks/base/proto/tracing/frameworks_base_interned_data.proto, protos/third_party/android/frameworks/base/proto/tracing/frameworks_base_trace_packet.proto, protos/third_party/android/frameworks/base/proto/tracing/frameworks_base_track_event.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/app/statusbarmanager.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/app/window_configuration.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/content/activityinfo.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/content/configuration.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/content/locale.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/frameworks_base_winscope.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/graphics/insets.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/graphics/pixelformat.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/graphics/point.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/inputmethodeditor.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/inputmethodservice/inputmethodservice.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/inputmethodservice/softinputwindow.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/privacy.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/server/animationadapter.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/server/inputmethod/inputmethodmanagerservice.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/server/surfaceanimator.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/server/windowcontainerthumbnail.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/server/windowmanagerservice.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/shell_transition.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/display.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/displaycutout.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/displayinfo.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/enums.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/imefocuscontroller.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/imeinsetssourceconsumer.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/inputmethod/editorinfo.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/inputmethod/inputconnection.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/inputmethod/inputmethodmanager.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/insetsanimationcontrolimpl.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/insetscontroller.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/insetssource.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/insetssourceconsumer.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/insetssourcecontrol.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/insetsstate.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/remote_animation_target.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/surface.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/surfacecontrol.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/viewrootimpl.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/view/windowlayoutparams.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/viewcapture.proto, protos/third_party/android/frameworks/base/proto/tracing/winscope/windowmanager.proto, protos/third_party/android/frameworks/native/tracing/frameworks_native_interned_data.proto, protos/third_party/android/frameworks/native/tracing/frameworks_native_trace_packet.proto, protos/third_party/android/frameworks/native/tracing/frameworks_native_track_event.proto, protos/third_party/android/frameworks/native/tracing/winscope/android_input_event.proto, protos/third_party/android/frameworks/native/tracing/winscope/common/corner_radii.proto, protos/third_party/android/frameworks/native/tracing/winscope/common/rect.proto, protos/third_party/android/frameworks/native/tracing/winscope/common/typedef.proto, protos/third_party/android/frameworks/native/tracing/winscope/frameworks_native_winscope.proto, protos/third_party/android/frameworks/native/tracing/winscope/protolog.proto, protos/third_party/android/frameworks/native/tracing/winscope/surfaceflinger_common.proto, protos/third_party/android/frameworks/native/tracing/winscope/surfaceflinger_layers.proto, protos/third_party/android/frameworks/native/tracing/winscope/surfaceflinger_transactions.proto, protos/third_party/android/packages/modules/bluetooth/tracing/bluetooth_trace.proto, protos/third_party/chromium/chrome_enums.proto, protos/third_party/chromium/chrome_track_event.proto, protos/third_party/chromium/chrome_track_event_import_wrapper.proto, protos/third_party/chromium/optimization_guide/actions_data.proto, protos/third_party/chromium/optimization_guide/common_quality_data.proto, protos/third_party/pprof/profile.proto, protos/third_party/primes/primes_tracing.proto, protos/third_party/simpleperf/cmd_report_sample.proto, protos/third_party/simpleperf/record_file.proto, protos/third_party/statsd/shell_config.proto, protos/third_party/statsd/shell_data.proto, src/ipc/test/client_unittest_messages.proto, src/ipc/test/deferred_unittest_messages.proto, src/ipc/test/greeter_service.proto, src/perfetto_cmd/perfetto_cmd_state.proto, src/protovm/test/protos/incremental_trace.proto, src/protozero/filtering/filter_util_test_messages.proto, src/protozero/test/example_proto/extensions.proto, src/protozero/test/example_proto/library.proto, src/protozero/test/example_proto/library_internals/galaxies.proto, src/protozero/test/example_proto/other_package/test_messages.proto, src/protozero/test/example_proto/subpackage/test_messages.proto, src/protozero/test/example_proto/test_messages.proto, src/protozero/test/example_proto/upper_import.proto, src/traced/probes/ftrace/test/test_messages.proto |
| MCP server | not met | 0 / 20 | — |
| Runnable examples | met | 40 / 40 | demos, examples, recipes |

## Collection warnings

- Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
- First-time contributor figures cover 12 of 21 authors (cap 12)
- npm package 'perfetto-webui' points at a different repository (https://github.com/chromy/perfetto); excluded from ecosystem scoring

## What this report is

inspect.software measures public repositories against a single published, versioned methodology and reports the result as a 1–100 health index. Findings are signals derived from what is visible in public repository data — they are not a security audit, a warranty, or an endorsement, and no result depends on payment.

- Methodology, formulas and weights: https://inspect.software/methodology.md
- What a result does and does not claim: https://inspect.software/wiki/signals-not-warranties.md
- Rating bands: https://inspect.software/wiki/scoring-bands.md
- Corrections: https://inspect.software/contact.md
- Index of all documents: https://inspect.software/llms.txt
