net.snowflake.client.jdbc.telemetry.Telemetry Maven / Gradle / Ivy
/*
* Copyright (c) 2012-2019 Snowflake Computing Inc. All rights reserved.
*/
package net.snowflake.client.jdbc.telemetry;
import java.util.concurrent.Future;
public interface Telemetry {
/**
* Attempt to add log to batch, and suppress exceptions thrown in case of failure
*
* @param log entry to add
*/
void addLogToBatch(TelemetryData log);
/** Close telemetry connector and send any unsubmitted logs */
void close();
/**
* Send all cached logs to server
*
* @return future indicating whether the logs were sent successfully
*/
Future sendBatchAsync();
/**
* A hook for post-processing after sending telemetry data. Can be used, for example, for
* additional error handling.
*
* @param queryId The query id
* @param sqlState The SQL state as defined in net.snowflake.common.core.SqlState
* @param vendorCode The vendor code for localized messages
* @param ex The throwable that caused this.
*/
void postProcess(String queryId, String sqlState, int vendorCode, Throwable ex);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy