Skip to content

Store runtime statistics for all tasks

This issue is about implementing all the features designed here: https://freexian-team.pages.debian.net/debusine/reference/devel-blueprints/task-statistics.html

  • Add output_data to WorkRequest; update UpdateWorkRequestAsCompletedView to store this field (!1522 (merged))
  • Update the worker and the helper methods to be able to feed data back into output_data (!1549 (merged))
  • Gather runtime statistics from executors (!1556 (merged))
  • Extend TaskDatabaseInterface to include artifact category and data (!1558 (merged))
  • Set a reasonable subject and context for each task (#679 (closed))
  • Record runtime statistics in output_data (!1562 (merged))
  • Create the debusine:task-history collection with its debusine:historical-task-run bare data item (!1542 (merged))
  • Add the task_history field to BaseTaskData
  • Extend the internal API to let each Task provide its own event_reactions on top of the user/workflow provided ones (!1543 (merged))
  • Implement the new action record-in-task-history (!1674 (merged))
  • Implement task history copying in the package_publish workflow (see #396 (closed); !1676 (merged))
  • Merge blueprint into main documentation (!1677 (merged))

STF Task Description:

  • MUST: Add mechanism to record “length of execution”, CPU time, disk space and memory used for a completed work request.
    • Can be used to select a worker with the right characteristics for future runs.
    • Maybe the “length of execution” should be noted as being specific to the profile of the worker that was used.
    • With the (average? latest?) job length, we can then evaluate the whole backlog and decide if we have to start new workers.
    • See os.wait4()
Edited by Colin Watson
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information