AskTable
sidebar.freeTrial

Q2S Logging: Trace Every Question-to-SQL Step

AskTable Team
AskTable Team 2026-03-04

In a Text-to-SQL stack, every user question becomes a pipeline: intent → schema linking → SQL → execution → presentation. Q2S logs persist that journey so you can audit, debug, and improve the system.


Why log Q2S?

User report: “I asked for last month’s revenue—the number looks wrong.”

Without structured logs you may lack:

  • The exact natural-language prompt
  • Generated SQL and parameters
  • Execution results or errors
  • Timing and upstream trace IDs

With Q2S logging you can reconstruct the session, compare against expectations, and file a precise fix (prompt, schema, or policy).


Lifecycle (conceptual)

加载图表中...

Each transition stores duration, optional Langfuse trace_id, and compact error text (long messages still live in observability tools).


Data model (simplified)

FieldRole
idStable Q2S id (q2s_*)
project_idTenant scope
datasource_idWhich connection
questionUser text (consider masking PII)
role_id / role_variablesPolicy context
queryGenerated SQL + chart config payload
statusprocessing / success / failed
duration_msEnd-to-end latency
trace_idLink to Langfuse / LLM traces
err_msgShort failure reason

Writing the row early (status processing) means you still capture prompts when downstream steps crash.


Operations playbooks

Debug a bad answer

  1. Filter logs by user, datasource, and time.
  2. Open query.sql and compare to the business definition.
  3. Jump to trace_id for prompts, tool calls, and model output.
  4. Patch terminology, training pairs, or policies—not guesswork.

Find slow paths

Aggregate duration_ms by datasource or question template; optimize indexes or tighten semantic hints.

Watch quality

Track success ratio, error classes, and regressions after model or prompt changes.


Best practices

  • Retention: align with compliance (e.g. roll off or aggregate after N days).
  • PII: mask phone numbers and IDs in stored prompts when policies require it.
  • Correlation: always emit trace_id when Langfuse (or similar) is enabled.

Summary

Q2S logging turns Text-to-SQL from a black box into an observable service: you get inputs, outputs, latency, and links to deep traces—the minimum viable foundation for enterprise analytics.

cta.readyToSimplify

sidebar.noProgrammingNeededsidebar.startFreeTrial

cta.noCreditCard
cta.quickStart
cta.dbSupport