SDF provides several options for configuring log output. Furthermore, the SDF DB can be used to query and analyze logs.
stdout
by default, but rich trace logs are also available for debugging and monitoring.
The following guide will go through the different logging options available in SDF and how to use them. See the reference for details on log formats, levels, and properties.
Open an SDF workspace
moms_flower_shop_completed
sample workspace as a base for this guide. If you don’t have it, you can create it by running:Explore Log Levels
--log-level warn
or --log-level error
to only see warnings or errors, respectively.To see more in-depth logs, we can use the --log-level info
flag. This will expose logs that capture the internal steps that sdf follows to compile and run a workspace.Let’s say we want to view info logs along with error and warn logs, we can run:{“_ts”:“2025-02-05T02:02:12.455233347+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/main.rs:105”,“ev”:“sdf”}
{“_ts”:“2025-02-05T02:02:12.455314929+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/main.rs:106”,“ev”:“sdf”,“set”:“job_id”,“val_s”:“64b1ab20-5af0-44b8-948c-599ed9bb9c19”}
{“_ts”:“2025-02-05T02:02:12.455325619+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/main.rs:107”,“ev”:“sdf”,“set”:“args”,“val_as”:[“compile”,“moms_flower_shop.raw.raw_inapp_events”,“—log-level”,“info”,“—show”,“none”]}
{“_ts”:“2025-02-05T02:02:12.456481748+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/utils/initializing.rs:120”,“ev”:“initialize”}
{“_ts”:“2025-02-05T02:02:12.457853532+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/utils/initializing.rs:300”,“ev”:“initialize.load_workspace”}
{“_ts”:“2025-02-05T02:02:12.477270421+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/utils/initializing.rs:369”,“ev”:“initialize.load_workspace”,“st_dur_ms”:19}
{“_ts”:“2025-02-05T02:02:12.477287553+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/utils/initializing.rs:371”,“ev”:“initialize.load_dependencies”}
{“_ts”:“2025-02-05T02:02:12.477303142+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/utils/initializing.rs:502”,“ev”:“initialize.load_dependencies”,“st_dur_ms”:0}
{“_ts”:“2025-02-05T02:02:12.477315686+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/utils/initializing.rs:504”,“ev”:“initialize.load_prelude”}
{“_ts”:“2025-02-05T02:02:12.480955030+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/utils/initializing.rs:540”,“ev”:“initialize.load_prelude”,“st_dur_ms”:3}
--show none
to avoid displaying stdout output. The --show
flag controls the standard out, things like “compiling <table>”, and is separate from info, debug, and trace logs.debug
and trace
logs are also available, and are more detailed than info
logs. Let’s try trace, the most detailed log level:{“_ts”:“2025-02-05T02:02:14.547085928+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/utils/initializing.rs:579”,“ev”:“initialize.prep_env.resolve_env.build_env”,“st_dur_ms”:603}
{“_ts”:“2025-02-05T02:02:14.547161469+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/context/env.rs:900”,“message”:“Reading jinja file: sdf_test at sdftarget/dbg/.lib/sdf_test/macros/test.jinja”}
{“_ts”:“2025-02-05T02:02:14.547424460+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/context/env.rs:900”,“message”:“Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/generate_surrogate_key.jinja”}
{“_ts”:“2025-02-05T02:02:14.547469084+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/context/env.rs:900”,“message”:“Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/group_by.jinja”}
{“_ts”:“2025-02-05T02:02:14.547505692+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/context/env.rs:900”,“message”:“Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/generate_date_values.jinja”}
{“_ts”:“2025-02-05T02:02:14.547559803+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/context/env.rs:900”,“message”:“Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/date_spine.jinja”}
{“_ts”:“2025-02-05T02:02:14.547629042+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/context/env.rs:900”,“message”:“Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/generate_integer_values.jinja”}
{“_ts”:“2025-02-05T02:02:14.547665360+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/context/env.rs:900”,“message”:“Reading jinja file: sdf_mat at sdftarget/dbg/.lib/sdf_mat/macros/dialect/trino/materialize.jinja”}
{“_ts”:“2025-02-05T02:02:14.548078591+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/utils/initializing.rs:755”,“ev”:“initialize.prep_env.resolve_env”,“st_dur_ms”:604}{“_ts”:“2025-02-05T02:02:14.548851424+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:521”,“ev”:“cmd.prepare.read_makefile”,“set”:“verdict”,“val_s”:“full-rebuild”}
{“_ts”:“2025-02-05T02:02:14.548862224+00:00”,“_ll”:“DEBUG”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:577”,“ev”:“cmd.prepare.read_makefile”,“set”:“analyze_with_sources”,“val_b”:false}
{“_ts”:“2025-02-05T02:02:14.548875930+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:582”,“ev”:“cmd.prepare.read_makefile”,“set”:“resolved_table_names”,“val_s”:”[]”}
{“_ts”:“2025-02-05T02:02:14.548882723+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:588”,“ev”:“cmd.prepare.read_makefile”,“set”:“seen_these_files”,“val_s”:”[]”}
{“_ts”:“2025-02-05T02:02:14.548889225+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:594”,“ev”:“cmd.prepare.read_makefile”,“set”:“sources”,“val_s”:”[]”}
{“_ts”:“2025-02-05T02:02:14.548895486+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:605”,“ev”:“cmd.prepare.read_makefile”,“st_dur_ms”:0}{“_ts”:“2025-02-05T02:02:14.556741410+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:1654”,“ev”:“cmd.schedule.prep”}
{“_ts”:“2025-02-05T02:02:14.556776987+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:1677”,“ev”:“cmd.schedule”,“set”:“deps”,“val_as”:{“moms_flower_shop.raw.raw_inapp_events”:[]}}
{“_ts”:“2025-02-05T02:02:14.556817162+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:1757”,“ev”:“cmd.schedule.prep”,“st_dur_ms”:0}
{“_ts”:“2025-02-05T02:02:14.556826329+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:1854”,“ev”:“cmd.schedule”,“set”:“resolved_tables”,“val_as”:{}}
{“_ts”:“2025-02-05T02:02:14.556835717+00:00”,“_ll”:“DEBUG”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:1860”,“ev”:“cmd.schedule”,“set”:“sources_defined_by_providers”,“val_as”:[]}
{“_ts”:“2025-02-05T02:02:14.556843050+00:00”,“_ll”:“DEBUG”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:1906”,“ev”:“cmd.schedule”,“set”:“to_be_downloaded”,“val_as”:[]}
{“_ts”:“2025-02-05T02:02:14.556891541+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2079”,“ev”:“cmd.schedule.dag”}
{“_ts”:“2025-02-05T02:02:14.556901710+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2081”,“ev”:“cmd.schedule.dag”,“set”:“dag.deps”,“val_s”:“{"moms_flower_shop.raw.raw_inapp_events":[]}”}
{“_ts”:“2025-02-05T02:02:14.556917539+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2095”,“ev”:“cmd.schedule.dag”,“set”:“dag.initial”,“val_s”:“{"moms_flower_shop.raw.raw_inapp_events":[]}”}
{“_ts”:“2025-02-05T02:02:14.556926987+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2107”,“ev”:“cmd.schedule.dag”,“set”:“dag.cleaned”,“val_s”:“{"moms_flower_shop.raw.raw_inapp_events":[]}”}
{“_ts”:“2025-02-05T02:02:14.556935453+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2113”,“ev”:“cmd.schedule.dag”,“set”:“missing_defs”,“val_s”:”[]”}
{“_ts”:“2025-02-05T02:02:14.556954147+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2191”,“ev”:“cmd.schedule.dag”,“set”:“dag.resolved_targets”,“val_s”:“["moms_flower_shop.raw.raw_inapp_events"]”}
{“_ts”:“2025-02-05T02:02:14.556968384+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2219”,“ev”:“cmd.schedule.dag”,“set”:“dag.targeted”,“val_s”:“{"moms_flower_shop.raw.raw_inapp_events":[]}”}
{“_ts”:“2025-02-05T02:02:14.557006616+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2278”,“ev”:“cmd.schedule.dag”,“set”:“dag.acyclic”,“val_s”:“{"moms_flower_shop.raw.raw_inapp_events":[]}”}
{“_ts”:“2025-02-05T02:02:14.557014821+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2284”,“ev”:“cmd.schedule.dag”,“set”:“cycles”,“val_s”:”[]”}
{“_ts”:“2025-02-05T02:02:14.557020862+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2290”,“ev”:“cmd.schedule.dag”,“set”:“cut_points”,“val_s”:”[]”}
{“_ts”:“2025-02-05T02:02:14.557031783+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2296”,“ev”:“cmd.schedule.dag”,“set”:“order.initial”,“val_s”:“["moms_flower_shop.raw.raw_inapp_events"]”}
{“_ts”:“2025-02-05T02:02:14.557063341+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2565”,“ev”:“cmd.schedule.dag”,“set”:“showable_root_tables”,“val_s”:”[]”}
{“_ts”:“2025-02-05T02:02:14.557082868+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2854”,“ev”:“cmd.schedule.dag”,“set”:“order.without_providers”,“val_s”:“["moms_flower_shop.raw.raw_inapp_events"]”}
{“_ts”:“2025-02-05T02:02:14.557091324+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2880”,“ev”:“cmd.schedule.dag”,“st_dur_ms”:0}{“_ts”:“2025-02-05T02:02:14.557105821+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2887”,“ev”:“cmd.do”}
{“_ts”:“2025-02-05T02:02:14.557115589+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2913”,“ev”:“cmd.do”,“set”:“order.without_providers_or_cached”,“val_s”:“["moms_flower_shop.raw.raw_inapp_events"]”}
{“_ts”:“2025-02-05T02:02:14.557126529+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:2930”,“ev”:“cmd.do.sources”}{“_ts”:“2025-02-05T02:02:14.557863656+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:4342”,“ev”:“cmd.do.derived.wave_1.mat”,“ev_tb”:“moms_flower_shop.raw.raw_inapp_events”,“ev_tb_catalog”:“moms_flower_shop”,“ev_tb_schema”:“raw”,“ev_tb_table”:“raw_inapp_events”}
{“_ts”:“2025-02-05T02:02:14.558782872+00:00”,“_ll”:“DEBUG”,“_fn”:“crates/sdf-cli/src/subcommands/describe.rs:261”,“ev”:“cmd.do.derived.wave_1.meta_analysis”,“ev_tb”:“moms_flower_shop.raw.raw_inapp_events”,“ev_tb_catalog”:“moms_flower_shop”,“ev_tb_schema”:“raw”,“ev_tb_table”:“raw_inapp_events”}
{“_ts”:“2025-02-05T02:02:14.558801737+00:00”,“_ll”:“DEBUG”,“_fn”:“crates/sdf-cli/src/subcommands/describe.rs:284”,“ev”:“cmd.do.derived.wave_1.meta_analysis”,“ev_tb”:“moms_flower_shop.raw.raw_inapp_events”,“ev_tb_catalog”:“moms_flower_shop”,“ev_tb_schema”:“raw”,“ev_tb_table”:“raw_inapp_events”,“st_dur_ms”:0}
{“_ts”:“2025-02-05T02:02:14.558859575+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:4466”,“ev”:“cmd.do.derived.wave_1.mat”,“ev_tb”:“moms_flower_shop.raw.raw_inapp_events”,“ev_tb_catalog”:“moms_flower_shop”,“ev_tb_purpose”:“model”,“ev_tb_schema”:“raw”,“ev_tb_table”:“raw_inapp_events”,“st_code”:“succeeded”,“st_done”:“executed”,“st_dur_ms”:0}{“_ts”:“2025-02-05T02:02:14.558913185+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:4326”,“ev”:“cmd.do.derived”,“st_dur_ms”:1}
{“_ts”:“2025-02-05T02:02:14.559349793+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/utils/dep_cache.rs:1890”,“message”:“Saving table cache: moms_flower_shop.raw.raw_inapp_events, sdftarget/dbg/table/moms_flower_shop/raw/raw_inapp_events.sdf.yml”}
{“_ts”:“2025-02-05T02:02:14.559761539+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:3509”,“ev”:“cmd.do.gen_makefile”}
{“_ts”:“2025-02-05T02:02:14.560011345+00:00”,“_ll”:“TRACE”,“_fn”:“crates/sdf-cli/src/utils/dep_cache.rs:2300”,“ev”:“written_makefile”,“set”:“makefile”,“val_m”:{“contents”:{“cli_vars”:“99914b932bd37a50b983c5e7c90ae93b”,“credentials”:“99914b932bd37a50b983c5e7c90ae93b”,“env_vars”:“d751713988987e9331980363e24189ce”},“prelude”:[{“file”:“workspace.sdf.yml”,“mtime”:“2025-02-05T02:02:12.119151972Z”},{“file”:“metadata/analytics/dim_marketing_campaigns.sdf.yml”,“mtime”:“2025-02-05T02:02:12.117151970Z”},{“file”:“metadata/raw/raw_customers.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“metadata/raw/raw_marketing_campaign_events.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“metadata/analytics/agg_installs_and_campaigns.sdf.yml”,“mtime”:“2025-02-05T02:02:12.117151970Z”},{“file”:“metadata/raw/raw_addresses.sdf.yml”,“mtime”:“2025-02-05T02:02:12.117151970Z”},{“file”:“metadata/staging/inapp_events.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“metadata/raw/raw_inapp_events.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“metadata/staging/app_installs.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“classifications/column_classifiers.sdf.yml”,“mtime”:“2025-02-05T02:02:12.117151970Z”},{“file”:“classifications/table_classifiers.sdf.yml”,“mtime”:“2025-02-05T02:02:12.117151970Z”},{“file”:“metadata/analytics/dim_marketing_campaigns.sdf.yml”,“mtime”:“2025-02-05T02:02:12.117151970Z”},{“file”:“metadata/raw/raw_customers.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“metadata/raw/raw_marketing_campaign_events.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“metadata/analytics/agg_installs_and_campaigns.sdf.yml”,“mtime”:“2025-02-05T02:02:12.117151970Z”},{“file”:“metadata/raw/raw_addresses.sdf.yml”,“mtime”:“2025-02-05T02:02:12.117151970Z”},{“file”:“metadata/staging/inapp_events.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“metadata/raw/raw_inapp_events.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“metadata/staging/app_installs.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“sdftarget/dbg/.lib/sdf_test/workspace.sdf.yml”,“mtime”:“2025-02-05T02:02:13.939153370Z”},{“file”:“sdftarget/dbg/.lib/sdf_utils/workspace.sdf.yml”,“mtime”:“2025-02-05T02:02:13.940153371Z”},{“file”:“sdftarget/dbg/.lib/sdf_mat/workspace.sdf.yml”,“mtime”:“2025-02-05T02:02:13.939153370Z”},{“file”:“sdftarget/dbg/.lib/sdf_test/macros/test.jinja”,“mtime”:“2025-02-05T02:02:13.939153370Z”},{“file”:“sdftarget/dbg/.lib/sdf_utils/macros/generate_surrogate_key.jinja”,“mtime”:“2025-02-05T02:02:13.940153371Z”},{“file”:“sdftarget/dbg/.lib/sdf_utils/macros/group_by.jinja”,“mtime”:“2025-02-05T02:02:13.940153371Z”},{“file”:“sdftarget/dbg/.lib/sdf_utils/macros/generate_date_values.jinja”,“mtime”:“2025-02-05T02:02:13.940153371Z”},{“file”:“sdftarget/dbg/.lib/sdf_utils/macros/date_spine.jinja”,“mtime”:“2025-02-05T02:02:13.940153371Z”},{“file”:“sdftarget/dbg/.lib/sdf_utils/macros/generate_integer_values.jinja”,“mtime”:“2025-02-05T02:02:13.940153371Z”},{“file”:“sdftarget/dbg/.lib/sdf_mat/macros/dialect/trino/materialize.jinja”,“mtime”:“2025-02-05T02:02:13.939153370Z”}],“deps”:[{“target”:“moms_flower_shop.raw.raw_inapp_events”,“deps”:[]}],“source_files”:{“values”:{“moms_flower_shop.raw.raw_inapp_events”:[{“file”:“metadata/raw/raw_inapp_events.sdf.yml”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“models/raw/raw_inapp_events.sql”,“mtime”:“2025-02-05T02:02:12.118151971Z”},{“file”:“seeds/parquet/inapp_events.parquet”,“mtime”:“2025-02-05T02:02:12.119151972Z”}]}},“incomplete_source_files”:{“values”:[]},“target_status”:{“values”:{“moms_flower_shop.raw.raw_inapp_events”:{“purpose”:“model”,“status”:“succeeded”,“draft”:false}}}}}
{“_ts”:“2025-02-05T02:02:14.560186646+00:00”,“_ll”:“INFO”,“_fn”:“crates/sdf-cli/src/subcommands/build.rs:3523”,“ev”:“cmd.do.gen_makefile”,“st_dur_ms”:0}
info
, debug
, and trace
logs. Furthermore, the trace
log is very very long. Trace logs are typically used for internal use cases, such as debugging SDF itself. As such, we recommend using info
or debug
logs for most use cases.Writing Logs to Files
stdout
. However, we can write logs to a file by specifying the --log-file
flag.Let’s write the logs to a file named sdf.log
:sdf.log
, we’ll see the logs output to the file.The logs outputted to the file respect the --log-level
flag you’ve set.Bonus: Analyze the Logs with SDF DB
logs/compile_info.json
:includes
block in your workspace.sdf.yml
:Working set 12 model files, 1 seed file, 19 .sdf files
Finished 1 model [1 succeeded] in 1.102 secsSchema moms_flower_shop.pub.compile_info
┌───────────────┬────────────────┬────────────┬─────────────┐
│ column_name ┆ data_type ┆ classifier ┆ description │
╞═══════════════╪════════════════╪════════════╪═════════════╡
│ _ts ┆ varchar ┆ ┆ │
│ _ll ┆ varchar ┆ ┆ │
│ _fn ┆ varchar ┆ ┆ │
│ ev ┆ varchar ┆ ┆ │
│ set ┆ varchar ┆ ┆ │
│ val_s ┆ varchar ┆ ┆ │
│ val_as ┆ array<varchar> ┆ ┆ │
│ st_dur_ms ┆ bigint ┆ ┆ │
│ ev_fn ┆ varchar ┆ ┆ │
│ st_code ┆ varchar ┆ ┆ │
│ ev_tb ┆ varchar ┆ ┆ │
│ ev_tb_catalog ┆ varchar ┆ ┆ │
│ ev_tb_schema ┆ varchar ┆ ┆ │
│ ev_tb_table ┆ varchar ┆ ┆ │
│ ev_tb_purpose ┆ varchar ┆ ┆ │
│ st_done ┆ varchar ┆ ┆ │
│ err_msg ┆ varchar ┆ ┆ │
│ exit_code ┆ bigint ┆ ┆ │
└───────────────┴────────────────┴────────────┴─────────────┘
Working set 13 model files, 1 seed file, 19 .sdf files
Running moms_flower_shop.pub.query (./sdftarget/dbg/query.sql)
Finished 2 models [2 succeeded] in 1.111 secsTable moms_flower_shop.pub.query
┌─────────────────────────────────────┬──────────────────────────────┬────────────────┐
│ timestamp ┆ event ┆ duration_in_ms │
╞═════════════════════════════════════╪══════════════════════════════╪════════════════╡
│ 2025-02-05T02:02:16.436983278+00:00 ┆ sdf ┆ │
│ 2025-02-05T02:02:16.437122638+00:00 ┆ sdf ┆ │
│ 2025-02-05T02:02:16.437196325+00:00 ┆ sdf ┆ │
│ 2025-02-05T02:02:16.438328098+00:00 ┆ initialize ┆ │
│ 2025-02-05T02:02:16.440028309+00:00 ┆ initialize.load_workspace ┆ │
│ 2025-02-05T02:02:16.463394531+00:00 ┆ initialize.load_workspace ┆ 23 │
│ 2025-02-05T02:02:16.463470382+00:00 ┆ initialize.load_dependencies ┆ │
│ 2025-02-05T02:02:16.463549049+00:00 ┆ initialize.load_dependencies ┆ 0 │
│ 2025-02-05T02:02:16.463612187+00:00 ┆ initialize.load_prelude ┆ │
│ 2025-02-05T02:02:16.467722160+00:00 ┆ initialize.load_prelude ┆ 4 │
└─────────────────────────────────────┴──────────────────────────────┴────────────────┘
60 rows, showing only 10 rows.
Run with —limit 0 to show all rows.
info
- general information about the execution of the commanddebug
- more detailed information about the execution of the commandtrace
- very detailed information about the execution of the command_ts
- the timestamp of the log_lvl
- the log level (info, debug, trace, etc.)id
- the ID of the variable being loggedval_s
- the value of a variable being logged if it’s a stringval_a*
- the value of a variable being logged if it’s an array, the *
represents the value type of the array. I.e. as
for an array of stringsval_m*
- the value of a variable being logged if it’s a map, the *
represents the value type of the map. I.e. mss
for a map of string to stringval_b
- the value of a variable being logged if it’s a booleanval_i
- the value of a variable being logged if it’s an integerith
- the index of the wave being loggednum_files
- the number of files being processed by an operationfile
- the filename being processednum_errors
- the number of errors encountered during an operationnum_statements
- the number of statements being processed by an operationnum_tables
- the number of tables being processed by an operationtable
- the table being processed by an operationmessage
- a message associated with the logerror_code
- the error code associated with the log (0
if no error)_src
- the source of the log in the Rust codebaseev
- the event name corresponding to this log. Used to map open
and close
eventsev_type
- the type of the event (see reference below)ev_dur_ms
- the duration of the event in millisecondsstatus
- the status of the event (see reference below)msas
is map of string to array of stringopen
- the start of an eventclose
- the end of an event. Use the ev
property to map this to the corresponding open
eventstate
- a summary of state at a given point in time for an eventwave
- represents a batch operation operating on a subset of a dag or process. Waves have state, duration, and status propertiessucceeded
- the event was successfulfailed
- the event failedskipped
- the event was skipped