aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorilnaz <ilnaz@ydb.tech>2023-07-06 16:31:56 +0300
committerilnaz <ilnaz@ydb.tech>2023-07-06 16:31:56 +0300
commit936e49491234c1f6fcc5b6363f5ce47d552d802e (patch)
treebf246fd8c22a1d09e89436c2cd1da9e0e0b37aaa
parent3c97664a582dc7662c4fdf59b473f02930aa84f6 (diff)
downloadydb-936e49491234c1f6fcc5b6363f5ce47d552d802e.tar.gz
Add broadcast records to viewer KIKIMR-18159
-rw-r--r--ydb/core/tx/datashard/change_sender_common_ops.cpp41
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()));