Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CT-14] Enable Regression Testing Notifications #4021

Closed
4 of 19 tasks
nathaniel-may opened this issue Oct 7, 2021 · 1 comment · Fixed by #4602 or #5851
Closed
4 of 19 tasks

[CT-14] Enable Regression Testing Notifications #4021

nathaniel-may opened this issue Oct 7, 2021 · 1 comment · Fixed by #4602 or #5851
Assignees
Labels

Comments

@nathaniel-may
Copy link
Contributor

nathaniel-may commented Oct 7, 2021

Description

In #3054 we introduced the basic functionality of regression testing. This ticket aims to track the next stage of development with the following goals:

  • developers are notified internally via slack when a nightly run surpasses some threshold.
  • performance measurements are directly comparable to product goals
  • performance measurements for released versions are locked in at release time
  • measure performance metrics for compilation as well as parsing

Additional context

#4012 is a perfect example of a performance regression we would like to catch in development, but would require adding compilation to our measured metrics.

Implementation

There are two stages of implementation. Data collection should be done first so that we have more data to work with in the notification stage. Adding data collection for compilation performance requires adding a database to the tests which adds a bit of necessary complexity.

  1. Data collection
  • Make sure the generated artifacts contain all the fields we would like to track
    • timestamp
    • total parse time
    • baseline & dev stddev parse value
    • baseline & dev median parse value
    • baseline & dev stddev compile value
    • baseline & dev median compile value
    • ms / file or number of files in project
    • branch names
    • raw runs (in case we want to do our own stats later in dbt)
  • Ship this data to snowflake
  1. Notification
  • Remove regression detection from rust runner (this logic will live in dbt)
  • Decide thresholds for notifications
  • Implement an actual notification via failing dbt test or looker
  • Add performance regression watermarking to the release process
@nathaniel-may nathaniel-may added enhancement New feature or request triage labels Oct 7, 2021
@nathaniel-may nathaniel-may self-assigned this Oct 7, 2021
@leahwicz leahwicz changed the title Enable Regression Testing Notifications [CORE-24] Enable Regression Testing Notifications Dec 13, 2021
@kwigley
Copy link
Contributor

kwigley commented Jan 3, 2022

here is an example to run regression test workflow when making changes to the tests, this might help when testing this workflow

https://github.com/dbt-labs/dbt-core/pull/3946/files

@leahwicz leahwicz changed the title [CORE-24] Enable Regression Testing Notifications Enable Regression Testing Notifications Jan 4, 2022
@leahwicz leahwicz added the jira label Jan 4, 2022
@github-actions github-actions bot changed the title Enable Regression Testing Notifications [CT-14] Enable Regression Testing Notifications Jan 4, 2022
@leahwicz leahwicz mentioned this issue Sep 16, 2022
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment