- Qt Creator Documentation
- How to
- Profiling applications
- Qt Creator 21.0.0-beta1

Select the help start page ◦ Analyze CPU usage

# Profiling applications

> How to: Profile

Use integrated profiling tools to find causes for typical performance problems in your applications, analyze CPU and memory usage, and visualize trace events.

## Using profiling tools

To use a profiling tool, select it in the Analyze menu or in the pull-down menu of the Profile mode. The selected tool opens in the Profile mode. Switch between tools by selecting them in the menu on the toolbar.

## Overview of the profiling tools

The following table describes the tools you can use in Qt Creator to profile your code. Profiling tools are built into Qt Creator.

Tool | Language | Description
--- | --- | ---
Chrome Trace Format Visualizer | Any | Explore traces that third-party tools generate in Chrome Trace Format.
Performance Analyzer | Any | Analyze the CPU and memory usage of an application on Linux desktop and embedded devices.
QML Profiler | QML, JavaScript | Find causes for typical performance problems in your applications, such as slowness and unresponsiveness.

## Using Chrome Trace Format Visualizer

Use the Chrome Trace Format Visualizer to view Chrome trace events. This is especially useful when viewing large trace files that are difficult to visualize using the built-in trace-viewer (`chrome://tracing`).

Tracing information can tell you more about the data that QML Profiler collects. For example, you can check why a trivial binding evaluation is taking so long. This might be caused by C++ being executed or the disk I/O being slow.

Several tracing tools can generate information about Chrome trace events in Chrome Trace Format beyond Chrome-based tools. With the visualizer, you can navigate, zoom, and inspect events in the trace.

For more information, see:

- Chrome Trace Format Visualizer
- KDAB: Full Stack Tracing Part 1

## Using Performance Analyzer

On Linux, use Performance Analyzer to analyze the CPU and memory usage of an application on Linux desktop and embedded devices.

Performance Analyzer uses the Perf tool bundled with the Linux kernel to take periodic snapshots of the call chain of an application and visualizes them in a timeline view or as a flame graph.

For more information, see:

- Analyze CPU usage
- Performance Analyzer

## Using QML Profiler

Use QML Profiler to inspect binding evaluations and signal handling when running QML code. This helps you identify performance bottlenecks that are difficult to spot through code inspection alone.

QML Profiler records events, such as signal handling, binding evaluations, and JavaScript execution, and visualizes them in a timeline view. This is useful for diagnosing slowness and unresponsiveness.

For more information, see:

- Profile QML applications
- QML Profiler

See also How to: Profile.

Select the help start page ◦ Analyze CPU usage