Skip to content

Conversation

@jadewang-db jadewang-db marked this pull request as ready for review January 22, 2026 22:29
jadewang-db added a commit that referenced this pull request Jan 23, 2026
## 🥞 Stacked PR
Use this
[link](https://github.com/adbc-drivers/databricks/pull/161/files) to
review incremental changes.
-
[**stack/wi-1.2-tag-definition-system**](#161)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/161/files)]
-
[stack/wi-2.1-telemetry-data-models](#162)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/162/files/ab7fa964ff62f3fc9884034e17a7e57630fa8037..a566292aec78d19717c92e28f135535b09f25c80)]
-
[stack/wi-2.1-exception-classifier](#163)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/163/files/a566292aec78d19717c92e28f135535b09f25c80..baa7a2ae32662fddc65272e0264e8bb7d1644716)]
-
[stack/wi-3.1-circuit-breaker](#164)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/164/files/baa7a2ae32662fddc65272e0264e8bb7d1644716..03f7027e6731efe032c15555afe517ba49de3651)]
-
[stack/wi-3.1-feature-flag-cache](#165)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/165/files/03f7027e6731efe032c15555afe517ba49de3651..1d6e3d5b1c4c31ec91361337e574e6e5411fbbb6)]
-
[stack/wi-3.4-databricks-telemetry-exporter](#166)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/166/files/1d6e3d5b1c4c31ec91361337e574e6e5411fbbb6..eb382cb291c120a5f3cc3a1c38e0975b99c1369f)]
-
[stack/wi-3.5-metrics-aggregator](#167)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/167/files/eb382cb291c120a5f3cc3a1c38e0975b99c1369f..67723fabe6f62d7ed16591c3e88e96aa269daddd)]
-
[stack/wi-3.5-circuit-breaker-manager](#168)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/168/files/67723fabe6f62d7ed16591c3e88e96aa269daddd..6b66d37e9d97ca621d88c48a58ac60b2487425ea)]
-
[stack/e2e-feature-flag-cache-tests](#169)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/169/files/6b66d37e9d97ca621d88c48a58ac60b2487425ea..2a6fff2b9b91c7fd6cff7558d1d3b3596c0fa3c2)]
-
[stack/databricks-activity-listener](#170)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/170/files/2a6fff2b9b91c7fd6cff7558d1d3b3596c0fa3c2..39f6aed55278a533390e9aadf655f80dc11159c2)]
-
[stack/circuit-breaker-telemetry-exporter](#171)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/171/files/39f6aed55278a533390e9aadf655f80dc11159c2..4473de5ca3cfca8579818e6d58f8a2b12e869a47)]
-
[stack/telemetry-client-manager-wi-3.2](#172)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/172/files/4473de5ca3cfca8579818e6d58f8a2b12e869a47..94b678636d76a6d41a6612f76d00b4caccdab48a)]
-
[stack/telemetry-client-wi-5.5](#173)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/173/files/94b678636d76a6d41a6612f76d00b4caccdab48a..ce00998cbd0372d94303ad1d69e9711e4489fe96)]
-
[stack/telemetry-client-manager-e2e-wi-7](#174)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/174/files/ce00998cbd0372d94303ad1d69e9711e4489fe96..2646e86223ff1e7706b20d5970e556ec2f17867b)]
-
[stack/telemetry-client-e2e-tests-wi-7-standalone](#175)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/175/files/2646e86223ff1e7706b20d5970e556ec2f17867b..0b9ebd3867250d92d0d8007cb17d6ce471d5560a)]
-
[stack/wi-6.1-databricks-connection-telemetry-integration](#176)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/176/files/0b9ebd3867250d92d0d8007cb17d6ce471d5560a..4f553284c30eb7efcf67369c58dddd56675cd0be)]
-
[stack/wi-6.2-telemetry-tags-driver-activities](#177)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/177/files/4f553284c30eb7efcf67369c58dddd56675cd0be..1f7cde0c5642072b06588665b16ee3a30a90d256)]
-
[stack/wi-9-full-integration-e2e-tests](#178)
[[Files
changed](https://github.com/adbc-drivers/databricks/pull/178/files/1f7cde0c5642072b06588665b16ee3a30a90d256..c65e9fea7c65fa456f0114e95c867ee15f21bd87)]

---------

---------

Co-authored-by: Jade Wang <jade.wang+data@databricks.com>
Co-authored-by: Claude <noreply@anthropic.com>
Jade Wang and others added 3 commits January 23, 2026 21:43
Implement data model classes following JDBC driver format for
compatibility with Databricks telemetry backend.

Models implemented:
- TelemetryRequest: Top-level wrapper with uploadTime and protoLogs array
- TelemetryFrontendLog: Frontend log event with workspace_id, frontend_log_event_id, context, entry
- TelemetryEvent: SQL driver telemetry event with session_id, sql_statement_id, system_configuration, operation_latency_ms
- FrontendLogContext: Context with client_context and timestamp_millis
- FrontendLogEntry: Entry containing sql_driver_log
- TelemetryClientContext: Client context with user_agent
- DriverSystemConfiguration: System config (driver_name, driver_version, os_name, os_version, os_arch, runtime_name, runtime_version, locale, timezone)
- DriverConnectionParameters: Connection params (cloud_fetch_enabled, lz4_compression_enabled, direct_results_enabled, max_download_threads, auth_type, transport_mode)
- SqlExecutionEvent: Execution details (result_format, chunk_count, bytes_downloaded, compression_enabled, row_count, poll_count, poll_latency_ms, time_to_first_byte_ms, execution_status, statement_type, retry_performed, retry_count)
- DriverErrorInfo: Error details (error_type, error_message, error_code, sql_state, http_status_code, is_terminal, retry_attempted)

Key features:
- JSON property names use snake_case to match JDBC format
- Null fields are omitted in serialization using JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)
- Default values (like 0 for OperationLatencyMs) are omitted using JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)

Tests:
- TelemetryRequestTests: 6 tests for TelemetryRequest serialization
- TelemetryFrontendLogTests: 10 tests for TelemetryFrontendLog and related models
- TelemetryEventTests: 16 tests for TelemetryEvent and supporting models

All 32 model tests pass + 100 total telemetry tests pass.

Co-Authored-By: Claude <noreply@anthropic.com>
Add WI-1.3 (Telemetry Data Models) work item to the sprint plan:
- Added completed WI-1.3 section with all model files and test expectations
- Added Models/ directory to file structure for both src and test
- Updated dependency graph to show WI-1.3 → WI-5.2 and WI-5.3
- Added Telemetry Data Models to test coverage goals table

Co-Authored-By: Claude <noreply@anthropic.com>
Add all connection properties to DriverConnectionParameters including host,
port, protocol, CloudFetch settings, retry configuration, and other driver
parameters. Add ChunkAverageDownloadLatencyMs to SqlExecutionEvent.

Co-Authored-By: Claude <noreply@anthropic.com>
@jadewang-db jadewang-db force-pushed the stack/wi-2.1-telemetry-data-models branch from a566292 to 1e58d3c Compare January 23, 2026 21:43
@jadewang-db jadewang-db merged commit abf8d02 into main Jan 23, 2026
11 checks passed
@jadewang-db jadewang-db deleted the stack/wi-2.1-telemetry-data-models branch January 23, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants