Task Drivers are Go programs that facilitate the compilation of code, the execution of tests, and other actions as a part of our Continuous Integration system.
They run a series of steps and store logs in such a way that they can be viewed in a logical manner.
The purpose of ./go/task-driver-server is to ingest logs from the execution of task drivers and to present those collected logs.
When running, a task driver will stream logs and step metadata to both stdout to Stack Driver Logging. There is a sink set up that will forward these logs to Pub/Sub [1]. This server subscribes to the Pub/Sub topic [2] and processes the metadata by storing it to BigTable.
See the design doc for more details
task-driver-logs-to-pubsub
. cloud consoleprojects/skia-swarming-bots/topics/task-driver-logs
cloud console