rocksdb/logging/event_logger.cc
Maysam Yabandeh 28e5a9a9fb Increase max_log_size in FlushJob to 1024 bytes (#6258)
Summary:
When measure_io_stats_ is enabled, the volume of logging is beyond the default limit of 512 size. The patch allows the EventLoggerStream to change the limit, and also sets it to 1024 for FlushJob.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6258

Differential Revision: D19279269

Pulled By: maysamyabandeh

fbshipit-source-id: 3fb5d468dad488f289ac99d713378177eb7504d6
2020-01-06 10:16:52 -08:00

72 lines
2 KiB
C++

// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
// This source code is licensed under both the GPLv2 (found in the
// COPYING file in the root directory) and Apache 2.0 License
// (found in the LICENSE.Apache file in the root directory).
#include "logging/event_logger.h"
#include <cassert>
#include <cinttypes>
#include <sstream>
#include <string>
#include "logging/logging.h"
#include "util/string_util.h"
namespace rocksdb {
EventLoggerStream::EventLoggerStream(Logger* logger)
: logger_(logger),
log_buffer_(nullptr),
max_log_size_(0),
json_writer_(nullptr) {}
EventLoggerStream::EventLoggerStream(LogBuffer* log_buffer,
const size_t max_log_size)
: logger_(nullptr),
log_buffer_(log_buffer),
max_log_size_(max_log_size),
json_writer_(nullptr) {}
EventLoggerStream::~EventLoggerStream() {
if (json_writer_) {
json_writer_->EndObject();
#ifdef ROCKSDB_PRINT_EVENTS_TO_STDOUT
printf("%s\n", json_writer_->Get().c_str());
#else
if (logger_) {
EventLogger::Log(logger_, *json_writer_);
} else if (log_buffer_) {
assert(max_log_size_);
EventLogger::LogToBuffer(log_buffer_, *json_writer_, max_log_size_);
}
#endif
delete json_writer_;
}
}
void EventLogger::Log(const JSONWriter& jwriter) {
Log(logger_, jwriter);
}
void EventLogger::Log(Logger* logger, const JSONWriter& jwriter) {
#ifdef ROCKSDB_PRINT_EVENTS_TO_STDOUT
printf("%s\n", jwriter.Get().c_str());
#else
rocksdb::Log(logger, "%s %s", Prefix(), jwriter.Get().c_str());
#endif
}
void EventLogger::LogToBuffer(LogBuffer* log_buffer, const JSONWriter& jwriter,
const size_t max_log_size) {
#ifdef ROCKSDB_PRINT_EVENTS_TO_STDOUT
printf("%s\n", jwriter.Get().c_str());
#else
assert(log_buffer);
rocksdb::LogToBuffer(log_buffer, max_log_size, "%s %s", Prefix(),
jwriter.Get().c_str());
#endif
}
} // namespace rocksdb