CDash:Documentation

From KitwarePublic
Jump to navigationJump to search

< CDash Main Page

This page is the official CDash documentation.

CDash definitions

  • Build: Single submission to the dashboard for a specific project, environment and build type.
  • Build type: reference by CTest as Nightly, Experimental or Continuous. (see CMake documentation for more information).
  • Site: Computer contributing builds to the dashboard. A site might belong to several projects and submit different build.
  • Coverage: Number of lines of code actually tested. CDash/CTest currently supports gcov and bulleyes tools.
  • Dynamic Analysis: reports the memory allocation/deallocations analysis for test, examples and executable for the project. Valgrind is currently supported by CTest/CDash.
  • Nightly start time: starting time of the 24h window of the daily dashboard.
  • Ajax: Asynchronous JavaScript and XML, is a group of web development techniques used for creating interactive web applications.
  • PHP: Hypertext Preprocessor, is a computer scripting language, designed for producing dynamic web pages.
  • SQL: Structured Query Language, is a database computer language designed for the retrieval and management of data in relational database management systems.

Login to CDash

CDash uses secure login for users and adminsitrators. CDash does not store any plain text passwords in the database, therefore passwords cannot be recovered, even by system administrators.

Note: LDAP is not currently supported.

  • To login, click on the 'Login' link at the top of the main CDash page or directly go to the user.php page http://myserver/CDash/user.php.
  • If you don't have a login, click on the 'register' link on the top menu. In order to register, CDash requires a valid email address, your first name, last name and password. The institution is optional. CDash implements some security features to avoid robots to register.
  • Once registered you are ready to type your email and password provided in the login screen.

Available Dashboards

CDash index table

The first page display on CDash is a list of current public projects (private projects are not shown on this page). Several information are shown on this page:

  • The name of the project
  • The total number of submissions for each project
  • The date of the first build for each project
  • The date of the last submission (not build time)
  • To total size of the database

Clicking on the name of the project redirects the user to the main dashboard for this project.

Project Dashboard

Project's dashboard page
Help link from the main dashboard page

