Pipeloom Docs
Insights

Data reference

The tables and columns you can query as Pipeloom data.

Queries on Pipeloom data read these tables. Each environment sees only its own rows, so you never filter by environment yourself. Write from syncs, not a schema name.

These names are stable. New tables and columns may be added, but existing ones won't be renamed or removed.

Times are timestamptz. Ids are uuid, except sync job ids, which are numbers.

syncs

One row per sync job.

ColumnWhat it is
job_idThe sync job.
connection_idThe connection that ran.
pipeline_idThe pipeline the connection belongs to, if any.
job_typesync, or a reset or refresh.
statussucceeded, failed, cancelled, running and so on.
created_at, started_at, ended_atWhen the job was created, started and ended.
duration_secondsHow long it ran.
attemptsHow many attempts it took.
records_extracted, records_loaded, records_rejectedRecord counts.
bytes_extracted, bytes_loadedByte counts.
failure_origin, failure_type, failure_messageWhy it failed, when it did.

stream_syncs

One row per stream per sync job: the counts in syncs, per stream.

ColumnWhat it is
job_id, connection_idThe sync job and its connection.
stream_namespace, stream_nameThe stream. The namespace is empty when there is none.
created_at, ended_atWhen the job was created, and when this stream finished.
records_extracted, records_loaded, records_rejectedRecord counts for the stream.
bytes_extracted, bytes_loadedByte counts for the stream.
run_stateHow the stream ended, for example complete or incomplete.
incomplete_causeWhy it didn't complete, when it didn't.
was_backfilled, was_resumedWhether this was a backfill, or resumed an earlier attempt.

failures

One row per failure in a sync's attempts.

ColumnWhat it is
job_id, attempt_number, seqThe job, the attempt, and the failure's place in it.
connection_idThe connection.
failed_atWhen it failed.
originWhere it failed: the source, the destination, the platform…
typeThe kind of failure, for example config_error or system_error.
messageThe failure message.

schema_changes

One row per schema change found at a source.

ColumnWhat it is
event_idThe change.
connection_idThe connection.
changed_atWhen it was found.
streams_added, streams_removedStreams that appeared or went away.
fields_added, fields_removed, fields_changedColumns that appeared, went away or changed type.
breakingWhether the change breaks the connection.

pipeline_runs

One row per pipeline run.

ColumnWhat it is
execution_idThe run.
pipeline_idThe pipeline.
statusHow the run ended, or that it is still running.
stateThe run's state as the orchestrator reports it.
started_bylanding when a sync landing new data started it, pipeline when another pipeline ran it, otherwise schedule.
started_at, ended_at, duration_secondsWhen it ran and for how long.
stepsHow many steps it ran.

step_runs

One row per step in a pipeline run.

ColumnWhat it is
execution_id, step_idThe run and the step.
pipeline_idThe pipeline.
statusHow the step ended.
attemptsHow many attempts it took.
started_at, duration_secondsWhen it started and how long it took.
busy_secondsTime spent working rather than waiting.
job_idFor a sync step, the sync job it ran.

connections and pipelines

Names for the ids in the other tables, so a query can show names.

TableColumns
connectionsconnection_id, name, status, schedule_type, source_name, source_type, destination_name, destination_type, updated_at
pipelinespipeline_id, name, deployed, updated_at

Views

ViewWhat it is
freshnessPer stream: last_loaded_at, usual_gap_seconds (the median time between loads over the last 28 days), and overdue (true when it's been more than twice that).
daily_volumePer connection per day: syncs, succeeded, failed, records_loaded, records_rejected, bytes_loaded.

Example

Failed syncs per connection in the last 7 days, by name:

select c.name, count(*) as failed
from syncs s
join connections c using (connection_id)
where s.status = 'failed'
  and s.created_at > now() - interval '7 days'
group by c.name
order by failed desc

On this page