Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ public CompletableResultCode flush() {
try {
handler.flush();
} catch (Throwable t) {
resultCode.fail();
Comment thread
ADITYA-CODE-SOURCE marked this conversation as resolved.
return resultCode.fail();
}
}
return resultCode.succeed();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,16 +89,39 @@ void export() {
@Test
void flush() {
AtomicBoolean flushed = new AtomicBoolean(false);
Logger.getLogger(LoggingMetricExporter.class.getName())
.addHandler(
new StreamHandler(new PrintStream(new ByteArrayOutputStream()), new SimpleFormatter()) {
@Override
public synchronized void flush() {
flushed.set(true);
}
});
exporter.flush();
assertThat(flushed.get()).isTrue();
Logger logger = Logger.getLogger(LoggingMetricExporter.class.getName());
StreamHandler handler =
new StreamHandler(new PrintStream(new ByteArrayOutputStream()), new SimpleFormatter()) {
@Override
public synchronized void flush() {
flushed.set(true);
}
};
logger.addHandler(handler);
try {
exporter.flush();
assertThat(flushed.get()).isTrue();
} finally {
logger.removeHandler(handler);
}
}

@Test
void flushFailure() {
Logger logger = Logger.getLogger(LoggingMetricExporter.class.getName());
StreamHandler failingHandler =
new StreamHandler(new PrintStream(new ByteArrayOutputStream()), new SimpleFormatter()) {
@Override
public synchronized void flush() {
throw new RuntimeException("Flush failed");
}
};
logger.addHandler(failingHandler);
try {
assertThat(exporter.flush().isSuccess()).isFalse();
} finally {
logger.removeHandler(failingHandler);
}
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,16 +127,39 @@ void export() {
@Test
void flush() {
AtomicBoolean flushed = new AtomicBoolean(false);
Logger.getLogger(LoggingSpanExporter.class.getName())
.addHandler(
new StreamHandler(new PrintStream(new ByteArrayOutputStream()), new SimpleFormatter()) {
@Override
public synchronized void flush() {
flushed.set(true);
}
});
exporter.flush();
assertThat(flushed.get()).isTrue();
Logger logger = Logger.getLogger(LoggingSpanExporter.class.getName());
StreamHandler handler =
new StreamHandler(new PrintStream(new ByteArrayOutputStream()), new SimpleFormatter()) {
@Override
public synchronized void flush() {
flushed.set(true);
}
};
logger.addHandler(handler);
try {
exporter.flush();
assertThat(flushed.get()).isTrue();
} finally {
logger.removeHandler(handler);
}
}

@Test
void flushFailure() {
Logger logger = Logger.getLogger(LoggingSpanExporter.class.getName());
StreamHandler failingHandler =
new StreamHandler(new PrintStream(new ByteArrayOutputStream()), new SimpleFormatter()) {
@Override
public synchronized void flush() {
throw new RuntimeException("Flush failed");
}
};
logger.addHandler(failingHandler);
try {
assertThat(exporter.flush().isSuccess()).isFalse();
} finally {
logger.removeHandler(failingHandler);
}
}

@Test
Expand Down
Loading