convalesce
/use-casesUse cases

The failures Convalesce investigates.

Six kinds of failure a data team meets again and again. For each one: what the team sees first, and what Convalesce gathers to explain it.

What these cost a team is in The hour nobody budgets for: what a data incident really costs.

  1. A column renamed or retyped upstream

    What the team sees

    A load or a model fails on a column it can no longer find, or on a type it cannot read. The error names the table, not the change behind it.

    What Convalesce gathers

    The column's name and type before and after, the upstream table where it changed, and every table and dashboard downstream that reads it.

    information_schema, lineage, the failing query

  2. Empty values failing a check

    What the team sees

    A data quality check goes red: a column that should always be filled has empty values in it.

    What Convalesce gathers

    The run that wrote the rows, the upstream table the empty values came from, and whether the query or the source changed. Where reading is on for the connection, a small read-only query confirms where they start.

    check results, row counts, lineage

  3. A number that is wrong while every job is green

    What the team sees

    Someone asks whether a dashboard number is right. Every run finished without an error, so nothing says where to start looking.

    What Convalesce gathers

    Row counts and freshness for each table behind the number, the lineage path between them, and the recent changes to the code along that path.

    row counts, freshness, lineage, commits

  4. A commit that broke a job, and one that only looked guilty

    What the team sees

    A job fails soon after a merge. The latest commit is the obvious suspect, and it is not always the right one.

    What Convalesce gathers

    The commits that touched the failing query or model, set against when the run first failed and what it executed, so each commit is named with the reason it fits or does not.

    commits, queries, models, run history

  5. An outside service refusing a call

    What the team sees

    A task fails calling an API, a warehouse or a storage bucket: a refused sign-in, a rate limit, a timeout.

    What Convalesce gathers

    The exception, each retry and its exit code, the run's settings, and whether those settings differ from the last run that succeeded.

    exceptions, retries, params, config

  6. A run that fails and then passes

    What the team sees

    A run fails, the retry passes, and the alert is closed. The same thing happens again the week after.

    What Convalesce gathers

    Each attempt's state and exit code, what else was running at the time, and what differed between the attempt that failed and the one that passed.

    task state, retries, exit codes

Stop reconstructing failures.

Sign in with GitHub or Google, connect a tool, and see your next failed run explained. See the tools it connects to and what it reads and sends.