Skip to content

ate.workerpool.workers is double counted when ate-api-server runs more than one replica #3055

Closed

Description

@git286

Every ate-api-server replica reports ate.workerpool.workers for the whole fleet. The default install runs 2 replicas, so anything that adds the metric up, like a sum(), a dashboard, or an alert, shows twice the real number of workers.

On a default GKE install (v0.4.0-gke.0) with one pool of 3 workers:

Query Result
kubectl get workerpool counter 3 desired, 3 ready
sum by (instance) ({"ate.workerpool.workers", cluster="<cluster>"}) 3 from each ate-api-server pod
sum({"ate.workerpool.workers", cluster="<cluster>"}) 6

Possible fixes

  • Report the metric from one place only: atecontroller, which already reports desired_workers/ready_workers, or the API server leader.
  • Or document that users must de-duplicate the metric, e.g. max by ("ate.workerpool.name", "ate.worker.state") (...).

Activity

  1. git286 commented on Oct 21, 2026

    @git286
    CollaboratorAuthor
  2. juli4n commented on Oct 21, 2026

    @juli4n
    Collaborator

    I think this is WAI. Each ate-apiserver replica keeps a full view of the workers and reports the whole fleet as a metric. The metrics has instance (and pod) labels so each replica's metric series  can by grouped together.

    This is not different than how kube-apiserver works. Every replica in an HPA setup reports the object counts for the whole cluster.

    That being said, I agree it's worth a paragraph in the documentation about observability / otel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions