@Override public void onResponse(Call call, Response response) throws IOException { try (ResponseBody responseBody = response.body()) { if (response.isSuccessful()) { delegate.onComplete(); } else { delegate.onError(new IllegalStateException("response failed: " + response)); } } }
@Override public void sendSpans(List<byte[]> encodedSpans, Callback callback) { if (closeCalled) throw new IllegalStateException("closed"); try { if (get().log(encodedSpans)) { callback.onComplete(); } else { callback.onError(new IllegalStateException("try later")); } } catch (Throwable e) { callback.onError(e); if (e instanceof Error) throw (Error) e; } }
/** Asynchronously sends the spans as a POST to {@link #endpoint()}. */ @Override public void sendSpans(List<byte[]> encodedSpans, Callback callback) { if (closeCalled) throw new IllegalStateException("close"); try { byte[] message = encoder().encode(encodedSpans); send(message, mediaType()); callback.onComplete(); } catch (Throwable e) { callback.onError(e); if (e instanceof Error) throw (Error) e; } }
/** * This sends all of the spans as a single message. * * <p>NOTE: this blocks until the metadata server is available. */ @SuppressWarnings("FutureReturnValueIgnored") // callbacks are used instead @Override public void sendSpans(List encodedSpans, Callback callback) { if (closeCalled) throw new IllegalStateException("closed"); try { final byte[] message = encoder().encode(encodedSpans); get().send(new ProducerRecord<>(topic(), message), (metadata, exception) -> { if (exception == null) { callback.onComplete(); } else { callback.onError(exception); } }); } catch (Throwable e) { callback.onError(e); if (e instanceof Error) throw (Error) e; } }
/** * This sends all of the spans as a single message. * * <p>NOTE: this blocks until the metadata server is available. */ @SuppressWarnings("FutureReturnValueIgnored") // callbacks are used instead @Override public void sendSpans(List encodedSpans, Callback callback) { if (closeCalled) throw new IllegalStateException("closed"); try { final byte[] message = encoder().encode(encodedSpans); get().send(new ProducerRecord<>(topic(), message), (metadata, exception) -> { if (exception == null) { callback.onComplete(); } else { callback.onError(exception); } }); } catch (Throwable e) { callback.onError(e); if (e instanceof Error) throw (Error) e; } }