Closed Bug 1304834 Opened 9 years ago Closed 9 years ago

stats-collector should report a count of tasks that are scheduled per worker type

Categories

(Taskcluster :: UI, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: garndt, Unassigned, Mentored)

Details

(Keywords: good-first-bug)

tc-stats-collector currently only records the duration a task was pending, not the total number of tasks that were pending. This would be helpful to know the frequency at which tasks come in for a particular worker type.
From our irc conversation, you want metrics for the number of newly-pending tasks during various time intervals, which is not the same as the number of tasks that were pending at any given instant. This would entail adding a new collector to the taskcluster-stats-collector service that makes a monitor.count(..) call for each task-pending message. The metric name should contain the workerType. Brian: this might be a good project for this weekend?
Mentor: dustin
Keywords: good-first-bug
hey dustin, i am a newbie here and recently started contributing to mozilla. I would like to work on this bug. Can you guide me how to proceed towards solving it.
Hi Kirti, welcome! The first step is getting taskcluster-stats-collector running locally for you. The github repo is at https://github.com/taskcluster/taskcluster-stats-collector You will need to set up a node 5.0 development environment, run `npm install`, and then do a little bit of setup of the user-config.yml file as described in the README. You can get pulse credentials from pulseguardian.org, and you can skip getting the taskcluster credentials for now (in fact, remind me about that after we finish this bug, as it's a good thing to fix). Once you have that set up, you can run it with npm run compile && DEBUG=* NODE_ENV=development node lib/main.js server you should see information about pending tasks scrolling by. There will also be occasional tracebacks -- that's OK, it's because there are no taskcluster credentials. Once you're set up, the next step is to understand what the code is doing. You may want to read a little about https://github.com/taskcluster/taskcluster-lib-monitor which is what the `monitor` object is. Basically we want to call its `count` method every time a task becomes pending. As for the taskcluster-stats-collector source, start at `src/main.js` and then follow the program logic from there. We're always happy to help out via irc -- please find us and ask questions in #tc-contributors!
I think the original use case for this has been patched with the creation of taskcluser-task-analysis app running in heroku. We can see at any point the counts of pending per worker type as well as how many tasks run for a particular worker type. Dustin, what do you think about closing this one out if it hasn't gotten any tracking in the last 6 months?
Flags: needinfo?(dustin)
I think so.
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: needinfo?(dustin)
Resolution: --- → FIXED
Component: Tools → UI and Tools
You need to log in before you can comment on or make changes to this bug.