ui: Declarative D3 charting components Features: - 4 chart types: histogram, bar (simple/grouped/stacked), CDF, scatter - Stateless, Mithril-native components with loader pattern - Interactive brush selection for data filtering - Cross-chart filtering with Filter coordination - In-memory data loaders with SQL support foundation - Configurable axis and legend rendering - Correlation coefficient display for scatter plots Architecture: - Loaders handle data preparation and transformation - Chart components remain stateless for Mithril compatibility - BrushHandler provides reusable brush interaction logic - AxisRenderer and LegendRenderer provide shared rendering utilities - FilterUtils enables cross-chart filter synchronization - ChartUtils provides color schemes and layout calculations Components: - Histogram with configurable bucket count and brush selection - SimpleBarChart for basic categorical data visualization - GroupedBarChart for side-by-side category comparisons - StackedBarChart for cumulative category visualization - CDFChart with multi-series support and color grouping - ScatterPlot with correlation analysis and interactive selection Plugin: - DeclarativeChartsPage for exploring chart components - WidgetsPage integration with d3_decl_charts_demo - Interactive demo with filter synchronization between charts and tables Test: Manual Change-Id: I144b0763c66eb49322f656321499cf221b83d230
Perfetto is an open-source suite of SDKs, daemons and tools which use tracing to help developers understand the behaviour of complex systems and root-cause functional and performance issues on client and embedded systems.
It is a production-grade tool that is the default tracing system for the Android operating system and the Chromium browser.
Perfetto is not a single tool, but a collection of components that work together:
Perfetto was designed to be a versatile and powerful tracing system for a wide range of use cases.
ftrace, allowing you to visualize scheduling, syscalls, interrupts, and custom kernel tracepoints on a timeline.chrome://tracing. Use it to debug and root-cause issues in the browser, V8, and Blink.We‘ve designed our documentation to guide you to the right information as quickly as possible, whether you’re a newcomer to performance analysis or an experienced developer.
New to tracing? If you're unfamiliar with concepts like tracing and profiling, start here:
Ready to dive in? Our “Getting Started” guide is the main entry point for all users. It will help you find the right tutorials and documentation for your specific needs:
Want the full overview? For a comprehensive look at what Perfetto is, why it's useful, and who uses it, see our main documentation page:
For users interested in the Debian distribution of Perfetto, the official source of truth and packaging efforts are maintained at Debian Perfetto Salsa Repository
Have questions? Need help?
We follow Google's Open Source Community Guidelines.