diff options
author | ilnaz <ilnaz@ydb.tech> | 2023-07-06 16:31:56 +0300 |
---|---|---|
committer | ilnaz <ilnaz@ydb.tech> | 2023-07-06 16:31:56 +0300 |
commit | 936e49491234c1f6fcc5b6363f5ce47d552d802e (patch) | |
tree | bf246fd8c22a1d09e89436c2cd1da9e0e0b37aaa | |
parent | 3c97664a582dc7662c4fdf59b473f02930aa84f6 (diff) | |
download | ydb-936e49491234c1f6fcc5b6363f5ce47d552d802e.tar.gz |
Add broadcast records to viewer KIKIMR-18159
-rw-r--r-- | ydb/core/tx/datashard/change_sender_common_ops.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/ydb/core/tx/datashard/change_sender_common_ops.cpp b/ydb/core/tx/datashard/change_sender_common_ops.cpp index d2fd11f603..e894c6246f 100644 --- a/ydb/core/tx/datashard/change_sender_common_ops.cpp +++ b/ydb/core/tx/datashard/change_sender_common_ops.cpp @@ -443,6 +443,15 @@ void TBaseChangeSender::RenderHtmlPage(TEvChangeExchange::ESenderType type, NMon HTML(html) { Header(html, TStringBuilder() << type << " change sender", DataShard.TabletId); + SimplePanel(html, "Info", [this](IOutputStream& html) { + HTML(html) { + DL_CLASS("dl-horizontal") { + TermDesc(html, "MemLimit", MemLimit); + TermDesc(html, "MemUsage", MemUsage); + } + } + }); + SimplePanel(html, "Partition senders", [this](IOutputStream& html) { HTML(html) { TABLE_CLASS("table table-hover") { @@ -453,6 +462,7 @@ void TBaseChangeSender::RenderHtmlPage(TEvChangeExchange::ESenderType type, NMon TABLEH() { html << "Ready"; } TABLEH() { html << "Pending"; } TABLEH() { html << "Prepared"; } + TABLEH() { html << "Broadcasting"; } TABLEH() { html << "Actor"; } } } @@ -465,6 +475,7 @@ void TBaseChangeSender::RenderHtmlPage(TEvChangeExchange::ESenderType type, NMon TABLED() { html << sender.Ready; } TABLED() { html << sender.Pending.size(); } TABLED() { html << sender.Prepared.size(); } + TABLED() { html << sender.Broadcasting.size(); } TABLED() { ActorLink(html, DataShard.TabletId, PathId, partitionId); } } } @@ -560,6 +571,36 @@ void TBaseChangeSender::RenderHtmlPage(TEvChangeExchange::ESenderType type, NMon } } }); + + CollapsedPanel(html, "Broadcasting", "broadcasting", [this](IOutputStream& html) { + HTML(html) { + TABLE_CLASS("table table-hover") { + TABLEHEAD() { + TABLER() { + TABLEH() { html << "#"; } + TABLEH() { html << "Order"; } + TABLEH() { html << "BodySize"; } + TABLEH() { html << "Partitions"; } + TABLEH() { html << "PendingPartitions"; } + TABLEH() { html << "CompletedPartitions"; } + } + } + TABLEBODY() { + ui32 i = 0; + for (const auto& [order, broadcast] : Broadcasting) { + TABLER() { + TABLED() { html << ++i; } + TABLED() { html << order; } + TABLED() { html << broadcast.Record.BodySize; } + TABLED() { html << broadcast.Partitions.size(); } + TABLED() { html << broadcast.PendingPartitions.size(); } + TABLED() { html << broadcast.CompletedPartitions.size(); } + } + } + } + } + } + }); } ActorOps->Send(ev->Sender, new NMon::TEvRemoteHttpInfoRes(html.Str())); |