The recommendation response follows a hierarchical structure designed to mirror Kubernetes resource specifications.
Key Data Path
For a container type experiment, the path to resource recommendations is:
kubernetes_objects $\rightarrow$ containers $\rightarrow$ recommendations $\rightarrow$ data $\rightarrow$ [timestamp] $\rightarrow$ recommendation_engines $\rightarrow$ [cost|performance] $\rightarrow$ config $\rightarrow$ resources $\rightarrow$ [limits|requests].
Resource Nesting
Unlike older versions, requests and limits are nested under a resources key:
"resources": {
"limits": {
"memory": { "amount": 100.0, "format": "MiB" },
"cpu": { "amount": 0.5, "format": "cores" }
},
"requests": {
"memory": { "amount": 50.21, "format": "MiB" },
"cpu": { "amount": 5.37, "format": "cores" }
}
}
Recommendation Terms
Recommendations are often categorized by duration:
short_termmedium_termlong_term
[
{
"cluster_name": "cluster-one-division-bell",
"kubernetes_objects": [
{
"type": "deployment",
"name": "tfb-qrh-deployment_5",
"namespace": "default_5",
"containers": [
{
"container_name": "tfb-server-1",
"recommendations": {
"data": {
"2023-04-02T13:30:00.680Z": {
"current": {
"resources": {
"limits": { "memory": { "amount": 100.0, "format": "MiB" } }
}
},
"recommendation_engines": {
"cost": {
"config": {
"resources": {
"limits": { "memory": { "amount": 238.2, "format": "MiB" } }
}
}
}
}
}
}
}
}
]
}
]
}
]