Skip to content

[Feature Request] Support Datadog Pod Autoscaler (DPA) #367

@eniko-dif

Description

@eniko-dif

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:

  1. DPA uses targetRef instead of scaleTargetRef:
    spec: targetRef: apiVersion: apps/v1 kind: Deployment name: <your Deployment name>

  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions