For the complete documentation index, see llms.txt. This page is also available as Markdown.

Metrics

Cedana API for metrics

Get checkpoint CPU data for efficiency calculations Returns the CPU usage at checkpoint time for each protected pod, allowing the frontend to calculate actual preservation ratios.

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
hoursinteger · nullableOptional

Time window in hours (default: 24, max: 168 = 7 days)

Responses
200

Returns per-pod checkpoint CPU data

application/json

Per-pod checkpoint resource data for efficiency calculations

checkpoint_countinteger · int64Required

Total number of checkpoints for this pod

checkpoint_timestampstringRequired

Timestamp of the last checkpoint

cpu_at_checkpointnumber · doubleRequired

CPU usage (seconds) at the time of the last checkpoint This represents the work preserved by the checkpoint

gpu_memory_used_mibnumber · nullableOptional

GPU memory used (MiB) at checkpoint time, if GPU was used

gpu_modelstring · nullableOptional

GPU model name (e.g., "NVIDIA H100 80GB HBM3"), if GPU was used

gpu_utilization_at_checkpointnumber · nullableOptional

GPU utilization at checkpoint time (percentage 0-100), if GPU was used Derived from DCGM_FI_DEV_GPU_UTIL metric

namespacestringRequired

Namespace

pod_namestringRequired

Pod name

get/v1/metrics/checkpoint-cpu
GET /v1/metrics/checkpoint-cpu HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "checkpoint_count": 1,
    "checkpoint_timestamp": "text",
    "cpu_at_checkpoint": 1,
    "gpu_memory_used_mib": null,
    "gpu_model": null,
    "gpu_utilization_at_checkpoint": null,
    "namespace": "text",
    "pod_name": "text"
  }
]

List checkpoint savings per pod

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Returns checkpoint savings data per pod

application/json

Per-pod checkpoint savings data

avg_interval_secondsnumber · nullableOptional

Average interval between checkpoints (seconds)

capacity_typestring · nullableOptional

Node capacity type: "spot" or "on-demand"

checkpoint_countinteger · nullableOptional
cluster_idstring · nullableOptional
estimated_savingsnumber · nullableOptional

Estimated savings (if spot instance)

first_checkpointstring · nullableOptional
gpustring · nullableOptional
heartbeat_checkpointsinteger · nullableOptional

Number of automatic heartbeat checkpoints

instance_typestring · nullableOptional

Node instance type (e.g., "m5.xlarge", "n1-standard-4")

last_checkpointstring · nullableOptional
manual_checkpointsinteger · nullableOptional

Number of manual checkpoints

max_recovery_point_secondsnumber · nullableOptional

Maximum interval - worst case data loss on failure (seconds)

min_interval_secondsnumber · nullableOptional

Minimum interval between checkpoints (seconds)

namespacestring · nullableOptional
node_namestring · nullableOptional

Node name (for linking to node details page)

node_regionstring · nullableOptional

Node region

ondemand_price_per_hournumber · nullableOptional

On-demand price per hour (from user config)

platformstring · nullableOptional
pod_namestring · nullableOptional
protection_efficiency_rationumber · nullableOptional

Ratio of time protected to checkpoint overhead (higher = more efficient)

refreshed_atstring · nullableOptional
spot_price_per_hournumber · nullableOptional

Spot price per hour (from user config)

time_protected_secondsnumber · nullableOptional

Total time (seconds) between first and last checkpoint - time "protected"

total_checkpoint_duration_nsinteger · nullableOptional

Total time spent checkpointing (nanoseconds)

total_checkpoint_size_bytesinteger · nullableOptional

Total data checkpointed (bytes)

get/v1/metrics/checkpoint-savings
GET /v1/metrics/checkpoint-savings HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "avg_interval_seconds": null,
    "capacity_type": null,
    "checkpoint_count": null,
    "cluster_id": null,
    "estimated_savings": null,
    "first_checkpoint": null,
    "gpu": null,
    "heartbeat_checkpoints": null,
    "instance_type": null,
    "last_checkpoint": null,
    "manual_checkpoints": null,
    "max_recovery_point_seconds": null,
    "min_interval_seconds": null,
    "namespace": null,
    "node_name": null,
    "node_region": null,
    "ondemand_price_per_hour": null,
    "platform": null,
    "pod_name": null,
    "protection_efficiency_ratio": null,
    "refreshed_at": null,
    "spot_price_per_hour": null,
    "time_protected_seconds": null,
    "total_checkpoint_duration_ns": null,
    "total_checkpoint_size_bytes": null
  }
]