Each project dashboard have a similar layout:

  • Top row of the page:
    • Link to "My CDash/Login"
    • Current date of the server hosting CDash
    • Link to RSS feed to the project (if not private)
  • Banner:
    • Custom project logo (see Updating project's logo to upload a new logo). Note: clicking on the logo redirects to the project's home page (if any defined)
    • Project's name
  • Main Menu
    • Dashboard: goes back to the list of projects hosted on CDash
      • Updates: Overview of the updates for this day and this project
      • Builds: Overview of the builds for this day and this project
      • Tests: Overview of the test failing for this day and this project
      • Map: Map of the sites for this project and this day
    • Calendar: display a calendar to check previous dashboards
    • Previous: Go to the previous day
    • Current: Go to the current day
    • Next: Go to the next day
    • Project: Project links
      • Home: Home URL
      • Doxygen: Documentation page for this project
      • CVS: Link to the CVS/SVN viewer for this project
      • Bugs: Link to the bug tracker for this project
  • Daily updates: Updates on the project's repository.
  • Help link: popup a window with help information
  • Build groups: explained in the next section.
  • Coverage: explained in the next section.
  • Dynamic Analysis: explained in the next section.

Build groups

Each build submitted by a site corresponds to a row in the main dashboard. By default the build falls in the group defined by the type of submission (i.e Nightly, Experimental or Continuous), however, custom builds can be defined. See Build Groups administration section for more information on how to create new groups and define rules for builds.

Default group

In this section we explain the layout of default groups (i.e. Nightly, Experimental, Continuous,...). These groups are represented in the light blue sections.

Clicking on the gray header allow sorting the table by the clicked field. Multisorting is possible by holding the shift key., also the current sorting is saved by the user's web browser using cookies, allowing to keep the same sorting while browsing different days for the same project.

Clicking on the group name displays the build group description.

Each build (row) contains the following information:

  • Site:
  • Build name:
    • Build note:
    • CTest version:
  • Update:
  • Cfg:
  • Build:
    • Error:
    • Warn:
    • Min:
  • Test:
    • Not Run:
    • Fail:
    • Pass:
    • Min:
  • Build time:

Coverage

Dynamic Analysis

Daily updates

Map

My CDash

MyCDash page

Each user has its own personal section in CDash, where they can keep track of recent builds, submissions, claim sites and more.

My Profile

User can change their profile: First/Last name, email, institution and password from the the "My Profile" menu at the top of the "My CDash" page.

My Projects

If a user has subscribe to at least a project (see Subscribe to project), the list of subscribed projects is shown under "My Projects". There several links related to the subscriptions.

Edit Subscription

Users can edit their subscription for a given project.

  1. From MyCdash page, under My Projects, click on [Edit subscription]
  2. Change the role if necessary. Downgrading from project administrator to Site maintainer or normal user cannot be reverted unless by another project administrator.
  3. Change or add CVS/SVN login
  4. Change the email preferences if necessary
  5. Click on "Update Subscription" to validate the modifications

Users can unsubscribe from a project by clicking on the "Unsubscribe" button. Users will be able to subscribe later on.

Claim sites

See Claim a site section.

Edit project

See Editing a project section.

Manage project groups

See Build groups section.

Manage project roles

See Project roles section.

My Sites

My sites

As a site maintainer, it is useful to know if submissions have been missing for quite sometime, or if the current builds on a specific sites are not reporting errors due to misconfiguration.

  • The first column show the list of currently claimed sites.
  • The first row shows the current projects that are submitting builds for the given site
  • For each pair (site/project) a summary of the current status of the dashboard is displayed
Build group Updates Errors Warnings Tests Last submission
N: Nightly 1 0 0 0 Today
C: Continuous 1 0 0 0 Yesterday
E: Experimental 1 0 0 0 6 days ago

Note: only Nightly, Continuous and Experimental groups are current shown'.'

Clicking on the name of a site gives access to the description of the site.

Public projects

List of all the public projects stored in CDash. By definition, users registered in CDash can subscribe to any public projects.

Subscribe to project

Subscribing to public projects

If the project is public then users can subscribe to the project themselves, otherwise see section Project Roles.

  1. Log into CDash (see Login to CDash)
  2. Under "Public projects" section click on [Subscribe to this project]
  3. Select your role for the project: Normal user or Site maintainer if you are responsible for a machine sending periodic builds to the dashboard/
  4. Add your CVS/SVN login for the project if you have any
  5. Select your email preference
  6. Click on subscribe

Claim a site

Claiming a site

CDash allows Site maintainers (see Subscribe to Project) to claim a site they are managing. This allows users to have personal reports regarding a specific machine and get informed if the machine has not been submitting from quite some time or has unexpected high number of failures (probably due to misconfiguration).

In order to claim a site:

  1. Login to CDash to acces "My CDash"
  2. Under "My Projects" select [Claim sites]. If the project is not listed, refers to Subscribe to Project for more information.
  3. The Claim sites page show the list of current sites for the project. Check the site(s) of interest.
  4. Click on "Update claimed sites"

In order to unclaim a site:

  1. Login to CDash to acces "My CDash"
  2. Under "My Projects" select [Claim sites].
  3. Uncheck the site(s) no longer of interest.
  4. Click on "Update claimed sites"

See the section Describe a site for information about the given sites.

Describe a site

Describing a site
Site information

CDash records each site specifications so that users can quickly assess the type of machine, OS, memory, etc...

If using the CTest 2.6 (or higher) the site specifications are automatically sent as part of the submission.

Here's the list of specification currently present:

  • Name: This value shouldn't be changed, unless the site name sent by the build was wrong. Make sure the name of the build matches CTest buildname otherwise a new site will be created.
  • 64 bits: Is the machine running a 64bits OS
  • Processor vendor: vendor name of the processor (i.e. GenuineIntel)
  • Processor vendor ID: vendor identification of the processor (i.e. Intel Corporation)
  • Processor family ID: family identification number of the processor (i.e. 15)
  • Processor model ID: model identification number of the processor, usually depending on the processor family (i.e. 3)
  • Processor cache size: size of the processor cache in MB.
  • CPU Speed (MHz): speed of the CPU in MHz.
  • Number of logical CPUs: Number of logical CPU per physical CPU.
  • Number of physical CPUs: Number of physical CPU.
  • Logical Processor per Physical:Number of logical processor per physical
  • Total virtual memory (MB): Total virtual memory in MB.
  • Total physical memory (MB): Total physical memory (RAM) in MB.
  • Description: Description of the machine.
  • IP address: Current IP address. This is filled in automatically by CDash
  • Latitude: Geolocation from the IP address
  • Longitude: Geolocation from the IP address

CDash keeps an history of the machine description, in case of memory or processor upgrade. This is particularly useful to assess why a test is now running much faster than before. If the system has been upgraded, the checkbox "Force new description revision" should be checked. Note that CDash should automatically detect if a site has been upgraded.

Note: support for other specifications, such as graphic card information and more detailed information might be added in the near future.