diff options
author | ilnaz <ilnaz@ydb.tech> | 2023-04-04 11:17:31 +0300 |
---|---|---|
committer | ilnaz <ilnaz@ydb.tech> | 2023-04-04 11:17:31 +0300 |
commit | ea3bc32778a248012cdd957da62448b65bdb38f6 (patch) | |
tree | c476836e97bf2488ffc03f12a55efca824e8460c | |
parent | e3a00e4e3de2b125f14846d4d913e59d2d23f92d (diff) | |
download | ydb-ea3bc32778a248012cdd957da62448b65bdb38f6.tar.gz |
Add link to target partition
4 files changed, 25 insertions, 12 deletions
diff --git a/ydb/core/tx/datashard/change_sender_async_index.cpp b/ydb/core/tx/datashard/change_sender_async_index.cpp index 34b40d876b0..cb3e36f37a5 100644 --- a/ydb/core/tx/datashard/change_sender_async_index.cpp +++ b/ydb/core/tx/datashard/change_sender_async_index.cpp @@ -205,7 +205,7 @@ class TAsyncIndexChangeSenderShard: public TActorBootstrapped<TAsyncIndexChangeS SimplePanel(html, "Info", [this](IOutputStream& html) { HTML(html) { DL_CLASS("dl-horizontal") { - TermDesc(html, "ShardId", ShardId); + TermDescLink(html, "ShardId", ShardId, TabletPath(ShardId)); TermDesc(html, "IndexTablePathId", IndexTablePathId); TermDesc(html, "LeaderPipeCache", LeaderPipeCache); TermDesc(html, "LastRecordOrder", LastRecordOrder); diff --git a/ydb/core/tx/datashard/change_sender_cdc_stream.cpp b/ydb/core/tx/datashard/change_sender_cdc_stream.cpp index 0df10c6a89e..098d26bf58d 100644 --- a/ydb/core/tx/datashard/change_sender_cdc_stream.cpp +++ b/ydb/core/tx/datashard/change_sender_cdc_stream.cpp @@ -214,7 +214,7 @@ class TCdcChangeSenderPartition: public TActorBootstrapped<TCdcChangeSenderParti HTML(html) { DL_CLASS("dl-horizontal") { TermDesc(html, "PartitionId", PartitionId); - TermDesc(html, "ShardId", ShardId); + TermDescLink(html, "ShardId", ShardId, TabletPath(ShardId)); TermDesc(html, "SourceId", SourceId); TermDesc(html, "Writer", Writer); TermDesc(html, "MaxSeqNo", MaxSeqNo); diff --git a/ydb/core/tx/datashard/change_sender_monitoring.cpp b/ydb/core/tx/datashard/change_sender_monitoring.cpp index d6d311b7aa5..3ee4bcd5c19 100644 --- a/ydb/core/tx/datashard/change_sender_monitoring.cpp +++ b/ydb/core/tx/datashard/change_sender_monitoring.cpp @@ -1,6 +1,7 @@ #include "change_sender_monitoring.h" #include <util/string/cast.h> +#include <util/string/printf.h> #include <util/string/split.h> namespace NKikimr::NDataShard { @@ -82,13 +83,8 @@ TPathId ParsePathId(TStringBuf str) { return TPathId(ownerId, localPathId); } -template <typename T> -static void Link(IOutputStream& str, const TStringBuf path, const T& title) { - HTML(str) { - HREF(path) { - str << title; - } - } +TString TabletPath(ui64 tabletId) { + return Sprintf("app?TabletID=%" PRIu64, tabletId); } void PathLink(IOutputStream& str, const TPathId& pathId) { diff --git a/ydb/core/tx/datashard/change_sender_monitoring.h b/ydb/core/tx/datashard/change_sender_monitoring.h index 14d901e2511..c650848b8de 100644 --- a/ydb/core/tx/datashard/change_sender_monitoring.h +++ b/ydb/core/tx/datashard/change_sender_monitoring.h @@ -4,11 +4,20 @@ #include <library/cpp/monlib/service/pages/templates.h> -#include <util/string/printf.h> - namespace NKikimr::NDataShard { template <typename T> +static void Link(IOutputStream& str, const TStringBuf path, const T& title) { + HTML(str) { + HREF(path) { + str << title; + } + } +} + +TString TabletPath(ui64 tabletId); + +template <typename T> void Header(IOutputStream& str, const T& title, ui64 tabletId) { HTML(str) { DIV_CLASS("page-header") { @@ -16,7 +25,7 @@ void Header(IOutputStream& str, const T& title, ui64 tabletId) { str << title; SMALL() { str << " "; - HREF(Sprintf("app?TabletID=%" PRIu64, tabletId)) { + HREF(TabletPath(tabletId)) { str << tabletId; } } @@ -33,6 +42,14 @@ static void TermDesc(IOutputStream& str, const TStringBuf term, const T& desc) { } } +template <typename T> +static void TermDescLink(IOutputStream& str, const TStringBuf term, const T& desc, const TStringBuf path) { + HTML(str) { + DT() { str << term; } + DD() { Link(str, path, desc); } + } +} + void Panel(IOutputStream& str, std::function<void(IOutputStream&)> title, std::function<void(IOutputStream&)> body); void SimplePanel(IOutputStream& str, const TStringBuf title, std::function<void(IOutputStream&)> body); void CollapsedPanel(IOutputStream& str, const TStringBuf title, const TStringBuf targetId, |