diff --git a/lib/perfdata/elasticsearchwriter.cpp b/lib/perfdata/elasticsearchwriter.cpp index 8b2aa8bda..a8409f635 100644 --- a/lib/perfdata/elasticsearchwriter.cpp +++ b/lib/perfdata/elasticsearchwriter.cpp @@ -398,6 +398,10 @@ void ElasticsearchWriter::FlushTimeout() void ElasticsearchWriter::Flush() { + /* Flush can be called from 1) Timeout 2) Threshold 3) on shutdown/reload. */ + if (m_DataBuffer.empty()) + return; + /* Ensure you hold a lock against m_DataBuffer so that things * don't go missing after creating the body and clearing the buffer. */ diff --git a/lib/perfdata/influxdbwriter.cpp b/lib/perfdata/influxdbwriter.cpp index 4a1f0b898..d732a83f2 100644 --- a/lib/perfdata/influxdbwriter.cpp +++ b/lib/perfdata/influxdbwriter.cpp @@ -421,10 +421,6 @@ void InfluxdbWriter::FlushTimeoutWQ() { AssertOnWorkQueue(); - // Flush if there are any data available - if (m_DataBuffer.empty()) - return; - Log(LogDebug, "InfluxdbWriter") << "Timer expired writing " << m_DataBuffer.size() << " data points"; @@ -433,6 +429,10 @@ void InfluxdbWriter::FlushTimeoutWQ() void InfluxdbWriter::Flush() { + /* Flush can be called from 1) Timeout 2) Threshold 3) on shutdown/reload. */ + if (m_DataBuffer.empty()) + return; + Log(LogDebug, "InfluxdbWriter") << "Flushing data buffer to InfluxDB.";