Calculate cost savings estimate with user-provided hourly rate

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
hourly_ratenumber · doubleRequired

Hourly compute cost rate (e.g., 10.50 for $10.50/hour)

Responses
200

Returns cost savings estimate

application/json

Cost savings estimate with user-provided hourly rate

checkpoint_overhead_costnumber · doubleRequired

Cost of checkpoint overhead (time spent checkpointing)

hourly_ratenumber · doubleRequired

User-provided hourly compute cost

max_recovery_point_secondsnumber · doubleRequired

Maximum potential data loss on failure (seconds) - worst case recovery point

max_savings_per_failurenumber · doubleRequired

Estimated maximum cost saved per failure event (time_protected - max_recovery_point) * hourly_rate / 3600

net_potential_savingsnumber · doubleRequired

Net potential savings = max_savings - overhead_cost

pods_protectedinteger · int64Required

Number of pods protected

time_protected_secondsnumber · doubleRequired

Total time protected by checkpoints (seconds)

total_checkpointsinteger · int64Required

Total checkpoints taken

get/v1/metrics/checkpoint-savings/estimate
GET /v1/metrics/checkpoint-savings/estimate?hourly_rate=1 HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "checkpoint_overhead_cost": 1,
  "hourly_rate": 1,
  "max_recovery_point_seconds": 1,
  "max_savings_per_failure": 1,
  "net_potential_savings": 1,
  "pods_protected": 1,
  "time_protected_seconds": 1,
  "total_checkpoints": 1
}

Get organization-level checkpoint savings summary

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Returns organization-level savings summary

application/json

Organization-level checkpoint savings summary

avg_checkpoint_interval_secondsnumber · nullableOptional
org_idstring · nullableOptional
pods_protectedinteger · nullableOptional
refreshed_atstring · nullableOptional
total_checkpoint_overhead_nsinteger · nullableOptional
total_checkpoint_storage_bytesinteger · nullableOptional
total_checkpointsinteger · nullableOptional
total_estimated_savingsnumber · nullableOptional

Total estimated savings across all pods (spot vs on-demand)

total_heartbeat_checkpointsinteger · nullableOptional
total_manual_checkpointsinteger · nullableOptional
total_time_protected_secondsnumber · nullableOptional
worst_case_recovery_point_secondsnumber · nullableOptional
get/v1/metrics/checkpoint-savings/summary
GET /v1/metrics/checkpoint-savings/summary HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "avg_checkpoint_interval_seconds": null,
  "org_id": null,
  "pods_protected": null,
  "refreshed_at": null,
  "total_checkpoint_overhead_ns": null,
  "total_checkpoint_storage_bytes": null,
  "total_checkpoints": null,
  "total_estimated_savings": null,
  "total_heartbeat_checkpoints": null,
  "total_manual_checkpoints": null,
  "total_time_protected_seconds": null,
  "worst_case_recovery_point_seconds": null
}

Prometheus exposition of checkpoint and restore metrics

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Prometheus text exposition (version 0.0.4)

text/plain
stringOptional
get/v1/metrics/export
GET /v1/metrics/export HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
text

Get GPU metrics grouped by node

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
node_namestring · nullableOptional

Filter by node name

hoursinteger · nullableOptional

Time window in hours (default: 1, max: 24)

Responses
200

Returns GPU metrics grouped by node

application/json

GPU metrics grouped by node

node_namestringRequired
get/v1/metrics/gpu
GET /v1/metrics/gpu HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "gpus": [
      {
        "gpu_index": "text",
        "gpu_utilization": null,
        "gpu_uuid": "text",
        "memory_free_mib": null,
        "memory_used_mib": null,
        "memory_utilization": null,
        "model_name": null,
        "namespace": null,
        "node_name": "text",
        "pod_name": null,
        "power_watts": null,
        "temperature_celsius": null,
        "timestamp": "text"
      }
    ],
    "node_name": "text"
  }
]

Get GPU time-series data for a specific GPU

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
gpu_uuidstringRequired

GPU UUID to get time-series for

minutesinteger · nullableOptional

Time window in minutes (default: 60, max: 1440)

