Is your feature request related to a problem? Please describe.
We are shifting from Watermark Pod Autoscaler to DPA in Datadog and would like to use DPA in a WRT. Sadly, DPA does not follow HPA conventions, namely:
-
DPA uses targetRef instead of scaleTargetRef:
spec: targetRef: apiVersion: apps/v1 kind: Deployment name: <your Deployment name>
-
DPA has a different (and complicated) metric setup that does not use matchLabels:
`spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: test
...
objectives:
- type: CustomQuery
customQueryObjective:
query:
formulas:
- "query1 / query2"
queries:
-
name: query1
dataSource: metrics
metrics:
query: "avg:system.cpu.user{*}"
-
name: query2
dataSource: apm_metrics
apm_metrics:
stat: "latency_avg"
service: "my-service"
query_filter: "account:prod"`
If we want to use DPA with the Worker Controller, we'd need a way to template in the temporal_worker_deployment_name, the temporal_worker_build_id and the temporal_namespace for metric filters or queries.
Describe the solution you'd like
DPA can use resource-based targets which would not need the matchLabels setup, so as a first request, I'd like to ask for support for the targetRef field alongside the scaleTargetRef.
In the long term, it would be nice to be able to use queries with the additional fields templated in by the controller.
Is your feature request related to a problem? Please describe.
We are shifting from Watermark Pod Autoscaler to DPA in Datadog and would like to use DPA in a WRT. Sadly, DPA does not follow HPA conventions, namely:
DPA uses targetRef instead of scaleTargetRef:
spec: targetRef: apiVersion: apps/v1 kind: Deployment name: <your Deployment name>DPA has a different (and complicated) metric setup that does not use matchLabels:
`spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: test
...
objectives:
customQueryObjective:
query:
formulas:
- "query1 / query2"
queries:
-
name: query1
dataSource: metrics
metrics:
query: "avg:system.cpu.user{*}"
-
name: query2
dataSource: apm_metrics
apm_metrics:
stat: "latency_avg"
service: "my-service"
query_filter: "account:prod"`
If we want to use DPA with the Worker Controller, we'd need a way to template in the
temporal_worker_deployment_name, thetemporal_worker_build_idand thetemporal_namespacefor metric filters or queries.Describe the solution you'd like
DPA can use resource-based targets which would not need the matchLabels setup, so as a first request, I'd like to ask for support for the targetRef field alongside the scaleTargetRef.
In the long term, it would be nice to be able to use queries with the additional fields templated in by the controller.