divviup / divviup/janus

Wire aggregation job failures into per-task counters

Open
#3,798 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
70
Forks
16
Avg merge
4h 36m
Merged PRs (30d)
30

Description

Janus tracks a variety of per-task metrics to count the occurrence of things like report uploads being rejected due to HPKE decryption failures. But if a report gets rejected by the Helper, the Leader's per-task counters won't reflect these failures. In particular, if Clients are configured to use the wrong HPKE keys for the Helper, then reports will fail to be aggregated but no information about this will be available via the Leader-side task counters. This can make it harder for someone deploying a task and clients to debug, as they may not have access to the Helper's per-task counters, Prometheus metrics, or logs.

We could expose some new per-task counters, clearly labeled by aggregator, and increment them as the Leader walks the prepare_resps in an AggregationJobResp.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the Leader's handling of AggregationJobResp and its prepare_resps entries. Identify the existing per-task counter definitions and increment path, then add clearly aggregator-labeled counters for Helper-side report rejections and verify that failures such as HPKE decryption errors are reflected in Leader-side task metrics.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.