Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
dfab781
Add telemetry infrastructure: CircuitBreaker and FeatureFlagCache
samikshya-db Jan 28, 2026
9f7d84c
Add telemetry client management: TelemetryClient and Provider
samikshya-db Jan 28, 2026
03b8f77
Add telemetry event emission and aggregation
samikshya-db Jan 28, 2026
a00c482
Add authentication support for REST API calls
samikshya-db Jan 29, 2026
33fcc22
Fix feature flag and telemetry export endpoints
samikshya-db Jan 29, 2026
1b49399
Match JDBC telemetry payload format
samikshya-db Jan 29, 2026
29376a6
Fix lint errors
samikshya-db Jan 29, 2026
da2e6d3
Add telemetry infrastructure: CircuitBreaker and FeatureFlagCache
samikshya-db Jan 28, 2026
02b2368
Add telemetry client management: TelemetryClient and Provider
samikshya-db Jan 28, 2026
3fcc454
Add telemetry event emission and aggregation
samikshya-db Jan 28, 2026
1daf6b5
Add telemetry export: DatabricksTelemetryExporter
samikshya-db Jan 28, 2026
d5ae8fb
Add authentication support for REST API calls
samikshya-db Jan 29, 2026
f75eb3d
Update DatabricksTelemetryExporter to use authenticated export
samikshya-db Jan 29, 2026
6663aad
Fix feature flag endpoint and telemetry export
samikshya-db Jan 29, 2026
36f2878
Match JDBC telemetry payload format
samikshya-db Jan 29, 2026
5c1851a
Fix lint errors
samikshya-db Jan 29, 2026
b6a3962
Add telemetry infrastructure: CircuitBreaker and FeatureFlagCache
samikshya-db Jan 28, 2026
68652de
Add telemetry client management: TelemetryClient and Provider
samikshya-db Jan 28, 2026
97f2106
Add telemetry event emission and aggregation
samikshya-db Jan 28, 2026
44185e4
Add telemetry export: DatabricksTelemetryExporter
samikshya-db Jan 28, 2026
013f305
Add telemetry integration into driver components
samikshya-db Jan 28, 2026
e357588
Add authentication support for REST API calls
samikshya-db Jan 29, 2026
e8c2033
Update DatabricksTelemetryExporter to use authenticated export
samikshya-db Jan 29, 2026
a2dbfb1
Fix telemetry event listeners and add config options
samikshya-db Jan 29, 2026
62545d6
Match JDBC telemetry payload format
samikshya-db Jan 29, 2026
9ac0978
Fix lint errors
samikshya-db Jan 29, 2026
bfb8303
Add missing getAuthHeaders method to ClientContextStub
samikshya-db Jan 29, 2026
4effbc5
Add missing getAuthHeaders method to ClientContextStub
samikshya-db Jan 29, 2026
39f3c00
Add missing getAuthHeaders method to ClientContextStub
samikshya-db Jan 29, 2026
ce7723a
Fix prettier formatting
samikshya-db Jan 29, 2026
844a187
Fix prettier formatting
samikshya-db Jan 29, 2026
d646c31
Fix prettier formatting
samikshya-db Jan 29, 2026
b8d20bf
Use nodejs-sql-driver as driver name in telemetry
samikshya-db Jan 30, 2026
95ea6e0
Add DRIVER_NAME constant for nodejs-sql-driver
samikshya-db Jan 30, 2026
7cb09e9
Add DRIVER_NAME constant for nodejs-sql-driver
samikshya-db Jan 30, 2026
43e404d
Add missing telemetry fields to match JDBC
samikshya-db Jan 30, 2026
c2daa4b
Populate all telemetry system configuration fields
samikshya-db Jan 30, 2026
bd031ca
Add missing telemetry fields to match JDBC
samikshya-db Jan 30, 2026
c5d4cfc
Add missing telemetry fields to match JDBC
samikshya-db Jan 30, 2026
228c2be
Fix telemetry aggregator cleanup in client close
samikshya-db Jan 30, 2026
d68af66
Fix TypeScript compilation: add missing fields to system_configuratio…
samikshya-db Jan 30, 2026
288f624
Fix TypeScript compilation: add missing fields to system_configuratio…
samikshya-db Jan 30, 2026
a98bdfd
Merge branch 'telemetry-3-client-management' into telemetry-4-event-a…
samikshya-db Jan 30, 2026
b2bbd0a
Merge branch 'telemetry-4-event-aggregation' into telemetry-5-export
samikshya-db Jan 30, 2026
4f6d5a6
Merge branch 'telemetry-5-export' into telemetry-6-integration
samikshya-db Jan 30, 2026
ac3f625
Add telemetry testing and documentation
samikshya-db Jan 28, 2026
6f5f72e
Add authentication support for REST API calls in telemetry
samikshya-db Jan 29, 2026
4badcc5
Fix telemetry and feature flag implementation
samikshya-db Jan 29, 2026
ee7fafe
Fix prettier formatting
samikshya-db Jan 29, 2026
b9cf684
Update telemetry design doc with system config and protoLogs format
samikshya-db Jan 30, 2026
ea1643b
Document telemetry export lifecycle and timing
samikshya-db Jan 30, 2026
29cc1b2
Merge branch 'telemetry-6-integration' into telemetry-7-documentation
samikshya-db Jan 30, 2026
c0e3a43
Add connection open latency tracking and enable telemetry by default
samikshya-db Jan 30, 2026
728f0d7
Populate sql_operation, statement_id, and auth_type in telemetry
samikshya-db Jan 30, 2026
d60b514
Map auth type to telemetry auth enum
samikshya-db Jan 30, 2026
d1d08d9
Add SqlExecutionEvent fields to telemetry
samikshya-db Jan 30, 2026
a8ec232
Filter out NIL UUID from statement ID in telemetry
samikshya-db Jan 30, 2026
42f1e23
Only populate sql_operation fields when present
samikshya-db Jan 30, 2026
658870f
Map Thrift operation type to proto Operation.Type enum
samikshya-db Jan 30, 2026
70c038c
Move auth_type to top level per proto definition
samikshya-db Jan 30, 2026
90fb7cd
Map result format to proto ExecutionResult.Format enum
samikshya-db Jan 30, 2026
8d6d819
Refactor telemetry type mappers to separate file
samikshya-db Jan 30, 2026
25c8f51
Add driver_connection_params with available fields
samikshya-db Jan 30, 2026
53189a8
Document proto field coverage in design doc
samikshya-db Jan 30, 2026
a37fdf0
Include system_configuration, driver_connection_params, and auth_type…
samikshya-db Jan 30, 2026
239e555
Add connection close telemetry event
samikshya-db Jan 30, 2026
e7f2144
Fix unit tests for connection close telemetry
samikshya-db Jan 30, 2026
d9cc2c9
Add connection.close event listener to telemetry wire-up
samikshya-db Jan 30, 2026
8ff09a9
Make telemetry logging silent by default
samikshya-db Jan 30, 2026
316d1e9
Ensure statement_type always populated in telemetry
samikshya-db Jan 30, 2026
adb70bc
Add operation types to connection metrics
samikshya-db Jan 30, 2026
09cde19
Fix telemetry proto field mapping
samikshya-db Jan 30, 2026
ee78dec
Add operation_detail field to telemetry interface and enhance test
samikshya-db Jan 30, 2026
a3c049f
Add error scenario test for telemetry validation
samikshya-db Jan 30, 2026
0f4ec12
Fix telemetry PR review comments from #325
samikshya-db Feb 5, 2026
bdf8c5a
Merge PR #326 fixes into PR #327
samikshya-db Feb 5, 2026
3bef69c
Merge PR #327 fixes into PR #328
samikshya-db Feb 5, 2026
72372d2
Merge PR #328 fixes into PR #329
samikshya-db Feb 5, 2026
aa59460
Merge PR #329 fixes into PR #330
samikshya-db Feb 5, 2026
57b331c
Add proxy support to feature flag fetching
samikshya-db Feb 5, 2026
bb7a913
Merge telemetry-3-client-management proxy fix into telemetry-4-event-…
samikshya-db Feb 5, 2026
fa356e1
Merge telemetry-4-event-aggregation proxy fix into telemetry-5-export
samikshya-db Feb 5, 2026
86d7b8d
Merge telemetry-5-export proxy fix into telemetry-6-integration
samikshya-db Feb 5, 2026
a117e87
Merge telemetry-6-integration proxy fix into telemetry-7-documentation
samikshya-db Feb 5, 2026
168ebfc
Make feature flag cache extensible for multiple flags
samikshya-db Feb 5, 2026
c3494c1
Merge extensible feature flags from telemetry-4-event-aggregation
samikshya-db Feb 5, 2026
265dde4
Merge extensible feature flags from telemetry-5-export
samikshya-db Feb 5, 2026
77b740a
Merge extensible feature flags from telemetry-6-integration
samikshya-db Feb 5, 2026
74cd522
Add circuit breaker protection to feature flag fetching
samikshya-db Feb 5, 2026
575ca47
Fix telemetry unit tests for extensible feature flags and proto paylo…
samikshya-db Feb 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,53 @@ client
});
```

## Telemetry

The Databricks SQL Driver for Node.js includes an **opt-in telemetry system** that collects driver usage metrics and performance data to help improve the driver. Telemetry is **disabled by default** and follows a **privacy-first design**.

### Key Features

- **Privacy-first**: No SQL queries, results, or sensitive data is ever collected
- **Opt-in**: Controlled by server-side feature flag (disabled by default)
- **Non-blocking**: All telemetry operations are asynchronous and never impact your queries
- **Resilient**: Circuit breaker protection prevents telemetry failures from affecting your application

### What Data is Collected?

When enabled, the driver collects:

- ✅ Driver version and configuration settings
- ✅ Query performance metrics (latency, chunk counts, bytes downloaded)
- ✅ Error types and status codes
- ✅ Feature usage (CloudFetch, Arrow format, compression)

**Never collected**:

- ❌ SQL query text
- ❌ Query results or data values
- ❌ Table/column names or schema information
- ❌ User credentials or personal information

### Configuration

To enable or disable telemetry explicitly:

```javascript
const client = new DBSQLClient({
telemetryEnabled: true, // Enable telemetry (default: false)
});

// Or override per connection:
await client.connect({
host: '********.databricks.com',
path: '/sql/2.0/warehouses/****************',
token: 'dapi********************************',
telemetryEnabled: false, // Disable for this connection
});
```

For detailed documentation including configuration options, event types, troubleshooting, and privacy details, see [docs/TELEMETRY.md](docs/TELEMETRY.md).

## Run Tests

### Unit tests
Expand Down
Loading
Loading