TRACED(8)

名称

traced - Perfetto tracing 服务

描述

traced 是 Perfetto [基于服务的架构](/docs/concepts/service-model.md)中的中央守护程序。它充当系统上所有tracing 活动的总站,调解想要记录数据的实体(生产者)和想要控制和读取 traces 的实体(消费者)之间的交互。

在典型的系统范围 tracing设置中(如 Android 或 Linux 上),traced 作为长期运行的后台守护程序运行,通常在系统启动时启动。

架构

Perfetto 的架构旨在提高安全性和稳健性,以 traced 为核心。该模型由三个主要组件组成:

这种解耦架构允许多个独立的生产者和消费者同时与 tracing system 交互而不会相互干扰。

核心职责

traced 本身不生成 trace data。其主要作用是管理一个或多个Tracing Session的后勤:

交互模型

实体主要通过两个通道与 traced 交互:

  1. IPC 通道: 用于相对低频的控制信号。
  1. 共享内存: 用于高频、低开销的数据传输。

命令行选项

traced 支持以下命令行选项:

内置生产者

在 Android 上,traced 还包括一个具有几个关键 职责的内置生产者:

安全

基于服务的架构考虑了安全性。生产者是不受信任的,彼此隔离并与中央服务隔离。UNIX 套接字权限的使用允许管理员控制谁可以作为生产者或消费者连接到 tracing 服务。