Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
HdrHistogram.rs `Histogram` serialized to binary in the V2 format
The histogram's maximum value.
The number of outliers which have exceeded the histogram's maximum value.
The highest recorded outlier. This is only present if `high_outliers` is greater than zero.
Task performance statistics.
Used in:
Timestamp of when the task was spawned.
Timestamp of when the task was dropped.
The total number of times this task has been woken over its lifetime.
The total number of times this task's waker has been cloned.
The total number of times this task's waker has been dropped.
The timestamp of the most recent time this task has been woken. If this is `None`, the task has not yet been woken.
Contains task poll statistics.
The total number of times this task has woken itself.
The total duration this task was scheduled prior to being polled, summed across all poll cycles. Note that this includes only polls that have started, and does not reflect any scheduled state where the task hasn't yet been polled. Subtracting both `busy_time` (from the task's `PollStats`) and `scheduled_time` from the total lifetime of the task results in the amount of time it spent unable to progress because it was waiting on some resource.
Data recorded when a new task is spawned.
Used in:
The task's ID. This uniquely identifies this task across all *currently live* tasks. When the task's stats change, or when the task completes, it will be identified by this ID; if the client requires additional information included in the `Task` message, it should store that data and access it by ID.
The numeric ID of the task's `Metadata`. This identifies the `Metadata` that describes the `tracing` span corresponding to this task. The metadata for this ID will have been sent in a prior `RegisterMetadata` message.
The category of task this task belongs to.
A list of `Field` objects attached to this task.
An ordered list of span IDs corresponding to the `tracing` span context in which this task was spawned. The first span ID in this list is the immediate parent, followed by that span's parent, and so on. The final ID is the root span of the current trace. If this is empty, there were *no* active spans when the task was spawned. These IDs may correspond to `tracing` spans which are *not* tasks, if additional trace data is being collected.
The location in code where the task was spawned.
The category of task this task belongs to.
Used in:
A task spawned using a runtime's standard asynchronous task spawning operation (such as `tokio::task::spawn`).
A task spawned via a runtime's blocking task spawning operation (such as `tokio::task::spawn_blocking`).
A task details update
Used as response type in: instrument.Instrument.WatchTaskDetails
The task's ID which the details belong to.
The timestamp for when the update to the task took place.
A histogram of task poll durations. This is either: - the raw binary representation of a HdrHistogram.rs `Histogram` serialized to binary in the V2 format (legacy) - a binary histogram plus details on outliers (current)
HdrHistogram.rs `Histogram` serialized to binary in the V2 format
A histogram plus additional data.
A histogram of task scheduled durations. The scheduled duration is the time a task spends between being woken and when it is next polled.
A task state update. Each `TaskUpdate` contains any task data that has changed since the last update. This includes: - any new tasks that were spawned since the last update - the current stats for any task whose stats changed since the last update
Used in:
A list of new tasks that were spawned since the last `TaskUpdate` was sent. If this is empty, no new tasks were spawned.
Any task stats that have changed since the last update. This is a map of task IDs (64-bit unsigned integers) to task stats. If a task's ID is not included in this map, then its stats have *not* changed since the last `TaskUpdate` in which they were present. If a task's ID *is* included in this map, the corresponding value represents a complete snapshot of that task's stats at in the current time window.
A count of how many task events (e.g. polls, spawns, etc) were not recorded because the application's event buffer was at capacity. If everything is working normally, this should be 0. If it is greater than 0, that may indicate that some data is missing from this update, and it may be necessary to increase the number of events buffered by the application to ensure that data loss is avoided. If the application's instrumentation ensures reliable delivery of events, this will always be 0.