You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.9 KiB
46 lines
1.9 KiB
# Statsd Checkpoint Atoms
|
|
## Tracing
|
|
|
|
This diagram gives the atoms and the state transitions between when tracing/
|
|
All atoms above log the UUID of the trace;
|
|
`PERFETTO_TRACED_TRIGGER_STOP_TRACING` is special as it *also* logs the trigger
|
|
name which caused trace finalization.
|
|
|
|
NOTE: dotted lines indicate these transitions only happen in background
|
|
configs; transitions with solid lines happen in both background and
|
|
non-background cases.
|
|
|
|
NOTE: for background traces, *either* start triggers or stop triggers are
|
|
supported; both cannot happen for the same trace.
|
|
|
|
```mermaid
|
|
graph TD;
|
|
PERFETTO_CMD_TRACE_BEGIN-->PERFETTO_CMD_ON_CONNECT;
|
|
PERFETTO_CMD_BACKGROUND_TRACE_BEGIN-.->PERFETTO_CMD_ON_CONNECT
|
|
PERFETTO_CMD_ON_CONNECT-->PERFETTO_TRACED_ENABLE_TRACING
|
|
PERFETTO_TRACED_ENABLE_TRACING-->PERFETTO_TRACED_START_TRACING
|
|
PERFETTO_TRACED_ENABLE_TRACING-.->|start trigger background traces only|PERFETTO_TRACED_TRIGGER_START_TRACING
|
|
PERFETTO_TRACED_TRIGGER_START_TRACING-.->PERFETTO_TRACED_START_TRACING
|
|
PERFETTO_TRACED_START_TRACING-.->|stop trigger background traces only|PERFETTO_TRACED_TRIGGER_STOP_TRACING
|
|
PERFETTO_TRACED_TRIGGER_STOP_TRACING-.->PERFETTO_TRACED_DISABLE_TRACING
|
|
PERFETTO_TRACED_START_TRACING-->PERFETTO_TRACED_DISABLE_TRACING
|
|
PERFETTO_TRACED_DISABLE_TRACING-->PERFETTO_TRACED_NOTIFY_TRACING_DISABLED
|
|
PERFETTO_TRACED_NOTIFY_TRACING_DISABLED-->PERFETTO_CMD_ON_TRACING_DISABLED
|
|
PERFETTO_CMD_ON_TRACING_DISABLED-->PERFETTO_CMD_FINALIZE_TRACE_AND_EXIT
|
|
PERFETTO_CMD_FINALIZE_TRACE_AND_EXIT-->PERFETTO_CMD_UPLOAD_INCIDENT
|
|
PERFETTO_CMD_FINALIZE_TRACE_AND_EXIT-.->|only if no trigger happened|PERFETTO_CMD_NOT_UPLOADING_EMPTY_TRACE
|
|
```
|
|
|
|
## Triggers
|
|
|
|
This diagram gives the atoms which can trigger finalization of a trace.
|
|
These atoms will not be reported individually but instead aggregated by trigger name
|
|
and reported as a count.
|
|
|
|
```mermaid
|
|
graph TD;
|
|
PERFETTO_CMD_TRIGGER
|
|
PERFETTO_TRIGGER_PERFETTO_TRIGGER
|
|
```
|
|
|