From 998b8d364c4b2c3e32c1afad47ce8e9523408446 Mon Sep 17 00:00:00 2001 From: mesmith027 Date: Wed, 26 Feb 2025 17:14:51 -0500 Subject: [PATCH 1/2] added new sections to freshness --- docs/cloud/features/observability/model_freshness.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/cloud/features/observability/model_freshness.md b/docs/cloud/features/observability/model_freshness.md index aed8adc31b..47c11718ca 100644 --- a/docs/cloud/features/observability/model_freshness.md +++ b/docs/cloud/features/observability/model_freshness.md @@ -1,4 +1,16 @@ # Model Freshness +Model freshness indicators on the homepage give at a glance understanding if production environment is correct and up to date with the latest data. These features help track whether models are being backfilled and created on time. + +When investigating freshness issues, you can view a detailed list of models and their current status (complete, pending, or behind) in production, identify problematic models, and check if CI/CD processes have stopped running. Keep in mind that if a model shows red (behind) in the past, it doesn't necessarily reflect its current status. + +## When you might use this + +The model freshness chart serves several key purposes in understanding production correctness. + +It provides visibility into the history of production models that need to be backfilled on time, and helps monitor the current state of production. When all indicators are green, this signals that everything is running smoothly. While red indicators in historical data don't require immediate action, they provide valuable lessons to prevent similar issues in the future. For data engineers, this acts as a comprehensive report card on system health and performance. + +## Finding model freshness indicators + From the homescreen of Tobiko Cloud we have the graph on historical freshness. ![tcloud model freshness](./model_freshness/find_model_freshness.png) From 0b9cf168af1e7b076e8675a27a2cf6a811885f7c Mon Sep 17 00:00:00 2001 From: Trey Spiller Date: Fri, 7 Mar 2025 16:56:04 -0600 Subject: [PATCH 2/2] Model freshness edits --- .../features/observability/model_freshness.md | 47 ++++++++++++------ .../tcloud_model_freshness_list.png | Bin 0 -> 40258 bytes 2 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 docs/cloud/features/observability/model_freshness/tcloud_model_freshness_list.png diff --git a/docs/cloud/features/observability/model_freshness.md b/docs/cloud/features/observability/model_freshness.md index 47c11718ca..67389f8b6c 100644 --- a/docs/cloud/features/observability/model_freshness.md +++ b/docs/cloud/features/observability/model_freshness.md @@ -1,35 +1,52 @@ # Model Freshness -Model freshness indicators on the homepage give at a glance understanding if production environment is correct and up to date with the latest data. These features help track whether models are being backfilled and created on time. -When investigating freshness issues, you can view a detailed list of models and their current status (complete, pending, or behind) in production, identify problematic models, and check if CI/CD processes have stopped running. Keep in mind that if a model shows red (behind) in the past, it doesn't necessarily reflect its current status. +Model freshness indicators on the homepage allow you to immediately determine whether the production environment is correct and up to date. + +Additional information on the page, such as lists of models and their current status, helps you investigate any freshness issues, identify problematic models, and check if CI/CD processes have stopped running. + +![tcloud model freshness](./model_freshness/find_model_freshness.png) ## When you might use this -The model freshness chart serves several key purposes in understanding production correctness. +The model freshness chart answers the question "how is the production environment right now?" It summarizes the recent history of production models and whether they were backfilled on time. + +When the chart is all green, everything is running smoothly and you're good to go! -It provides visibility into the history of production models that need to be backfilled on time, and helps monitor the current state of production. When all indicators are green, this signals that everything is running smoothly. While red indicators in historical data don't require immediate action, they provide valuable lessons to prevent similar issues in the future. For data engineers, this acts as a comprehensive report card on system health and performance. +Red indicators in the past don't require immediate action, but they may provide lessons that can help prevent similar issues in the future. -## Finding model freshness indicators +Red indicators now mean it's time to take action and debug the issue. -From the homescreen of Tobiko Cloud we have the graph on historical freshness. +## Finding the model freshness chart + +The model freshness chart is near the top of the Tobiko Cloud homepage. ![tcloud model freshness](./model_freshness/find_model_freshness.png) -**Data model freshness** here refers to the timeliness and relevance of the data used in a data model, ensuring that it reflects the most current and accurate state of the underlying system or domain. In other words, it measures how up-to-date and synchronized the model is with the real-world data. -Zooming into that data, the model freshness chart shows you the freshness of your models within your data warehouse relative to the model's configured cron. -![tcloud model freshness](./model_freshness/tcloud_model_freshness.png) +## Model freshness indicators + +Model freshness is the timeliness of the data most recently processed by a model. In other words, it measures how up-to-date each model is relative to its `cron`. -The chart displays historical data, showing freshness levels across time (shown on the `x-axis`). This historical view helps when troubleshooting reported data issues—you can quickly check if problems were caused by delayed data runs or other underlying issues. +The chart displays historical data, showing the percentage of models that were fresh (y-axis) across time (x-axis). -The chart uses three colors to show the percentage of models in different states: +This historical view helps when troubleshooting data issues — you can quickly check if the issue is associated with delayed model runs. + +![tcloud model freshness](./model_freshness/tcloud_model_freshness.png) + +The chart uses color to show the percentage of models in different states: 1. Models that have run for all previous cron periods are "complete" (green). - - All green indicates the data warehouse is fully up-to-date with model crons. + - All green indicates the data warehouse is fully up-to-date 2. Models that haven't run for the most recent cron period are "pending" (yellow). 3. Models that haven't run for multiple previous cron periods are "behind" (red). - - Red signals potential issues that need investigation. + - Red signals potential issues that need investigation + +Keep in mind that if a model shows red (behind) in the past, that doesn't necessarily reflect its current status. It may have caught up by now! + +The chart is interactive — hovering reveals the distribution of model freshness at a specific time point. + +![Tobiko Cloud model freshness chart tooltip](./model_freshness/tcloud_model-freshness_tooltip.png) -To make your life easier, the chart is interactive—you can click any point in time to see which specific models were complete, pending, or behind. +Click a time point to open a list of the models that were complete, pending, or behind at that time. -![Tobiko Cloud model freshness chart tooltip](./model_freshness/tcloud_model-freshness_tooltip.png) \ No newline at end of file +![Tobiko Cloud model freshness list](./model_freshness/tcloud_model_freshness_list.png) diff --git a/docs/cloud/features/observability/model_freshness/tcloud_model_freshness_list.png b/docs/cloud/features/observability/model_freshness/tcloud_model_freshness_list.png new file mode 100644 index 0000000000000000000000000000000000000000..794c8d2d57b018ceeb6fc7b935e4613d730aae39 GIT binary patch literal 40258 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