Package com.databricks.jdbc.telemetry
Class TelemetryClientFactory
- java.lang.Object
-
- com.databricks.jdbc.telemetry.TelemetryClientFactory
-
public class TelemetryClientFactory extends Object
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseTelemetryClient(IDatabricksConnectionContext connectionContext)Closes telemetry client for a connection.static TelemetryClientFactorygetInstance()ScheduledExecutorServicegetSharedSchedulerService()ITelemetryClientgetTelemetryClient(IDatabricksConnectionContext connectionContext)ExecutorServicegetTelemetryExecutorService()voidreset()
-
-
-
Method Detail
-
getInstance
public static TelemetryClientFactory getInstance()
-
getTelemetryClient
public ITelemetryClient getTelemetryClient(IDatabricksConnectionContext connectionContext)
-
closeTelemetryClient
public void closeTelemetryClient(IDatabricksConnectionContext connectionContext)
Closes telemetry client for a connection. Thread-safe: computeIfPresent ensures atomic locking, preventing race conditions between connection removal and addition.The connection UUID is removed from the open set FIRST to prevent getTelemetryClient() from re-creating a TelemetryClient during or after the close sequence. Pending TelemetryCollector events are exported BEFORE the TelemetryClient is closed (inside try-finally), so they are flushed through the existing client. See GitHub issue #1325.
-
getTelemetryExecutorService
public ExecutorService getTelemetryExecutorService()
-
getSharedSchedulerService
public ScheduledExecutorService getSharedSchedulerService()
-
reset
public void reset()
-
-