Responses
200

Returns GPU time-series data

application/json

Time-series data for a single GPU

gpu_indexstringRequired
gpu_uuidstringRequired
model_namestring · nullableOptional
node_namestringRequired
get/v1/metrics/gpu/timeseries
GET /v1/metrics/gpu/timeseries?gpu_uuid=text HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": [
    {
      "gpu_utilization": null,
      "memory_free_mib": null,
      "memory_used_mib": null,
      "memory_utilization": null,
      "namespace": null,
      "pod_name": null,
      "timestamp": "text"
    }
  ],
  "gpu_index": "text",
  "gpu_uuid": "text",
  "model_name": null,
  "node_name": "text"
}

Get metrics (K8s)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
namestring · nullableOptional
collector_typestring · nullableOptional
Responses
200

Returns k8 metrics

application/json

New structured event state

namestringRequired
get/v1/metrics/k8
GET /v1/metrics/k8 HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "details": [
      {
        "collector": "text",
        "cpu_core": "text",
        "cpu_mode": "text",
        "filesystem": "text",
        "metric_name": "text",
        "mountpoint": "text",
        "resource": null,
        "timestamp": "text",
        "value": "text"
      }
    ],
    "name": "text"
  }
]

Windowed operation aggregates for dashboards

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
timeinteger · nullableOptional

Window in seconds (default 604800, max 90 days)

workloadstring · nullableOptional

kubernetes | slurm

operationstring · nullableOptional

checkpoint | restore

Responses
200

Counts, percentiles, histograms, stages, failures and a timeline for the window

application/json

Windowed aggregates over the same facts and bucket boundaries as the Prometheus export.

attemptsinteger · int64Required
failedinteger · int64Required
fallbacksinteger · int64Required
step_secondsinteger · int64Required
succeededinteger · int64Required
window_secondsinteger · int64Required
get/v1/metrics/operations/summary
GET /v1/metrics/operations/summary HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "artifact_size_buckets": [
    {
      "count": 1,
      "le": null
    }
  ],
  "attempts": 1,
  "failed": 1,
  "failures": [
    {
      "count": 1,
      "operation": "text",
      "reason": "text",
      "stage": "text"
    }
  ],
  "fallbacks": 1,
  "operations": [
    {
      "attempts": 1,
      "bytes_total": 1,
      "duration_buckets": [
        {
          "count": 1,
          "le": null
        }
      ],
      "failed": 1,
      "fallbacks": 1,
      "operation": "text",
      "p50_ns": 1,
      "p95_ns": 1,
      "pause_p50_ns": 1,
      "pause_p95_ns": 1,
      "succeeded": 1,
      "to_ready_count": 1,
      "to_ready_p50_ns": 1,
      "to_ready_p95_ns": 1
    }
  ],
  "stages": [
    {
      "count": 1,
      "operation": "text",
      "p50_ns": 1,
      "p95_ns": 1,
      "stage": "text",
      "total_ns": 1
    }
  ],
  "step_seconds": 1,
  "succeeded": 1,
  "tiers": [
    {
      "attempts": 1,
      "bytes_total": 1,
      "operation": "text",
      "p50_ns": 1,
      "storage_tier": "text",
      "succeeded": 1
    }
  ],
  "timeline": [
    {
      "bucket_ms": 1,
      "failed": 1,
      "fallbacks": 1,
      "operation": "text",
      "succeeded": 1
    }
  ],
  "window_seconds": 1
}

Get pod utilization metrics

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
pod_uidstring · nullableOptional

Filter by pod UID

node_namestring · nullableOptional

Filter by node name

limitinteger · nullableOptional

Limit results (default: 100, max: 1000)

hoursinteger · nullableOptional

Time window in hours (default: 1, max: 168 = 7 days)

Responses
200

Returns pod utilization metrics

application/json

Pod utilization metrics grouped by pod

cpu_usage_secondsnumber · doubleRequired
memory_bytesnumber · doubleRequired
namespacestring · nullableOptional
node_namestringRequired
owner_kindstring · nullableOptional

Owner kind from kube-state-metrics (e.g., "Job", "ReplicaSet", "DaemonSet", "StatefulSet")

owner_namestring · nullableOptional

Owner name from kube-state-metrics (e.g., "my-job", "my-deployment-abc123")

