Get desktop application:
View/edit binary Protocol Buffers messages
os name
os version
whether the extension was able to initialize successfully
type of initializion error, if an error occurred at initialization
detailed error message, if an error occurred at initialization
duration of the initialization in milliseconds
does the user have LSP installed
does the user have fusion installed
the version of dbt used in the project
the anonymous user id stored at ~/.dbt/.user.yml
project models count
the type of adapter used in the project (snowflake, bigquery, etc)
Outcome of OAuth session file load at activation.
the anonymous user id stored at ~/.dbt/.user.yml
the anonymous user id stored at ~/.dbt/.user.yml
anonymized identifier for this compare session
duration of the compare operation in milliseconds
whether the compare operation completed successfully
Deprecated: use failure_mode and error_message instead
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
categorizes the type of failure that occurred
detailed error message or logs from the failed operation
number of result rows reported by the compare artifact
whether the compare artifact contained a project section
dbt schema version reported by the compare artifact (e.g., the manifest schema URL/version)
invocation_id reported by the compare artifact (correlates to the dbt run that produced it)
Emitted when the user opens (drills into) a single row in the Compare panel results table. Pairs with ExtensionCompareStarted/Finished via compare_id.
anonymized identifier for the compare session this row belongs to
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
category of diff row that was opened. One of: 'value_diff' | 'added_record' | 'removed_record' | 'non_unique_record' | 'unknown'. Kept as a string for forward-compat (no enum needed today).
anonymized identifier for this compare session
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
the anonymous user id stored at ~/.dbt/.user.yml
Emitted when the user interacts with the Get Started onboarding panel: either clicking a CTA or transitioning a step's status (including completing all steps).
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
type of interaction (CTA click or step transition)
step the interaction targets; UNSPECIFIED for ALL_STEPS_COMPLETED and MIGRATE_WITH_AGENT_CLICKED (the migrate CTA is not itself one of the four steps)
status of step_id at the time of the event
count of steps with status=COMPLETED at the time of the event (0–4)
the type of support that was clicked
the anonymous user id stored at ~/.dbt/.user.yml
the type of support being cancelled
the anonymous user id stored at ~/.dbt/.user.yml
the type of support being offered
the anonymous user id stored at ~/.dbt/.user.yml
the type of support that was submitted
whether the submission was successful
the anonymous user id stored at ~/.dbt/.user.yml
the type of support panel that was closed
the anonymous user id stored at ~/.dbt/.user.yml
the type of support being offered
the anonymous user id stored at ~/.dbt/.user.yml
the type of support being offered
the anonymous user id stored at ~/.dbt/.user.yml
Emitted when the user interacts with the lineage panel (node click, context menu action, grain switch, or toolbar action). A single event covers all interaction types; distinguish between them via `interaction_type`.
the anonymous user id stored at ~/.dbt/.user.yml
which kind of interaction the user performed
grain active in the panel when the interaction was initiated. For LINEAGE_INTERACTION_TYPE_SWITCH_TO_* interactions, this is the source (from) grain, not the destination. Analytics can derive the destination from interaction_type.
dbt resource_type for the target node, when applicable (model, source, seed, snapshot, exposure, metric, etc.). Free string so new dbt resource types don't require a proto bump.
selected lens value; set only when interaction_type == LINEAGE_INTERACTION_TYPE_LENS_CHANGED
the anonymous user id stored at ~/.dbt/.user.yml
this is the hash of the project's name, used for anonymized telemetry
the type of adapter used in the project (snowflake, bigquery, etc)
the unique id of the adapter used in the active profile eg. md5(hostname)
the version of dbt used in the project
Indicates whether the compile was successful
duration of the compile in milliseconds
the type of compile
project models count
True if the compile was triggered by a user action (ie. saving a file)
The event that triggered the compile
the anonymous user id stored at ~/.dbt/.user.yml
this is the hash of the project's name, used for anonymized telemetry
the type of adapter used in the project (snowflake, bigquery, etc)
the unique id of the adapter used in the active profile eg. md5(hostname)
the version of dbt used in the project
the type of compile
True if the compile was triggered by a user action (ie. saving a file)
The event that triggered the compile
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
the anonymous user id stored at ~/.dbt/.user.yml
UUID generated per panel render; matches ExtensionModelDocsPanelOpened.correlation_id
md5 hash of the dbt project name (anonymized)
which cloud-enrichment code path the render took
wall-clock duration from start of enrichFromCloud() to outcome emission
sanitized error message (error.name + ": " + error.message, max 512 chars); empty on success/skip
the anonymous user id stored at ~/.dbt/.user.yml
UUID generated per panel render; matches ExtensionModelDocsPanelOpened.correlation_id
md5 hash of the dbt project name (anonymized)
the anonymous user id stored at ~/.dbt/.user.yml
UUID generated per panel render; joins all 4 Model Docs events for one render
md5 hash of the dbt project name (anonymized) — same hash as ExtensionLspCompileStart.project_id
true if dbt Cloud credentials were available at panel-open time
the anonymous user id stored at ~/.dbt/.user.yml
UUID generated per panel render; matches ExtensionModelDocsPanelOpened.correlation_id
md5 hash of the dbt project name (anonymized)
the anonymous user id stored at ~/.dbt/.user.yml
Emitted when the extension adopts an OAuth session from the on-disk session file into SecretStorage (cross-process credential sharing).
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
Emitted when the extension persists its OAuth session to the on-disk session file.
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
True when this write created our slot for the first time (no prior slot existed).
Emitted when a query in the Query Results panel finishes (success, failure, cancellation, or invalid target). Pairs with ExtensionQueryStarted via query_id.
the anonymous user id stored at ~/.dbt/.user.yml
UUID identifying this query lifecycle; matches ExtensionQueryStarted.query_id.
which entry point started the query
adapter type used in the active profile (snowflake, bigquery, etc.)
md5 hash of the dbt project name (anonymized)
wall-clock duration from start to completion in milliseconds
number of rows returned; 0 on non-success
outcome of the query
sanitized error message (max 512 chars, newlines stripped); empty on success/cancel/invalid
Emitted when a user interacts with the Query Results panel after results render. Correlates to a specific result set via query_id.
the anonymous user id stored at ~/.dbt/.user.yml
UUID identifying the active result set; matches ExtensionQueryStarted.query_id.
which kind of interaction the user performed
Emitted when a query begins in the Query Results panel. Pairs with ExtensionQueryCompleted via query_id.
the anonymous user id stored at ~/.dbt/.user.yml
UUID identifying this query lifecycle; matches ExtensionQueryCompleted.query_id and ExtensionQueryResultInteracted.query_id for the same result set.
which entry point started the query
adapter type used in the active profile (snowflake, bigquery, etc.)
md5 hash of the dbt project name (anonymized); same md5(project_name) used by compile events
Emitted when the user clicks a control to begin registration Used to correlate subsequent registration events with the originating click
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
UI element that was clicked to start registration (e.g., status bar, banner, extension info)
identifier to correlate related registration events
Emitted if the user starts the registration flow. There are several UI affordances to do this.
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
which registration path will be used
identifier to correlate related registration events (matches RegisterClicked)
Emitted when the user successfully completes registration
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
the actual registration method used
duration of the registration flow in milliseconds
identifier to correlate related registration events (matches RegisterClicked)
dbt Cloud account ID the user registered with
dbt Cloud user ID for the registered user
dbt Cloud hostname (e.g., cloud.getdbt.com)
Emitted when an error occurs during registration These are most likely to be caused by issues in code (bugs, unanticipated cases, regressiones)
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
the registration method that errored (use UNSPECIFIED if not yet known)
type/category of error that occurred
sanitized error message (no PII)
duration until error in milliseconds
identifier to correlate related registration events (matches RegisterClicked)
Emited if the user dismiss a message prompting them to register the extension?
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
Once a user starts registration, they must complete it within 10 minutes After 10 minutes, the auth server shuts down and we emit this event
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
the registration trigger method that timed out (dbt_cloud.yml or web)
duration until timeout in milliseconds
identifier to correlate related registration events (matches RegisterClicked)
In vscode, extensions cannot automatically open external URLs Instead, vscode shows the user a modal with the URL The user can pick Open, Trust Domain, Copy, or Cancel Open or Trust Domain result in the URL opening, and url_opened will be true Cancel or Copy result in url_opened false If the user copied the URL, they may paste it into a browser to continue registration
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
whether the user opened the URL (Open/Trust = true, Cancel/Copy = false)
whether oauth parameters were included in the URL
identifier to correlate related registration events (matches RegisterClicked)
the anonymous user id stored at ~/.dbt/.user.yml
Emitted every time a trial-light gate fires for a user (CTA impression or action denial).
the anonymous user id stored at ~/.dbt/.user.yml
UUID to uniquely identify the event
UI surface where the gate fired; reuses RegistrationTarget vocabulary (e.g. "compare_cta", "catalog_cta", "column_lineage_cta", "rename_cta").
User state at the moment the gate fired.
Whether this was a passive impression or an active block.
the command that the user selected
the anonymous user id stored at ~/.dbt/.user.yml
the state the user changed to
the anonymous user id stored at ~/.dbt/.user.yml