Provide better timing information for hackbot jobs
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 570
- Forks
- 351
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 65
Description
This may have some overlap with https://github.com/mozilla/bugbug/issues/6266
We'd like to track how long jobs are taking. At the moment we can look at the created_at time and the final updated_at time in the RunDoc, but that is low-granularity and presumably ends up double counting time when multiple jobs are queued.
Ideally we'd like to know:
- The time between a job being created and it being scheduled
- The time between an agent starting on a runner and it completing
- Various internal times as the agent progresses (these would probably need to be agent-specific) e.g. the time to download firefox or check out source trees, the time actively using the LLM.
Note that there could be gaps in the above e.g. the difference between a task being scheduled and the agent code running is the time taken to create and initialize the docker container.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the RunDoc timestamps and the job scheduling, runner, and agent lifecycle described in the issue. Define how to record queue time, runner execution time, and agent-specific internal intervals while distinguishing Docker initialization gaps; done means these timings are available without double counting queued work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- ai, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100