pod_namestring · nullableOptional
pod_uidstringRequired
timestampstringRequired
get/v1/metrics/pods
GET /v1/metrics/pods HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "cpu_usage_seconds": 1,
    "memory_bytes": 1,
    "namespace": null,
    "node_name": "text",
    "owner_kind": null,
    "owner_name": null,
    "pod_name": null,
    "pod_uid": "text",
    "timestamp": "text"
  }
]

Get top pods by CPU usage

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
limitinteger · int64Optional

Number of pods to return (default: 10, max: 100)

Responses
200

Returns top pods by CPU

application/json

Top pods by resource usage

cpu_usage_secondsnumber · doubleRequired
memory_bytesnumber · doubleRequired
namespacestring · nullableOptional
node_namestringRequired
pod_namestring · nullableOptional
pod_uidstringRequired
get/v1/metrics/pods/top/cpu
GET /v1/metrics/pods/top/cpu HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "cpu_usage_seconds": 1,
    "memory_bytes": 1,
    "namespace": null,
    "node_name": "text",
    "pod_name": null,
    "pod_uid": "text"
  }
]

Get top pods by memory usage

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
limitinteger · int64Optional

Number of pods to return (default: 10, max: 100)

Responses
200

Returns top pods by memory

application/json

Top pods by resource usage

cpu_usage_secondsnumber · doubleRequired
memory_bytesnumber · doubleRequired
namespacestring · nullableOptional
node_namestringRequired
pod_namestring · nullableOptional
pod_uidstringRequired
get/v1/metrics/pods/top/memory
GET /v1/metrics/pods/top/memory HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "cpu_usage_seconds": 1,
    "memory_bytes": 1,
    "namespace": null,
    "node_name": "text",
    "pod_name": null,
    "pod_uid": "text"
  }
]

Get metrics (Slurm)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Returns SLURM metrics

application/json
counter_valuenumber · nullableOptional
gauge_valuenumber · nullableOptional
idinteger · int64Required
kindstring · nullableOptional
namestringRequired
tagsanyOptional
timestampinteger · int64Required
get/v1/metrics/slurm
GET /v1/metrics/slurm HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "counter_value": null,
    "gauge_value": null,
    "id": 1,
    "kind": null,
    "name": "text",
    "tags": null,
    "timestamp": 1
  }
]

Get cluster overview (Slurm)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Returns SLURM cluster overview

application/json
cpu_loadnumber · nullableOptional
cpus_idlenumber · nullableOptional
cpus_totalnumber · nullableOptional
mem_allocnumber · nullableOptional
mem_freenumber · nullableOptional
mem_realnumber · nullableOptional
timestampinteger · int64Required
get/v1/metrics/slurm/overview
GET /v1/metrics/slurm/overview HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "cpu_load": null,
  "cpus_idle": null,
  "cpus_total": null,
  "mem_alloc": null,
  "mem_free": null,
  "mem_real": null,
  "timestamp": 1
}

Get state breakdown (Slurm)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Returns state breakdown

application/json
timestampinteger · int64Required
get/v1/metrics/slurm/overview/state
GET /v1/metrics/slurm/overview/state HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "cpus_by_state": [
    {
      "state": "text",
      "value": 1
    }
  ],
  "nodes_by_state": [
    {
      "state": "text",
      "value": 1
    }
  ],
  "timestamp": 1
}

Get partition statistics (Slurm)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Returns partition statistics

application/json
cpu_loadnumber · nullableOptional
free_memorynumber · nullableOptional
idle_cpusnumber · nullableOptional
idle_nodesnumber · nullableOptional
partition_namestringRequired
real_memorynumber · nullableOptional
timestampinteger · int64Required
total_cpusnumber · nullableOptional
get/v1/metrics/slurm/partitions
GET /v1/metrics/slurm/partitions HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "cpu_load": null,
    "free_memory": null,
    "idle_cpus": null,
    "idle_nodes": null,
    "partition_name": "text",
    "real_memory": null,
    "timestamp": 1,
    "total_cpus": null
  }
]

Get partition node counts by state (Slurm)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Returns node counts per partition per state

application/json

Node count per state for a partition

countnumber · doubleRequired
partition_namestringRequired
statestringRequired
get/v1/metrics/slurm/partitions/nodes
GET /v1/metrics/slurm/partitions/nodes HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "count": 1,
    "partition_name": "text",
    "state": "text"
  }
]

