PyroscopeAgent expects
Exporter.export(Snapshot) method to be synchronous to profiling schedule, and should return as fast as
possible.
See QueuedExporter for an asynchronous implementation example.
Here is an example of an alternative to
PyroscopeExporter
class KafkaExporter implements Exporter {
final KafkaProducer<String, String> kafkaProducer;
private MyExporter(KafkaProducer<String, String> producer) {
this.kafkaProducer = producer;
}
@Override
public void export(Snapshot snapshot) {
kafkaProducer.send(new ProducerRecord<>("test.app.jfr", gson.toJson(snapshot)));
}
}