release_branch/v2.6.0 - #194
fivetran-savage wants to merge 19 commits into
Conversation
* Buildkite improvements FY27 Q2 (#192) * Buildkite improvements * Update dbt_project.yml --------- Co-authored-by: Catherine Fritz <111930712+fivetran-catfritz@users.noreply.github.com> * feature/add_errors_and_warnings_model * update_model * Update integration_tests/ci/test_scenarios.yml Co-authored-by: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> --------- Co-authored-by: Fivetran Maintainer Bot <129092423+fivetran-data-model-bot@users.noreply.github.com> Co-authored-by: Catherine Fritz <111930712+fivetran-catfritz@users.noreply.github.com>
* feature/new_fivetran_log_end_model * add_consistancy_integrity_tests * revert_integration_yml * fix_syntax_for_sql_server * fix_syntax * remove_status_column * add_unnest_macro * revert_integration_yml * change_cte_names * update_syntax * Generate dbt docs via GitHub Actions * Update number of materialized models in README * update_connection_ids * update_macro * add_unknown_transformation_status * Update column types for dbt_project.yml --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* feature/add_audit_trail_events * add_audit_trail_end_model * dedup_connection_id
* feature/build_sync_statistics_and_duration_model Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix_boolean_for_sql_server * add_consistency_tests --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
hey @fivetran-savage , @fivetran-joemarkiewicz pointed me to this PR. we were looking at how we could add sync details into this QDM, which it seems you were already working toward! there may be some changes that @fivetran-arakovskii will be making as part of https://fivetran.atlassian.net/browse/RD-1007740 so we should stay aligned here |
|
@amypeterson27 thanks for the heads up! Most relevant to the |
…ns in transformation_run_log Retains the non-lookback changes originally bundled in cd2e8a0: - Add event_id to the fivetran_platform__errors_and_warnings surrogate key (and matching yml description); drop the stale "Excludes INFO-level events" README note. - Deduplicate connections in fivetran_platform__transformation_run_log by connection_id, preferring non-deleted / most recent set_up_at. - Add fivetran_platform_audit_trail_identifier to integration test vars. - DECISIONLOG formatting. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
43b3ed1 to
eda9246
Compare
|
Hey @fivetran-savage — I wanted to flag a question about table-level coverage. The current fivetran_platform__sync_metrics model gives us one row per completed sync, which is great. But customers are also asking for per-table granularity (rows extracted/loaded per table per sync).
The main question for you: is a second model — something like fivetran_platform__table_sync_metrics — feasible, given the JSON array unnesting required for extract_summary.objects[]? Or if this needs to wait for the next version, that's probably okay too. Would love to jump on a quick call if helpful. |
* add_lookback_window_variable Adds the optional fivetran_platform_lookback_window_months variable to limit log history in log-based models. Filters stg_fivetran_platform__log_tmp (now materialized as a table) by time_stamp, with docs in README, CHANGELOG, and the quickstart supported_vars. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * update_changelog * update_seed_data * update_macro * update_changelog * Update CHANGELOG.md * update_variable_placement * update_documentation * update_variable * Apply suggestions from code review Co-authored-by: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: fivetran-catfritz <111930712+fivetran-catfritz@users.noreply.github.com>
fivetran-joemarkiewicz
left a comment
There was a problem hiding this comment.
@fivetran-savage great work on this PR. A few comments before approving.
| {%- if var('fivetran_platform_using_user', true) %}, | ||
| primary_user.email | ||
| {%- endif %} | ||
| ) as primary_resource_name, |
There was a problem hiding this comment.
I noticed the TEAM resource type always has a null value for these primary and secondary values. This is expected since we don't bring in TEAM yet.
Let's document this, but create a FR for us to bring in TEAM in the future.
| `fivetran_platform__connection_status` | ||
| `fivetran_platform__schema_changelog` | ||
| `fivetran_platform__audit_user_activity` | ||
| `fivetran_platform__connection_daily_events` | ||
| `fivetran_platform__audit_table`. |
There was a problem hiding this comment.
| `fivetran_platform__connection_status` | |
| `fivetran_platform__schema_changelog` | |
| `fivetran_platform__audit_user_activity` | |
| `fivetran_platform__connection_daily_events` | |
| `fivetran_platform__audit_table`. | |
| - `fivetran_platform__connection_status` | |
| - `fivetran_platform__schema_changelog` | |
| - `fivetran_platform__audit_user_activity` | |
| - `fivetran_platform__connection_daily_events` | |
| - `fivetran_platform__audit_table` |
| supported_vars: | ||
| fivetran_platform_log_start_date: | ||
| type: string | ||
| description: "Earliest date (YYYY-MM-DD) of log history to include when building log-based models. When unset, all log history is used. Because it is a fixed date, a full refresh always reloads from this start date and never loses history. Affects `fivetran_platform__connection_status`, `fivetran_platform__schema_changelog`, `fivetran_platform__audit_user_activity`, `fivetran_platform__connection_daily_events`, and `fivetran_platform__audit_table`." |
There was a problem hiding this comment.
The newly added models in this PR are also impacted by the variable. Since this list is becoming exhaustive, it may be best to instead list which models are not impacted. It looks like it's just two: fivetran_platform__mar_table_history, fivetran_platform__usage_history
| - name: "audit trail enabled" | ||
| vars: | ||
| fivetran_platform_using_audit_trail: true | ||
| include_incremental: false | ||
|
|
||
| - name: "connector sdk log enabled" | ||
| vars: | ||
| fivetran_platform_using_connector_sdk_log: true |
There was a problem hiding this comment.
In one of these let's also set the fivetran_platform_log_start_date variable to a relevant date in the seed data so we can continually test that functionality going forward as well.
There was a problem hiding this comment.
These are both tables that many customers won't have enabled. Does that matter? I'm inclined to add another test on a table that more customers will have.
There was a problem hiding this comment.
Let's add a decisionlog for the variable materialization of the log staging model based on setting the start date variable.
| - `stg_fivetran_platform__transformation_runs` has no fixed default. It checks your schema for the `transformation_runs` table at runtime. If the table exists, the staging model and the `paid_model_runs`, `free_model_runs`, and `total_model_runs` fields in `fivetran_platform__usage_history` are populated. If it does not, the staging model builds empty and those fields are null. | ||
| - `fivetran_platform__transformation_run_log` defaults to `false` and does not build. The runtime check does not apply here, so set this variable to `true` to build the model. | ||
|
|
||
| Setting the variable explicitly overrides both layers. `true` requires the `transformation_runs` table to exist, and `false` disables the staging model and its downstream fields even when the table does exist. |
There was a problem hiding this comment.
Was this meant to be a bulleted item? If so, let's add that. If not, let's fix the indent
There was a problem hiding this comment.
It's a continuation of the paragraph started with "transformation_runs has no fixed default" but it looks odd when rendered, so I'll move all the bullets below the paragraph.
| `fivetran_platform__connection_status` | ||
| `fivetran_platform__schema_changelog` | ||
| `fivetran_platform__audit_user_activity` | ||
| `fivetran_platform__connection_daily_events` | ||
| `fivetran_platform__audit_table` |
There was a problem hiding this comment.
Can we have this be a bulleted list so it renders better in markdown. Also, I believe we're missing the new models that are also impacted.
PR Overview
Package version introduced in this PR:
This PR addresses the following Issue/Feature(s):
Summary of changes:
stg_fivetran_platform__connector_sdk_logto package.fivetran_platform__errors_and_warnings, that allows users to track severity levels of errors and warnings for both sdk and standard connections.fivetran_platform__transformation_run_logto the package to provide data on number of models run per transformation, whether the run succeeded/failed/partially succeeded, run duration, as well as the associated destination, connection(s), and full run log.fivetran_platform__sync_metrics model, which returns one record per completed ssync_stats log event, combining each sync's extract, process, load timing and volume statistics with its total duration and total records modified, enriched with connection and destination detailsstg_fivetran_platform__audit_trailto the package, which records user actions performed within your Fivetran account (what was changed, by whom, and how). Only available for customers on the Enterprise plan and above.fivetran_platform__audit_trail_enriched, which enriches each audit trail event with the names of the primary and secondary resources involved (resolved forCONNECTION,DESTINATION,ACCOUNT, andUSERresources) and the details of the user who performed the action. Only available for customers on the Enterprise plan and above.fivetran_platform_log_start_datevariable to limit the amount of data included in log-based models. When set to a date (YYYY-MM-DD),stg_fivetran_platform__logfilters to records on or after that date.stg_fivetran_platform__logas table.Submission Checklist
Changelog