Package com.databricks.jdbc.telemetry
Class TelemetryHelper
- java.lang.Object
-
- com.databricks.jdbc.telemetry.TelemetryHelper
-
public class TelemetryHelper extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_HOST
-
Constructor Summary
Constructors Constructor Description TelemetryHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidexportFailureLog(IDatabricksConnectionContext connectionContext, String errorName, String errorMessage, TelemetryLogLevel logLevel)static voidexportFailureLog(IDatabricksConnectionContext connectionContext, String errorName, String errorMessage, String statementId, Long chunkIndex, TelemetryLogLevel logLevel)static voidexportTelemetryLog(StatementTelemetryDetails telemetryDetails, TelemetryLogLevel logLevel)static com.databricks.sdk.core.DatabricksConfiggetDatabricksConfigSafely(IDatabricksConnectionContext context)static DriverSystemConfigurationgetDriverSystemConfiguration()static StringgetStatementIdString(StatementId statementId)static booleanisTelemetryAllowedForConnection(IDatabricksConnectionContext context)static StringkeyOf(IDatabricksConnectionContext context)static OperationTypemapMethodToOperationType(String methodName)static voidrecordChunkDownloadLatency(IDatabricksConnectionContext connectionContext, String statementId, long chunkIndex, long latencyMillis)Records chunk download latency.static voidrecordGetOperationStatus(IDatabricksConnectionContext connectionContext, String statementId, long latencyMillis)Records get operation status latency.static voidrecordResultSetIteration(IDatabricksConnectionContext connectionContext, String statementId, long chunkCount, boolean hasNext)Records a result set iteration.static voidrecordResultSetIteration(IDatabricksStatementInternal parentStatement, StatementId statementId, Long chunkCount, boolean hasNext)Records a result set iteration from a parent statement.static voidrecordTotalChunks(IDatabricksConnectionContext connectionContext, StatementId statementId, long chunkCount)Records the total chunks for a statement.static voidremoveConnectionParameters(String connectionUuid)Removes cached connection parameters for the given connection UUID.static voidsetResultFormat(IDatabricksConnectionContext connectionContext, IDatabricksStatementInternal parentStatement, TSparkRowSetType format)Sets the result format for a statement (Thrift API).static voidsetResultFormat(IDatabricksConnectionContext connectionContext, StatementId statementId, com.databricks.sdk.service.sql.Format format)Sets the result format for a statement (SQL Execution API).static voidupdateTelemetryAppName(IDatabricksConnectionContext connectionContext, String clientInfoAppName)Sets/updates client app name in telemetry
-
-
-
Field Detail
-
DEFAULT_HOST
public static final String DEFAULT_HOST
- See Also:
- Constant Field Values
-
-
Method Detail
-
getDriverSystemConfiguration
public static DriverSystemConfiguration getDriverSystemConfiguration()
-
isTelemetryAllowedForConnection
public static boolean isTelemetryAllowedForConnection(IDatabricksConnectionContext context)
-
exportTelemetryLog
public static void exportTelemetryLog(StatementTelemetryDetails telemetryDetails, TelemetryLogLevel logLevel)
-
exportFailureLog
public static void exportFailureLog(IDatabricksConnectionContext connectionContext, String errorName, String errorMessage, TelemetryLogLevel logLevel)
-
exportFailureLog
public static void exportFailureLog(IDatabricksConnectionContext connectionContext, String errorName, String errorMessage, String statementId, Long chunkIndex, TelemetryLogLevel logLevel)
-
getStatementIdString
public static String getStatementIdString(StatementId statementId)
-
getDatabricksConfigSafely
public static com.databricks.sdk.core.DatabricksConfig getDatabricksConfigSafely(IDatabricksConnectionContext context)
-
mapMethodToOperationType
public static OperationType mapMethodToOperationType(String methodName)
-
updateTelemetryAppName
public static void updateTelemetryAppName(IDatabricksConnectionContext connectionContext, String clientInfoAppName)
Sets/updates client app name in telemetry- Parameters:
connectionContext- The connection contextclientInfoAppName- The application name from client info properties, can be null
-
keyOf
public static String keyOf(IDatabricksConnectionContext context)
-
removeConnectionParameters
public static void removeConnectionParameters(String connectionUuid)
Removes cached connection parameters for the given connection UUID. Should be called when a connection is closed to prevent memory leaks.- Parameters:
connectionUuid- The connection UUID whose cached parameters should be removed
-
recordTotalChunks
public static void recordTotalChunks(IDatabricksConnectionContext connectionContext, StatementId statementId, long chunkCount)
Records the total chunks for a statement. Silently ignores errors.- Parameters:
connectionContext- The connection contextstatementId- The statement IDchunkCount- The total number of chunks
-
setResultFormat
public static void setResultFormat(IDatabricksConnectionContext connectionContext, StatementId statementId, com.databricks.sdk.service.sql.Format format)
Sets the result format for a statement (SQL Execution API). Silently ignores errors.- Parameters:
connectionContext- The connection contextstatementId- The statement IDformat- The result format
-
setResultFormat
public static void setResultFormat(IDatabricksConnectionContext connectionContext, IDatabricksStatementInternal parentStatement, TSparkRowSetType format)
Sets the result format for a statement (Thrift API). Silently ignores errors.- Parameters:
connectionContext- The connection contextparentStatement- The parent statementformat- The result format
-
recordResultSetIteration
public static void recordResultSetIteration(IDatabricksConnectionContext connectionContext, String statementId, long chunkCount, boolean hasNext)
Records a result set iteration. Silently ignores errors.- Parameters:
connectionContext- The connection contextstatementId- The statement IDchunkCount- The total number of chunkshasNext- Whether there are more rows
-
recordResultSetIteration
public static void recordResultSetIteration(IDatabricksStatementInternal parentStatement, StatementId statementId, Long chunkCount, boolean hasNext)
Records a result set iteration from a parent statement. Extracts connection context safely and silently ignores all errors.- Parameters:
parentStatement- The parent statement (can be null)statementId- The statement IDchunkCount- The total number of chunks (can be null)hasNext- Whether there are more rows
-
recordGetOperationStatus
public static void recordGetOperationStatus(IDatabricksConnectionContext connectionContext, String statementId, long latencyMillis)
Records get operation status latency. Silently ignores errors.- Parameters:
connectionContext- The connection contextstatementId- The statement IDlatencyMillis- The operation latency in milliseconds
-
recordChunkDownloadLatency
public static void recordChunkDownloadLatency(IDatabricksConnectionContext connectionContext, String statementId, long chunkIndex, long latencyMillis)
Records chunk download latency. Silently ignores errors.- Parameters:
connectionContext- The connection contextstatementId- The statement IDchunkIndex- The chunk indexlatencyMillis- The download latency in milliseconds
-
-