#The ExecutionTiming object
The ExecutionTiming object provides detailed telemetry about how a job was processed. It is available on the Job object as execution once the job has started processing.
Use execution timing to monitor encoding performance, optimize your pipeline, and debug slow jobs. All duration fields are in milliseconds.
#Attributes
| Attribute | Type | Description |
|---|
instance_id | string | null | Unique identifier of the worker instance that processed the job. |
instance_type | string | null | Machine type of the worker (e.g., c3-standard-8, n2-highcpu-16). |
instance_location | string | null | Cloud region of the worker (e.g., us-central1, europe-west1). |
vcpu_count | integer | null | Number of vCPUs available to the worker. |
memory_mb | integer | null | Memory available to the worker in megabytes. |
boot_duration_ms | integer | null | Time to boot the worker instance. |
download_duration_ms | integer | null | Time to download the input file. |
probe_duration_ms | integer | null | Time to probe (analyze) the input file. |
encode_duration_ms | integer | null | Time spent encoding all outputs. This is typically the longest phase. |
upload_duration_ms | integer | null | Time to upload all output files. |
packaging_duration_ms | integer | null | Time to package streaming outputs (manifest generation, segment finalization). |
total_duration_ms | integer | null | Total wall-clock time from start to finish. |
download_bytes | integer | null | Input file size downloaded in bytes. |
upload_bytes | integer | null | Total output size uploaded in bytes. |
download_speed_mbps | number | null | Average download speed in megabits per second. |
upload_speed_mbps | number | null | Average upload speed in megabits per second. |
avg_cpu_percent | number | null | Average CPU utilization during encoding (0—100). |
peak_cpu_percent | number | null | Peak CPU utilization during encoding (0—100). |
avg_memory_mb | integer | null | Average memory usage during encoding in megabytes. |
peak_memory_mb | integer | null | Peak memory usage during encoding in megabytes. |
chunk_count | integer | null | Number of chunks the input was split into for parallel encoding. |
chunk_strategy | string | null | Chunking strategy used (e.g., scene-detect, fixed-duration, none). |
exit_code | integer | null | Process exit code. 0 indicates success. |
exit_reason | string | null | Human-readable exit reason if the process terminated abnormally. |
{
"instance_id": "wrk_8f3a2b1c4d5e",
"instance_type": "c3-standard-8",
"instance_location": "europe-west1",
"vcpu_count": 8,
"memory_mb": 32768,
"boot_duration_ms": 850,
"download_duration_ms": 3200,
"probe_duration_ms": 1150,
"encode_duration_ms": 42300,
"upload_duration_ms": 5600,
"packaging_duration_ms": 1200,
"total_duration_ms": 54300,
"download_bytes": 245366784,
"upload_bytes": 178520064,
"download_speed_mbps": 613.4,
"upload_speed_mbps": 255.0,
"avg_cpu_percent": 92.3,
"peak_cpu_percent": 99.8,
"avg_memory_mb": 4096,
"peak_memory_mb": 6144,
"chunk_count": 4,
"chunk_strategy": "scene-detect",
"exit_code": 0,
"exit_reason": null
}
#Phase durations
The encoding pipeline consists of sequential phases. Each phase’s duration is tracked independently:
boot --> download --> probe --> encode --> upload --> packaging
|
total_duration_ms
| Phase | Field | Description |
|---|
| Boot | boot_duration_ms | Worker instance startup time. For warm workers, this is near-zero. |
| Download | download_duration_ms | Time to download the input file from the source origin or URL. |
| Probe | probe_duration_ms | Time to analyze the input file and extract metadata (codec, resolution, duration, etc.). |
| Encode | encode_duration_ms | Time spent transcoding all output variants. This is typically 80—95% of total time. |
| Upload | upload_duration_ms | Time to upload all generated output files to the output origin. |
| Packaging | packaging_duration_ms | Time to generate streaming manifests and finalize segment files. 0 for progressive outputs. |
total_duration_ms is the wall-clock time and may be slightly larger than the sum of individual phases due to overhead between phases.
#Transfer statistics
| Attribute | Description |
|---|
download_bytes | Total bytes downloaded. Matches input_metadata.size_bytes. |
upload_bytes | Total bytes uploaded across all outputs. |
download_speed_mbps | download_bytes * 8 / download_duration_ms / 1000. |
upload_speed_mbps | upload_bytes * 8 / upload_duration_ms / 1000. |
#Resource usage
| Attribute | Description |
|---|
avg_cpu_percent | Average CPU usage across all cores during the encode phase. Values above 90% indicate efficient utilization. |
peak_cpu_percent | Maximum CPU usage recorded during encoding. |
avg_memory_mb | Average memory footprint during encoding. |
peak_memory_mb | Maximum memory usage. High values relative to memory_mb may indicate the job needed a larger instance. |
#Chunk encoding
For long-duration inputs, Transcodely may split the video into chunks for parallel encoding:
| Attribute | Description |
|---|
chunk_count | Number of parallel chunks. 1 means no chunking was used. |
chunk_strategy | How chunks were determined. scene-detect splits at scene boundaries for seamless concatenation. fixed-duration splits at fixed intervals. none means the entire file was encoded as one unit. |
#Availability
| Job Status | execution |
|---|
pending | null |
probing | Partially populated (worker details, boot/download/probe times). |
awaiting_confirmation | Partially populated. |
processing | Progressively populated as phases complete. |
completed | Fully populated. |
failed | Populated up to the phase where failure occurred. |
canceled | Populated up to the phase where cancellation occurred. |