Jump to content

Coin glossary for Grafana users: Difference between revisions

From Qt Wiki
mNo edit summary
config id explanation added
Line 62: Line 62:
Workitems also have their own unique identifiers (workitem ids), which are used in Grafana dashboards to construct URLs linking to the corresponding workitem logs  
Workitems also have their own unique identifiers (workitem ids), which are used in Grafana dashboards to construct URLs linking to the corresponding workitem logs  


Test workitem results.
config_ids


Test workitems contain unit tests results.  
'''What is a platform?'''
[[File:Config id.png|thumb|config_id in coin web front page]]
Qt library is multi-module and cross-platform. Often, but not always qt modules are built on what we call ''host'' platform, but intended to run and test on what we call the ''target'' platform. In most cases, the platform is defined by the version of the operating system (e.g. Mac OS 12, or Ubuntu 20), processor architecture (eg. Intel x86_32 bits or x86_64 bits,  ARM 64, etc ), and compiler (eg. clang, gcc, mvsc, etc) . This information is presented in Grafana under fields such as: host_os_version, target_os_version, host_arch,  target_arch, host_compiler, target_compiler. Note that additionally some qt builds run on virtual platforms eg. vx works.
 
Coin is more complex  thus eve more details are stored about particular platform under a name config identifiers. For example: ubuntu-22.04-developer-build, ubuntu-22.04-developer-build-x11-tests, ubuntu-24.04-arm64-developer-build-wayland-tests, ubuntu-24.04-arm64-developer-build and many others.
 
 
 
 
Test workitems contain unit tests results.


blacklisted, skipped, flaky, crashed, failed
blacklisted, skipped, flaky, crashed, failed
Line 91: Line 100:


https://testresults.qt.io/coin/coininfo
https://testresults.qt.io/coin/coininfo
https://testresults.qt.io/coin/doc/


[[Early Warning System]]
[[Early Warning System]]

Revision as of 11:42, 23 January 2026

This article explains the glossary related to COIN, the Qt Company Continuous Integration system, from a Grafana user’s perspective. It provides a basic understanding of COIN terminology that is helpful for correctly interpreting metrics, dashboards, and trends. The page presents a simplified view of COIN concepts as they appear in Grafana and intentionally omits internal implementation details. For deeper technical explanations, see the references listed in Further reading.

A task represents a single CI job scheduled either by a user or by agents. Every task has a specific type, such as:

  • Integration
  • Early warning
  • Status check
  • Nightly and Healthchecks

Task types are labeled in the COIN web interface, they have distinct icons, and the same categorization (for example, Integration vs. Status check) also appears in different tables across Grafana dashboards. Status checks are jobs scheduled by users directly on coin web, Early warning are pre-checks scheduled from Gerrit. Integrations are tasks in which actual qt code is attempted to be integrated. HealtCheck are special tusks run every night, it builds and tests the latest qt5.git and all submodules on their last submodule-updated SHA-1s.

See related dashboards:

Things Gone Wrong in last HealthCheck

For most flaky test statistics, only test results from integrations tasks are typically considered.

Each task has a unique task id, which serves as its identifier. This id can be used to construct a URL that shows the status and results of a COIN task, following the pattern:

https://testresults.qt.io/coin/integration/qt/{module_name}/tasks/{task_id}

for example:

https://testresults.qt.io/coin/integration/qt/qt5/tasks/nightly1767303902

Here, <code>qt5</code> is the <code>module_name</code> and <code>nightly1767303902</code> is the <code>task_id</code>..

Tasks urls can be found in panels providing detailed information about test runs (see picture).

Workitems

A task can contain one or more subtasks called workitems.

Workitems represent a set of jobs and are roughly categorized into three types:

  • Provision
  • Build
  • Test


Workitem States

Each workitem has a state that describes its current status or final outcome. Possible states include:

  • Done – completed successfully
  • Running – currently in progress
  • Cancelled – manually stopped before completion
  • Waiting for hardware
  • Failed – encountered some sort of execution error
  • Error – any failure outside of the VM running instructions
  • Timeout
  • Insignificant – does not affect the overall task result


Some platforms in COIN are marked as insignificant, meaning build or test workitmes do not return fail and have no impact on result of integrations containing those workitems.

Insignificant = relates to build and test workitems in case of failure - the state is “Insignificant” not “Failed” and they do not stop integration,

InsignificantTests = relates only to test workitems. (test workitem will have status ‘Insignificant’ in case of failure).

Workitems also have their own unique identifiers (workitem ids), which are used in Grafana dashboards to construct URLs linking to the corresponding workitem logs

config_ids

What is a platform?

config_id in coin web front page

Qt library is multi-module and cross-platform. Often, but not always qt modules are built on what we call host platform, but intended to run and test on what we call the target platform. In most cases, the platform is defined by the version of the operating system (e.g. Mac OS 12, or Ubuntu 20), processor architecture (eg. Intel x86_32 bits or x86_64 bits,  ARM 64, etc ), and compiler (eg. clang, gcc, mvsc, etc) . This information is presented in Grafana under fields such as: host_os_version, target_os_version, host_arch, target_arch, host_compiler, target_compiler. Note that additionally some qt builds run on virtual platforms eg. vx works.

Coin is more complex thus eve more details are stored about particular platform under a name config identifiers. For example: ubuntu-22.04-developer-build, ubuntu-22.04-developer-build-x11-tests, ubuntu-24.04-arm64-developer-build-wayland-tests, ubuntu-24.04-arm64-developer-build and many others.



Test workitems contain unit tests results.

blacklisted, skipped, flaky, crashed, failed

informaiton about data tas









Further reading.

https://testresults.qt.io/coin/coininfo

https://testresults.qt.io/coin/doc/

Early Warning System

Qt test system

https://doc.qt.io/qt-6/qttest-index.html