Transformations
Debug

Debug coverage and dependency status for a specific position

Changed on

Comprehensive debugging endpoint that returns detailed coverage and dependency information for a specific position. This uses the same validation logic as backfill gap detection and dependency checking, providing a single source of truth for debugging why a position cannot be processed.

Returns:

  • Model's own coverage status for the position
  • Dependency tree with coverage/bounds for each dependency
  • Gap detection results
  • Validation results (can process / cannot process + reasons)
  • Recursive dependency analysis all the way down
get/models/transformations/{id}/coverage/{position}

Request

  • Base URL: http://localhost:8080/api/v1
  • URL: http://localhost:8080/api/v1/models/transformations/{id}/coverage/{position}
  • Auth: none declared

Path parameters

idstring required

Fully qualified model ID (database.table)

positioninteger required

Position to debug

Response

Detailed coverage debug information

model_idstring required

The model being debugged

positioninteger required

Position being checked

intervalinteger required

Interval size checked

end_positioninteger

End position (position + interval)

can_processboolean required

Whether this position can be processed

Example response

{
  "model_id": "analytics.entity_network_effects_or_test",
  "position": 1760414678,
  "interval": 60,
  "end_position": 1760414738,
  "model_coverage": {
    "has_data": true,
    "first_position": 1760399556,
    "last_end_position": 1760415038,
    "ranges_in_window": [
      {
        "interval": 10
      }
    ],
    "gaps_in_window": [
      {
        "start": 1760414678,
        "end": 1760414690,
        "size": 12
      }
    ]
  },
  "dependencies": [
    {
      "id": "analytics.block_propagation",
      "bounds": {
        "min": 1760398632,
        "max": 1760415134,
        "lag_applied": 10
      },
      "gaps": [
        {
          "start": 1760414678,
          "end": 1760414690,
          "size": 12
        }
      ]
    }
  ],
  "validation": {
    "valid_range": {
      "min": 1760398632,
      "max": 1760415134
    },
    "blocking_gaps": [
      {
        "dependency_id": "analytics.block_propagation",
        "gap": {
          "start": 1760414678,
          "end": 1760414690,
          "size": 12
        }
      }
    ],
    "next_valid_position": 1760414690,
    "reasons": [
      "Dependency analytics.block_propagation has gap from 1760414678 to 1760414690",
      "Position is beyond current forward fill boundary"
    ]
  }
}

Changes