[enhancement](bvar) add metrics to monitor load throughput (#25189)

to monitor realtime load throughput of the BE

Signed-off-by: freemandealer <freeman.zhang1992@gmail.com>
This commit is contained in:
zhengyu
2023-10-11 19:56:33 +08:00
committed by GitHub
parent f960b8c989
commit e94fca4949

View File

@ -92,12 +92,18 @@
#include "vec/exprs/vexpr.h"
#include "vec/sink/vtablet_block_convertor.h"
#include "vec/sink/vtablet_finder.h"
#include "bvar/bvar.h"
namespace doris {
class TExpr;
namespace vectorized {
bvar::Adder<int64_t> g_sink_write_bytes;
bvar::PerSecond<bvar::Adder<int64_t>> g_sink_write_bytes_per_second("sink_throughput_byte", &g_sink_write_bytes, 60);
bvar::Adder<int64_t> g_sink_write_rows;
bvar::PerSecond<bvar::Adder<int64_t>> g_sink_write_rows_per_second("sink_throughput_row", &g_sink_write_rows, 60);
Status IndexChannel::init(RuntimeState* state, const std::vector<TTabletWithPartition>& tablets) {
SCOPED_CONSUME_MEM_TRACKER(_index_channel_tracker.get());
for (auto& tablet : tablets) {
@ -1822,6 +1828,9 @@ Status VTabletWriter::append_block(doris::vectorized::Block& input_block) {
for (const auto& index_channel : _channels) {
RETURN_IF_ERROR(index_channel->check_intolerable_failure());
}
g_sink_write_bytes << bytes;
g_sink_write_rows << rows;
return Status::OK();
}