Get partition time series (Slurm)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
namestringRequired

Partition name

Responses
200

Returns partition time series

application/json
partition_namestringRequired
get/v1/metrics/slurm/partitions/{name}/timeseries
GET /v1/metrics/slurm/partitions/{name}/timeseries HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "cpu_load": [
    {
      "timestamp": 1,
      "value": 1
    }
  ],
  "free_memory": [
    {
      "timestamp": 1,
      "value": 1
    }
  ],
  "partition_name": "text"
}

Get CPU load time series (Slurm)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Returns CPU load time series

application/json
timestampinteger · int64Required
valuenumber · doubleRequired
get/v1/metrics/slurm/timeseries/cpu-load
GET /v1/metrics/slurm/timeseries/cpu-load HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "timestamp": 1,
    "value": 1
  }
]

Get memory time series (Slurm)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Returns memory time series

application/json
get/v1/metrics/slurm/timeseries/memory
GET /v1/metrics/slurm/timeseries/memory HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "allocated_memory": [
    {
      "timestamp": 1,
      "value": 1
    }
  ],
  "free_memory": [
    {
      "timestamp": 1,
      "value": 1
    }
  ]
}

One checkpoint or restore attempt with its stage breakdown

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstring · uuidRequired

Checkpoint id or restore uuid

Responses
200

Operation fact, its stages and, for a checkpoint, the restores made from it

application/json
action_idstringRequired
checkpoint_idstringRequired
cluster_idstringRequired
completed_at_msinteger · nullableOptional
duration_nsinteger · int64Required
failure_reasonstringRequired
failure_stagestringRequired
gpu_modelstringRequired
kindstringRequired
logical_bytesinteger · int64Required
namestringRequired
namespacestringRequired
node_namestringRequired
op_typestringRequired
operation_idstringRequired
pause_nsinteger · int64Required
physical_bytesinteger · int64Required
platformstringRequired
pod_ready_at_msinteger · nullableOptional
pod_scheduled_at_msinteger · nullableOptional

Restores only: PodScheduled / Ready transitions of the restored pod, once known.

pod_uidstringRequired
reasonstringRequired
restore_uuidstringRequired
resultstringRequired
sourcestringRequired
started_at_msinteger · int64Required

Milliseconds since the Unix epoch.

storage_tierstringRequired
workload_typestringRequired
get/v1/operations/{id}
GET /v1/operations/{id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "action_id": "text",
  "checkpoint_id": "text",
  "cluster_id": "text",
  "completed_at_ms": null,
  "duration_ns": 1,
  "failure_reason": "text",
  "failure_stage": "text",
  "gpu_model": "text",
  "kind": "text",
  "logical_bytes": 1,
  "name": "text",
  "namespace": "text",
  "node_name": "text",
  "op_type": "text",
  "operation_id": "text",
  "pause_ns": 1,
  "physical_bytes": 1,
  "platform": "text",
  "pod_ready_at_ms": null,
  "pod_scheduled_at_ms": null,
  "pod_uid": "text",
  "reason": "text",
  "restore_uuid": "text",
  "result": "text",
  "source": "text",
  "started_at_ms": 1,
  "storage_tier": "text",
  "workload_type": "text",
  "restores": [
    {
      "action_id": "text",
      "checkpoint_id": "text",
      "cluster_id": "text",
      "completed_at_ms": null,
      "duration_ns": 1,
      "failure_reason": "text",
      "failure_stage": "text",
      "gpu_model": "text",
      "kind": "text",
      "logical_bytes": 1,
      "name": "text",
      "namespace": "text",
      "node_name": "text",
      "op_type": "text",
      "operation_id": "text",
      "pause_ns": 1,
      "physical_bytes": 1,
      "platform": "text",
      "pod_ready_at_ms": null,
      "pod_scheduled_at_ms": null,
      "pod_uid": "text",
      "reason": "text",
      "restore_uuid": "text",
      "result": "text",
      "source": "text",
      "started_at_ms": 1,
      "storage_tier": "text",
      "workload_type": "text"
    }
  ],
  "stages": [
    {
      "bytes_in": 1,
      "bytes_out": 1,
      "duration_ns": 1,
      "reason": "text",
      "result": "text",
      "seq": 1,
      "stage": "text"
    }
  ]
}

Last updated

Was this helpful?