Search Documentation
Search across all documentation pages
Execution

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

AttributeTypeDescription
instance_idstring | nullUnique identifier of the worker instance that processed the job.
instance_typestring | nullMachine type of the worker (e.g., c3-standard-8, n2-highcpu-16).
instance_locationstring | nullCloud region of the worker (e.g., us-central1, europe-west1).
vcpu_countinteger | nullNumber of vCPUs available to the worker.
memory_mbinteger | nullMemory available to the worker in megabytes.
boot_duration_msinteger | nullTime to boot the worker instance.
download_duration_msinteger | nullTime to download the input file.
probe_duration_msinteger | nullTime to probe (analyze) the input file.
encode_duration_msinteger | nullTime spent encoding all outputs. This is typically the longest phase.
upload_duration_msinteger | nullTime to upload all output files.
packaging_duration_msinteger | nullTime to package streaming outputs (manifest generation, segment finalization).
total_duration_msinteger | nullTotal wall-clock time from start to finish.
download_bytesinteger | nullInput file size downloaded in bytes.
upload_bytesinteger | nullTotal output size uploaded in bytes.
download_speed_mbpsnumber | nullAverage download speed in megabits per second.
upload_speed_mbpsnumber | nullAverage upload speed in megabits per second.
avg_cpu_percentnumber | nullAverage CPU utilization during encoding (0—100).
peak_cpu_percentnumber | nullPeak CPU utilization during encoding (0—100).
avg_memory_mbinteger | nullAverage memory usage during encoding in megabytes.
peak_memory_mbinteger | nullPeak memory usage during encoding in megabytes.
chunk_countinteger | nullNumber of chunks the input was split into for parallel encoding.
chunk_strategystring | nullChunking strategy used (e.g., scene-detect, fixed-duration, none).
exit_codeinteger | nullProcess exit code. 0 indicates success.
exit_reasonstring | nullHuman-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
PhaseFieldDescription
Bootboot_duration_msWorker instance startup time. For warm workers, this is near-zero.
Downloaddownload_duration_msTime to download the input file from the source origin or URL.
Probeprobe_duration_msTime to analyze the input file and extract metadata (codec, resolution, duration, etc.).
Encodeencode_duration_msTime spent transcoding all output variants. This is typically 80—95% of total time.
Uploadupload_duration_msTime to upload all generated output files to the output origin.
Packagingpackaging_duration_msTime 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

AttributeDescription
download_bytesTotal bytes downloaded. Matches input_metadata.size_bytes.
upload_bytesTotal bytes uploaded across all outputs.
download_speed_mbpsdownload_bytes * 8 / download_duration_ms / 1000.
upload_speed_mbpsupload_bytes * 8 / upload_duration_ms / 1000.

Resource usage

AttributeDescription
avg_cpu_percentAverage CPU usage across all cores during the encode phase. Values above 90% indicate efficient utilization.
peak_cpu_percentMaximum CPU usage recorded during encoding.
avg_memory_mbAverage memory footprint during encoding.
peak_memory_mbMaximum 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:

AttributeDescription
chunk_countNumber of parallel chunks. 1 means no chunking was used.
chunk_strategyHow 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 Statusexecution
pendingnull
probingPartially populated (worker details, boot/download/probe times).
awaiting_confirmationPartially populated.
processingProgressively populated as phases complete.
completedFully populated.
failedPopulated up to the phase where failure occurred.
canceledPopulated up to the phase where cancellation occurred.