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
their 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 bepassedorfailed, sourced from 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_nameofreport_v2this field will no longer be present. Please useduration_totalinstead. If wanting to get data from records prior toreport_v2please 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,linuxormac, 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. You can
map to the summary data via the report_id if you need a
combination of the data.
duration_final(BIGINT): Stored as milliseconds, sourced from report JSONreport.details[].duration.final.duration_total(BIGINT): Stored as milliseconds, sourced from report JSONreport.details[].duration.total.retries(BIGINT): Sourced from report JSONreport.details[].retries.status(VARCHAR): Will be one ofpassed,skippedorfailed, 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_nameofreport_v2this field will no longer be present. Please useduration_finalinstead. If wanting to get data from records prior toreport_v2please useCOALESCE(duration, duration_final)to get a reasonable value.total_duration(BIGINT): Starting with records that havemeasure_nameofreport_v2this field will no longer be present. Please useduration_totalinstead. If wanting to get data from records prior toreport_v2please 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,safarioredge, 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_nameofreport_v2this field will no longer be present. Please uselocation_fileinstead. If wanting to get data from records prior toreport_v2please useCOALESCE(location, location_file)to get a reasonable value.