All report data once submitted to the back-end is stored in AWS Timestream.
The data is split across 2 tables (summary
and
details
) to better store common items, reduce duplication and
allow for more targeted queries. Below is a breakdown of the various tables and
there columns as well as the corresponding JSON path within the report format
the data is sourced from. The current measure_name
for both tables is
report_v2
. Old format records will be marked with report_2_bc
or
*_test_run
and can require special handling. See notes under various
Removed sections for details.
Note
The storage schema is always based on the latest report schema and uses the auto upgrading report construct to make sure it's always the latest schema.
This table contains all of the information that is common to a test run as well as some rolled up counts of various test statuses.
duration_total
(BIGINT
): Stored as milliseconds from report JSONreport.summary.duration.total
.status
(VARCHAR
): Will either bepassed
orfailed
, sourced rom report JSONreport.summary.status
.count_passed
(BIGINT
): Sourced from report JSONreport.summary.count.passed
.count_failed
(BIGINT
): Sourced from report JSONreport.summary.count.failed
.count_skipped
(BIGINT
): Sourced from report JSONreport.summary.count.skipped
.count_flaky
(BIGINT
): Sourced from report JSONreport.summary.count.flaky
.
Warning
Anything marked with [deprecated] should be moved away from. Sending of this column will be removed in the near future.
total_duration
(BIGINT
): Starting with records that havemeasure_name
ofreport_v2
this field will no longer be present. Please useduration_total
instead. If wanting to get data from records prior toreport_v2
please useCOALESCE(total_duration, duration_total)
to get a reasonable value.
Note
All dimensions are stored as VARCHAR
as it is the only format available.
report_id
: Sourced from report JSONreport.id
.github_organization
: Sourced from report JSONreport.summary.github.organization
.github_repository
: Sourced from report JSONreport.summary.github.repository
.github_workflow
: Sourced from report JSONreport.summary.github.workflow
.github_run_id
: Sourced from report JSONreport.summary.github.runId
.github_run_attempt
: Sourced from report JSONreport.summary.github.runAttempt
.git_branch
: Sourced from report JSONreport.summary.git.branch
.git_sha
: Sourced from report JSONreport.summary.git.sha
.operating_system
: Will be one ofwindows
,linux
ormac
, sourced from report JSONreport.summary.operatingSystem
.framework
: Sourced from report JSONreport.summary.framework
.lms_build_number
(NULLABLE
): Sourced from report JSONreport.summary.lms.buildNumber
.lms_instance_url
(NULLABLE
): Sourced from report JSONreport.summary.lms.instanceUrl
.
Warning
Anything marked with [deprecated] should be moved away from. Sending of this column will be removed in the near future.
This table contains information about each individual test that was run. A
mapping to the summary
data can be done via the report_id
if a
combination of the data is desired.
duration_final
(BIGINT
): Stored as milliseconds, sourced from report JSONreport.details[].duration.final
.duration_total
(BIGINT
): Stored as milliseconds, sourced from reportJSON report.details[].duration.total
.retries
(BIGINT
): Sourced from report JSONreport.details[].retries
.status
(VARCHAR
): Will be one ofpassed
,skipped
orfailed
, sourced from report JSONreport.details[].status
.
Warning
Anything marked with [deprecated] should be moved away from. Sending of this column will be removed in the near future.
duration
(BIGINT
): Starting with records that havemeasure_name
ofreport_v2
this field will no longer be present. Please useduration_final
instead. If wanting to get data from records prior toreport_v2
please useCOALESCE(duration, duration_final)
to get a reasonable value.total_duration
(BIGINT
): Starting with records that havemeasure_name
ofreport_v2
this field will no longer be present. Please useduration_total
instead. If wanting to get data from records prior toreport_v2
please useCOALESCE(total_duration, duration_total)
to get a reasonable value.
Note
All dimensions are stored as VARCHAR
as it is the only format available.
report_id
: Sourced from report JSONreport.id
.name
: Sourced from report JSONreport.details[].name
.location_file
: Sourced from report JSONreport.details[].location.file
.location_line
(NULLABLE
): Sourced from report JSONreport.details[].location.line
.location_column
(NULLABLE
): Sourced from report JSONreport.details[].location.column
.browser
(NULLABLE
): Can be one ofchrome
,chromium
,firefox
,webkit
,safari
oredge
, sourced from report JSONreport.details[].browser
.type
(NULLABLE
): Sourced from report JSONreport.details[].type
.experience
(NULLABLE
): Sourced from report JSONreport.details[].experience
.tool
(NULLABLE
): Sourced from report JSONreport.details[].tool
.timeout
(NULLABLE
): Stored as milliseconds, sourced from report JSONreport.details[].timeout
.
Warning
Anything marked with [deprecated] should be moved away from. Sending of this column will be removed in the near future.
location
: Starting with records that havemeasure_name
ofreport_v2
this field will no longer be present. Please uselocation_file
instead. If wanting to get data from records prior toreport_v2
please useCOALESCE(location, location_file)
to get a reasonable value.