@@ -44,13 +44,37 @@ bool operator<(const TPDiskCategory x, const TPDiskCategory y) {
4444 return std::make_tuple (x.Type (), x.Kind ()) < std::make_tuple (y.Type (), y.Kind ());
4545}
4646
47+ void TEvBlobStorage::TEvPut::ToSpan (NWilson::TSpan& span) const {
48+ span
49+ .Attribute (" Id" , Id.ToString ())
50+ .Attribute (" PutHandleClass" , NKikimrBlobStorage::EPutHandleClass_Name (HandleClass));
51+ }
52+
4753std::unique_ptr<TEvBlobStorage::TEvPutResult> TEvBlobStorage::TEvPut::MakeErrorResponse (
4854 NKikimrProto::EReplyStatus status, const TString& errorReason, TGroupId groupId) {
4955 auto res = std::make_unique<TEvPutResult>(status, Id, TStorageStatusFlags (), groupId, 0 .0f );
5056 res->ErrorReason = errorReason;
5157 return res;
5258}
5359
60+ void TEvBlobStorage::TEvGet::ToSpan (NWilson::TSpan& span) const {
61+ NWilson::TArrayValue queries;
62+ queries.reserve (QuerySize);
63+ for (ui32 i = 0 ; i < QuerySize; ++i) {
64+ const auto & q = Queries[i];
65+ queries.emplace_back (NWilson::TKeyValueList{{
66+ {" Id" , q.Id .ToString ()},
67+ {" Shift" , q.Shift },
68+ {" Size" , q.Size },
69+ }});
70+ }
71+ span
72+ .Attribute (" Queries" , std::move (queries))
73+ .Attribute (" GetHandleClass" , NKikimrBlobStorage::EGetHandleClass_Name (GetHandleClass))
74+ .Attribute (" MustRestoreFirst" , MustRestoreFirst)
75+ .Attribute (" IsIndexOnly" , IsIndexOnly);
76+ }
77+
5478std::unique_ptr<TEvBlobStorage::TEvGetResult> TEvBlobStorage::TEvGet::MakeErrorResponse (
5579 NKikimrProto::EReplyStatus status, const TString& errorReason, TGroupId groupId) {
5680 auto res = std::make_unique<TEvGetResult>(status, QuerySize, groupId);
@@ -67,55 +91,119 @@ std::unique_ptr<TEvBlobStorage::TEvGetResult> TEvBlobStorage::TEvGet::MakeErrorR
6791 return res;
6892}
6993
94+ void TEvBlobStorage::TEvBlock::ToSpan (NWilson::TSpan& span) const {
95+ span
96+ .Attribute (" TabletId" , ::ToString (TabletId))
97+ .Attribute (" Generation" , Generation);
98+ }
99+
70100std::unique_ptr<TEvBlobStorage::TEvBlockResult> TEvBlobStorage::TEvBlock::MakeErrorResponse (
71101 NKikimrProto::EReplyStatus status, const TString& errorReason, TGroupId /* groupId*/ ) {
72102 auto res = std::make_unique<TEvBlockResult>(status);
73103 res->ErrorReason = errorReason;
74104 return res;
75105}
76106
107+ void TEvBlobStorage::TEvPatch::ToSpan (NWilson::TSpan& span) const {
108+ span
109+ .Attribute (" OriginalGroupId" , OriginalGroupId)
110+ .Attribute (" OriginalId" , OriginalId.ToString ())
111+ .Attribute (" PatchedId" , PatchedId.ToString ());
112+ }
113+
77114std::unique_ptr<TEvBlobStorage::TEvPatchResult> TEvBlobStorage::TEvPatch::MakeErrorResponse (
78115 NKikimrProto::EReplyStatus status, const TString& errorReason, TGroupId groupId) {
79116 auto res = std::make_unique<TEvPatchResult>(status, PatchedId, TStorageStatusFlags (), groupId, 0 .0f );
80117 res->ErrorReason = errorReason;
81118 return res;
82119}
83120
121+ void TEvBlobStorage::TEvInplacePatch::ToSpan (NWilson::TSpan& /* span*/ ) const {
122+ }
123+
84124std::unique_ptr<TEvBlobStorage::TEvInplacePatchResult> TEvBlobStorage::TEvInplacePatch::MakeErrorResponse (
85125 NKikimrProto::EReplyStatus status, const TString& errorReason) {
86126 auto res = std::make_unique<TEvInplacePatchResult>(status, PatchedId, TStorageStatusFlags (), 0 .0f );
87127 res->ErrorReason = errorReason;
88128 return res;
89129}
90130
131+ void TEvBlobStorage::TEvDiscover::ToSpan (NWilson::TSpan& span) const {
132+ span
133+ .Attribute (" TabletId" , ::ToString (TabletId))
134+ .Attribute (" ReadBody" , ReadBody);
135+ }
136+
91137std::unique_ptr<TEvBlobStorage::TEvDiscoverResult> TEvBlobStorage::TEvDiscover::MakeErrorResponse (
92138 NKikimrProto::EReplyStatus status, const TString& errorReason, TGroupId/* groupId*/ ) {
93139 auto res = std::make_unique<TEvDiscoverResult>(status, MinGeneration, 0 );
94140 res->ErrorReason = errorReason;
95141 return res;
96142}
97143
144+ void TEvBlobStorage::TEvRange::ToSpan (NWilson::TSpan& span) const {
145+ span
146+ .Attribute (" TabletId" , ::ToString (TabletId))
147+ .Attribute (" From" , From.ToString ())
148+ .Attribute (" To" , To.ToString ())
149+ .Attribute (" MustRestoreFirst" , MustRestoreFirst)
150+ .Attribute (" IsIndexOnly" , IsIndexOnly);
151+ }
152+
98153std::unique_ptr<TEvBlobStorage::TEvRangeResult> TEvBlobStorage::TEvRange::MakeErrorResponse (
99154 NKikimrProto::EReplyStatus status, const TString& errorReason, TGroupId groupId) {
100155 auto res = std::make_unique<TEvRangeResult>(status, From, To, groupId);
101156 res->ErrorReason = errorReason;
102157 return res;
103158}
104159
160+ void TEvBlobStorage::TEvCollectGarbage::ToSpan (NWilson::TSpan& span) const {
161+ span
162+ .Attribute (" TabletId" , ::ToString (TabletId))
163+ .Attribute (" RecordGeneration" , RecordGeneration)
164+ .Attribute (" PerGenerationCounter" , PerGenerationCounter)
165+ .Attribute (" Channel" , Channel);
166+
167+ if (Collect) {
168+ span
169+ .Attribute (" CollectGeneration" , CollectGeneration)
170+ .Attribute (" CollectStep" , CollectStep);
171+ }
172+
173+ auto vector = [&](const auto & name, const auto & v) {
174+ if (v) {
175+ NWilson::TArrayValue items;
176+ items.reserve (v->size ());
177+ for (const TLogoBlobID& id : *v) {
178+ items.emplace_back (id.ToString ());
179+ }
180+ span.Attribute (name, std::move (items));
181+ }
182+ };
183+ vector (" Keep" , Keep);
184+ vector (" DoNotKeep" , DoNotKeep);
185+ }
186+
105187std::unique_ptr<TEvBlobStorage::TEvCollectGarbageResult> TEvBlobStorage::TEvCollectGarbage::MakeErrorResponse (
106188 NKikimrProto::EReplyStatus status, const TString& errorReason, TGroupId /* groupId*/ ) {
107189 auto res = std::make_unique<TEvCollectGarbageResult>(status, TabletId, RecordGeneration, PerGenerationCounter, Channel);
108190 res->ErrorReason = errorReason;
109191 return res;
110192}
111193
194+ void TEvBlobStorage::TEvStatus::ToSpan (NWilson::TSpan& /* span*/ ) const
195+ {}
196+
112197std::unique_ptr<TEvBlobStorage::TEvStatusResult> TEvBlobStorage::TEvStatus::MakeErrorResponse (
113198 NKikimrProto::EReplyStatus status, const TString& errorReason, TGroupId /* groupId*/ ) {
114199 auto res = std::make_unique<TEvStatusResult>(status, TStorageStatusFlags ());
115200 res->ErrorReason = errorReason;
116201 return res;
117202}
118203
204+ void TEvBlobStorage::TEvAssimilate::ToSpan (NWilson::TSpan& /* span*/ ) const
205+ {}
206+
119207std::unique_ptr<TEvBlobStorage::TEvAssimilateResult> TEvBlobStorage::TEvAssimilate::MakeErrorResponse (
120208 NKikimrProto::EReplyStatus status, const TString& errorReason, TGroupId/* groupId*/ ) {
121209 return std::make_unique<TEvBlobStorage::TEvAssimilateResult>(status, errorReason);
0 commit comments