Stay organized with collections
Save and categorize content based on your preferences.
The ProfilingManager Android API lets you collect real user performance
profiles, such as system traces, programmatically. The ProfilingManager API
supports two types of trace collections: traces that you explicitly start and
event-based traces.
This section focuses on traces that you explicitly start and covers the following
topics:
How to collect traces with ProfilingManager.
How to retrieve those traces.
How to visualize traces in Perfetto UI.
Important details about how ProfilingManager works.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-07-25 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-25 UTC."],[],[],null,["# Overview\n\nThe [`ProfilingManager`](/reference/android/os/ProfilingManager) Android API lets you collect real user performance\nprofiles, such as [system traces](/topic/performance/tracing), programmatically. The `ProfilingManager` API\nsupports two types of trace collections: traces that you explicitly start and\nevent-based traces.\n\nThis section focuses on traces that you explicitly start and covers the following\ntopics:\n\n- How to collect traces with `ProfilingManager`.\n- How to retrieve those traces.\n- How to visualize traces in Perfetto UI.\n- Important details about how `ProfilingManager` works.\n\n| **Key Point:** This guide is for developers who want to set up a way to collect end-user performance profiles."]]