boot_regressions

GET

The following schema covers the data that is available with a GET request.

{
    "$schema": "http://api.kernelci.org/json-schema/1.0/get_boot_regressions.json",
    "id": "http://api.kernelci.org/json-schema/1.0/get_boot_regressions.json",
    "title": "boot_regressions",
    "description": "A tracked boot regression",
    "type": "object",
    "properties": {
        "_id": {
            "type": "object",
            "description": "The ID of ths object",
            "properties": {
                "$oid": {
                    "type": "string",
                    "description": "The actual ID value"
                }
            }
        },
        "created_on": {
            "type": "object",
            "description": "Creation date of the object",
            "properties": {
                "$date": {
                    "type": "number",
                    "description": "Milliseconds from epoch time",
                    "format": "utc-millisec"
                }
            }
        },
        "job": {
            "type": "string",
            "description": "The job associated with this object"
        },
        "job_id": {
            "type": "object",
            "description": "The ID of the associated job",
            "properties": {
                "$oid": {
                    "type": "string",
                    "description": "The actual ID value"
                }
            }
        },
        "kernel": {
            "type": "string",
            "description": "The kernel associated with this object"
        },
        "regressions": {
            "type": "object",
            "description": "The regressions data structure that holds the grouped boot reports"
        }
    }
}

Notes

The regressions data structure is a series of nested objects whose keys are, in order, the values of the following boot report keys:

  • lab_name
  • arch
  • board
  • board_instance
  • defconfig_full
  • compiler_version_ext

If one of those keys does not have a valid value, the string none is used. Each of those value is also checked and sanitized so taht it doesn’t contain empty spaces or the character ..

The actual regressions are stored in an array as the value of the compiler_version_ext key. Each regression is a valid boot report.

The boot reports contained in the regressions array are inserted as a time-series data, but not guarantees are mare on their sort order once extracted.

Example

{
    "lab-0001": {
        "arm": {
            "beaglebone": {
                "none": {
                    "allmodconfig": {
                        "gcc5:3:1": [
                            ...
                        ]
                    }
                }
            }
        }
    }
}