mirror of
https://github.com/zeek/zeek.git
synced 2025-10-07 17:18:20 +00:00
Bug fixes.
- The curl handle is now cleaned up correctly. - Interval values are now treated as doubles. Treating them as uint64_t was wrong because intervals can be negative. There is also no obvious benefit in elasticsearch to converting the value to milliseconds.
This commit is contained in:
parent
cd8169dda3
commit
57980c86e6
2 changed files with 3 additions and 5 deletions
|
@ -35,8 +35,7 @@ ElasticSearch::ElasticSearch(WriterFrontend* frontend) : WriterBackend(frontend)
|
||||||
last_send = current_time();
|
last_send = current_time();
|
||||||
|
|
||||||
curl_handle = HTTPSetup();
|
curl_handle = HTTPSetup();
|
||||||
curl_result = new char[1024];
|
}
|
||||||
}
|
|
||||||
|
|
||||||
ElasticSearch::~ElasticSearch()
|
ElasticSearch::~ElasticSearch()
|
||||||
{
|
{
|
||||||
|
@ -57,6 +56,7 @@ bool ElasticSearch::DoFlush()
|
||||||
bool ElasticSearch::DoFinish()
|
bool ElasticSearch::DoFinish()
|
||||||
{
|
{
|
||||||
BatchIndex();
|
BatchIndex();
|
||||||
|
curl_easy_cleanup(curl_handle);
|
||||||
return WriterBackend::DoFinish();
|
return WriterBackend::DoFinish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,10 +101,10 @@ bool ElasticSearch::AddFieldValueToBuffer(Value* val, const Field* field)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TYPE_DOUBLE:
|
case TYPE_DOUBLE:
|
||||||
|
case TYPE_INTERVAL:
|
||||||
buffer.Add(val->val.double_val);
|
buffer.Add(val->val.double_val);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TYPE_INTERVAL:
|
|
||||||
case TYPE_TIME:
|
case TYPE_TIME:
|
||||||
// ElasticSearch uses milliseconds for timestamps
|
// ElasticSearch uses milliseconds for timestamps
|
||||||
buffer.Add((uint64_t) (val->val.double_val * 1000));
|
buffer.Add((uint64_t) (val->val.double_val * 1000));
|
||||||
|
@ -275,7 +275,6 @@ bool ElasticSearch::HTTPSend()
|
||||||
{
|
{
|
||||||
CURLcode return_code;
|
CURLcode return_code;
|
||||||
|
|
||||||
curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, curl_result);
|
|
||||||
curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDS, buffer.Bytes());
|
curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDS, buffer.Bytes());
|
||||||
curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDSIZE, buffer.Len());
|
curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDSIZE, buffer.Len());
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,6 @@ private:
|
||||||
double last_send;
|
double last_send;
|
||||||
|
|
||||||
CURL* curl_handle;
|
CURL* curl_handle;
|
||||||
char* curl_result;
|
|
||||||
|
|
||||||
// From scripts
|
// From scripts
|
||||||
char* cluster_name;
|
char* cluster_name;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue