@@ -100,14 +100,18 @@ void TestOneWrite(TString value, TVector<TString> &&expectedTraceVariants) {
100
100
env.DoKVRequest (CreateWrite (" key" , std::move (value)));
101
101
102
102
UNIT_ASSERT (env.WilsonUploader ->BuildTraceTrees ());
103
- UNIT_ASSERT_VALUES_EQUAL (env.WilsonUploader ->Traces .size (), 1 );
104
- auto & trace = env.WilsonUploader ->Traces .begin ()->second ;
103
+ // we expect one trace from DSProxy and one from KV-tablet
104
+ UNIT_ASSERT_VALUES_EQUAL (env.WilsonUploader ->Traces .size (), 2 );
105
+
106
+ bool oneIsGood = std::any_of (env.WilsonUploader ->Traces .begin (), env.WilsonUploader ->Traces .end (),
107
+ [&](const auto & v) {
108
+ const auto & [_, trace] = v;
109
+ return std::any_of (expectedTraceVariants.begin (), expectedTraceVariants.end (),
110
+ [&](const TString& var) { return var == trace.ToString (); });
111
+ }
112
+ );
105
113
106
- bool found = false ;
107
- for (const TString &expectedTrace : expectedTraceVariants) {
108
- found |= trace.ToString () == expectedTrace;
109
- }
110
- UNIT_ASSERT_C (found, trace.ToString ());
114
+ UNIT_ASSERT (oneIsGood);
111
115
}
112
116
113
117
void TestOneRead (TString value, TString expectedTrace) {
@@ -121,10 +125,16 @@ void TestOneRead(TString value, TString expectedTrace) {
121
125
UNIT_ASSERT_EQUAL (response.value (), value);
122
126
123
127
UNIT_ASSERT (env.WilsonUploader ->BuildTraceTrees ());
124
- UNIT_ASSERT_EQUAL (env. WilsonUploader -> Traces . size (), 1 );
125
- auto & trace = env.WilsonUploader ->Traces .begin ()-> second ;
128
+ // we expect one trace from DSProxy and one from KV-tablet
129
+ UNIT_ASSERT_VALUES_EQUAL ( env.WilsonUploader ->Traces .size (), 2 ) ;
126
130
127
- UNIT_ASSERT_EQUAL (trace.ToString (), expectedTrace);
131
+ bool oneIsGood = std::any_of (env.WilsonUploader ->Traces .begin (), env.WilsonUploader ->Traces .end (),
132
+ [&](const auto & v) {
133
+ const auto & [_, trace] = v;
134
+ return trace.ToString () == expectedTrace;
135
+ }
136
+ );
137
+ UNIT_ASSERT (oneIsGood);
128
138
}
129
139
130
140
Y_UNIT_TEST_SUITE (TKeyValueTracingTest) {
@@ -146,6 +156,7 @@ TVector<std::string> PDiskLogWriteVariants = {
146
156
" (PDisk.LogWrite -> "
147
157
" [(PDisk.InScheduler) , (PDisk.InBlockDevice)]"
148
158
" )" ,
159
+ " (PDisk.LogWrite)" ,
149
160
};
150
161
151
162
TVector<std::string> TabletWriteLogTempaltes = {
@@ -224,14 +235,10 @@ Y_UNIT_TEST(WriteSmall) {
224
235
TVector<TString> canons = MakeCanons (
225
236
" (KeyValue.Intermediate -> "
226
237
" [(KeyValue.StorageRequest -> "
227
- " [(DSProxy.Put -> "
228
- " [(Backpressure.InFlight -> "
229
- " [(VDisk.Log.Put)]"
230
- " )]"
231
- " )]"
238
+ " [(DSProxy.Put)]"
232
239
" ) , "
233
240
" (Tablet.Transaction -> "
234
- " [(Tablet.Transaction.Execute) , {TABLET_LOG_WRITE}]"
241
+ " [(Tablet.Transaction.Execute) , {TABLET_LOG_WRITE} , (Tablet.Transaction.Complete) ]"
235
242
" )]"
236
243
" )"
237
244
);
@@ -242,34 +249,23 @@ Y_UNIT_TEST(WriteHuge) {
242
249
TVector<TString> canons = MakeCanons (
243
250
" (KeyValue.Intermediate -> "
244
251
" [(KeyValue.StorageRequest -> "
245
- " [(DSProxy.Put -> "
246
- " [(Backpressure.InFlight -> "
247
- " [(VDisk.HullHugeBlobChunkAllocator) , "
248
- " (VDisk.HullHugeKeeper.InWaitQueue -> "
249
- " [(VDisk.HugeBlobKeeper.Write -> "
250
- " [(VDisk.Log.PutHuge)]"
251
- " )]"
252
- " )]"
253
- " )]"
254
- " )]"
252
+ " [(DSProxy.Put)]"
255
253
" ) , "
256
254
" (Tablet.Transaction -> "
257
- " [(Tablet.Transaction.Execute) , {TABLET_LOG_WRITE}]"
255
+ " [(Tablet.Transaction.Execute) , {TABLET_LOG_WRITE} , (Tablet.Transaction.Complete) ]"
258
256
" )]"
259
257
" )"
260
258
);
261
259
TestOneWrite (HugeValue, std::move (canons));
262
260
}
263
261
264
262
Y_UNIT_TEST (ReadSmall) {
265
- TString canon = " (KeyValue.Intermediate -> [(KeyValue.StorageReadRequest -> [(DSProxy.Get -> [(Backpressure.InFlight -> "
266
- " [(VDisk.LevelIndexExtremeQueryViaBatcherMergeData)])])])])" ;
263
+ TString canon = " (KeyValue.Intermediate -> [(KeyValue.StorageReadRequest -> [(DSProxy.Get)])])" ;
267
264
TestOneRead (SmallValue, std::move (canon));
268
265
}
269
266
270
267
Y_UNIT_TEST (ReadHuge) {
271
- TString canon = " (KeyValue.Intermediate -> [(KeyValue.StorageReadRequest -> [(DSProxy.Get -> [(Backpressure.InFlight -> "
272
- " [(VDisk.LevelIndexExtremeQueryViaBatcherMergeData -> [(VDisk.Query.ReadBatcher)])])])])])" ;
268
+ TString canon = " (KeyValue.Intermediate -> [(KeyValue.StorageReadRequest -> [(DSProxy.Get)])])" ;
273
269
TestOneRead (HugeValue, std::move (canon));
274
270
}
275
271
0 commit comments