Skip to content

[BUG] Fusion logs LONG!!! duration for materializations >17m #778

@jtcohen6

Description

@jtcohen6

Also open as a comment here:

Describe the bug

Many dbt models take longer than 999s (~17 minutes) to materialize. Right now, we just display LONG!!! :)

/// Format duration with fixed width for alignment (5 characters total)
/// Supports ns, μs, ms, s, m, h for materializations
pub fn format_duration_fixed_width(duration: std::time::Duration) -> String {
let total_secs = duration.as_secs_f64();
if total_secs >= 999.0 {
// >= 999 seconds: show fixed indicator for very long operations
"LONG!!!".to_string()
} else if total_secs == 0.0 {
"-------".to_string()
} else {
// 0-999 seconds: always show in seconds with 2 decimal places, right-aligned with spaces
format!("{total_secs:6.2}s")
}
}

What version of dbt Fusion is this bug in? (find out by running dbt --version) 2.0.0-preview.19

Is this a discrepancy between the dbt Fusion Engine and dbt Core? Check one.

  • YES
  • NO

To Reproduce

Run a model that takes >999 seconds to materialize

Expected behavior

Fusion tells us exactly how long it took to build.

Given that we have 5 7 fixed-width characters, examples of desirable durations:

[  0.76s]
[ 52.76s]
[  5m 1s]
[  5m42s]
[  1h 5m]
[ 23h10m]

We should not expect any materializations to take longer than 24h.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingloggingUX of Fusion CLI's logging (structured or human-friendly)

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions