blob: fd1e18714884382805b0c2c649f31d5bf4d72d65 [file] [log] [blame]
David Spickettd90e09a2022-10-26 11:56:07 +01001LLVM Buildbot Monitor
2=====================
Renato Golin94cc1042016-04-26 11:02:23 +01003
David Spickettd90e09a2022-10-26 11:56:07 +01004This is to be left running on a server or desktop as monitoring for your buildbots.
5It purely reports the status of the builds. If you want hardware monitoring, look
6elsewhere.
Renato Golin94cc1042016-04-26 11:02:23 +01007
David Spickett27420552023-11-23 12:55:23 +00008It supports Buildbot (as used by LLVM) . It does not support LLVM Green Dragon
9(https://green.lab.llvm.org/green/).
Renato Golin662105b2016-06-10 12:47:43 +010010
David Spickettd90e09a2022-10-26 11:56:07 +010011Currently we have one monitor running at http://llvm.validation.linaro.org/.
12Bookmark this if you have a need to check bot status at a glance.
13
14JSON Format
15-----------
16
17The JSON file describes the bots we want to monitor and which master/build service
18they connect to.
19
Renato Golin662105b2016-06-10 12:47:43 +010020The base structure is a list of masters, which has a few properties and a list
David Spickettd90e09a2022-10-26 11:56:07 +010021of builder groups, which in turn also have some properties and a list of bots
22(which in Buildbot terms are actually called "Builders" but we ended up calling
23them bots here).
Renato Golin662105b2016-06-10 12:47:43 +010024
25Master properties:
26
David Spickettd90e09a2022-10-26 11:56:07 +010027 "name": Name of the master, which will appear as the section title.
28 "base_url": The base URL of the master, which will be used to make API calls.
29 For example for LLVM this might be "https://lab.llvm.org/buildbot".
30 "builder_url": The part of the URL that refers to the list of builders.
31 Will be added to base_url when making API calls.
32 "build_url": Part of the URL that refers to the list of builds. Added to base_url
33 when making API calls.
34 "ignore" : Set to "true" to hide the master from the page.
35 "builders": [ ...a list of builder groups as detailed below... ]
Renato Golin662105b2016-06-10 12:47:43 +010036
David Spickettd90e09a2022-10-26 11:56:07 +010037Builder group properties:
Renato Golin662105b2016-06-10 12:47:43 +010038
David Spickettd90e09a2022-10-26 11:56:07 +010039 "name": Name of this group. "fast bots", "self-hosting", etc. Used as the section title.
40 "ignore" : Set to "true" to hide this builder group from the page.
41 "bots": [ ...a list of bots as decribed below... ]
Renato Golin662105b2016-06-10 12:47:43 +010042
David Spickettd90e09a2022-10-26 11:56:07 +010043Bot properties:
Renato Golin662105b2016-06-10 12:47:43 +010044
David Spickettd90e09a2022-10-26 11:56:07 +010045 "name": The exact name of the buildbot. This will be used to build URLs for API calls.
46 "ignore": Set to "true" to ignore the status of this bot.
Renato Golin662105b2016-06-10 12:47:43 +010047
David Spickettd90e09a2022-10-26 11:56:07 +010048Notes on bots:
49 * Bots may be repeated across builder groups if they fall into multiple categories
50 (this does not slow down the monitor as results are cached).
51 * The same bot name on 2 different masters refers to 2 different bots.
Renato Golin662105b2016-06-10 12:47:43 +010052
David Spickettd90e09a2022-10-26 11:56:07 +010053Note that "ignore" has two different behaviours:
Renato Golin662105b2016-06-10 12:47:43 +010054
David Spickettd90e09a2022-10-26 11:56:07 +010055 * On masters and builder groups, it omits the entire section from the output.
56 * On bots it shows the bot but ignores their status. Meaning that an ignored bot failing
57 does not make the overall page status failed.
Renato Golin662105b2016-06-10 12:47:43 +010058
Renato Golin662105b2016-06-10 12:47:43 +010059HTML Page
60---------
61
David Spickettd90e09a2022-10-26 11:56:07 +010062The script will generate an HTML page. This page is separated into blocks:
63 * Masters which contain...
64 * Builder Groups which contain...
65 * Bots
Renato Golin662105b2016-06-10 12:47:43 +010066
David Spickettd90e09a2022-10-26 11:56:07 +010067The date is printed at the top of the page so you know when the results were generated.
Renato Golin662105b2016-06-10 12:47:43 +010068
David Spickettd90e09a2022-10-26 11:56:07 +010069Bots that are offline or partially fail to read via the API will show up with a message
70along the lines of "<bot name> is offline!". The page should still update correctly
71for the rest of the bots.
Renato Golin662105b2016-06-10 12:47:43 +010072
David Spickettd90e09a2022-10-26 11:56:07 +010073Each listed bot has these columns:
Renato Golin662105b2016-06-10 12:47:43 +010074
David Spickettd90e09a2022-10-26 11:56:07 +010075 * "Buildbot": This shows the name and a link to the master's web interface for the bot.
76 * "Status": The status of the last finished build. PASS or FAIL (currently cancelled
77 is also treated as a failure).
78 * "T Since": The time since the last build finished. This is useful for spotting bots
79 that have gotten disconnected. If this time is greater than 24 hours, it will be shown
80 in red.
81 * "Duration": The length of the last build.
Antoine Moynault0cbe02e2023-06-21 08:13:57 +000082 * "Latest": The build number of the last finished build, which itself will be a link
David Spickettd90e09a2022-10-26 11:56:07 +010083 to the results page for that build.
David Spickettd90e09a2022-10-26 11:56:07 +010084 * "Failing steps": The failed build steps, if it was a failed build.
David Spickettf8502432023-07-07 15:52:26 +010085 * "Build In Progress": This will be "Yes" if there is a build currently running, and
86 the text will link to the build. Or "No" if there is not. If we cannot determine this,
87 it will be left blank and you should check the builder's status page instead.
Antoine Moynault0cbe02e2023-06-21 08:13:57 +000088 * "1st Failing": The number of the first failed build, if the bot fails for several
89 builds.
90 * "Failing Since": The time since the first failed build finished. This is useful for
91 spotting bots that fail for a long time.
Renato Golin662105b2016-06-10 12:47:43 +010092
David Spickettd90e09a2022-10-26 11:56:07 +010093Note: "finished" here refers to the build ending be that by success, cancellation or
94failure.