chef / chef/chef-server

Depsolver Metrics Addition

Open
#1,494 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Aspect: Performance Triage: Try Reproducing Type: Enhancement
Dominant language
Erlang
Stars
303
Forks
211
Avg merge
1d 8h
Merged PRs (30d)
5

Description

We should include monitoring of the current depsolver usage in the output at FQDN/_stats
We currently do little to no monitoring of depsolver activity.

We have more issues about depsolving than we would like with no insight into the depsolver workers' behavior.

Appropriate metrics would be

  • Current depsolver workers pool count (may exist now)
  • Current number of depsolver workers used from the pool (may exist now)
  • min/median/max depsolving times
  • client name + run_list and versions + depsolving total time for each chef-client connection

Expected Behavior

We have stats about depsolvers that allow us to pick out which chef-client connections are misbehaving and taking a long time to depsolve so that we can more rapidly address problem clients.

Current Behavior

No metrics available for depsolver workers

Environment

Modern Chef Servers, 12.0.x and above

Related: https://github.com/chef/chef-server/issues/36

Contributor guide

Open the contributing guide

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 at the FQDN/_stats endpoint and trace the depsolver worker pool and chef-client connection paths, checking which pool metrics may already exist. Done means the stats expose worker counts, min/median/max depsolving times, and per-client name, run_list, versions, and total depsolving time.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.