net.snowflake.client.jdbc.telemetry

## Interface Telemetry

All Known Implementing Classes:
  NoOpTelemetryClient, TelemetryClient

    public interface Telemetry

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addLogToBatch(TelemetryData log)` Attempt to add log to batch, and suppress exceptions thrown in case of failure
`void` `close()` Close telemetry connector and send any unsubmitted logs
`void` `postProcess(String queryId, String sqlState, int vendorCode, Throwable ex)` A hook for post-processing after sending telemetry data.
`Future<Boolean>` `sendBatchAsync()` Send all cached logs to server

### Method Detail

#### addLogToBatch

    void addLogToBatch(TelemetryData log)

Attempt to add log to batch, and suppress exceptions thrown in case of failure

Parameters:
  `log` - entry to add

#### close

    void close()

Close telemetry connector and send any unsubmitted logs

#### sendBatchAsync

    Future<Boolean> sendBatchAsync()

Send all cached logs to server

Returns:
  future indicating whether the logs were sent successfully

#### postProcess

    void postProcess(String queryId,
                     String sqlState,
                     int vendorCode,
                     Throwable ex)

A hook for post-processing after sending telemetry data. Can be used, for example, for additional error handling.

Parameters:
  `queryId` - The query id
  `sqlState` - The SQL state as defined in net.snowflake.common.core.SqlState
  `vendorCode` - The vendor code for localized messages
  `ex` - The throwable that caused this.