aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorasorotsky <asorotsky@yandex-team.com>2023-05-24 14:42:28 +0300
committerasorotsky <asorotsky@yandex-team.com>2023-05-24 14:42:28 +0300
commit664ed7d3e32cb7b72950a29d1c7c38ce1898e7fb (patch)
tree5cf2ed543fed8f05ea957396b17428c26fd526f4
parentdefaf82593c9e4beeebfb1965c2d1171680449e2 (diff)
downloadydb-664ed7d3e32cb7b72950a29d1c7c38ce1898e7fb.tar.gz
add proper ut for handling remote traces; update owners;
-rw-r--r--library/cpp/lwtrace/trace_ut.cpp46
1 files changed, 39 insertions, 7 deletions
diff --git a/library/cpp/lwtrace/trace_ut.cpp b/library/cpp/lwtrace/trace_ut.cpp
index afb2f4e53f..9a29923e28 100644
--- a/library/cpp/lwtrace/trace_ut.cpp
+++ b/library/cpp/lwtrace/trace_ut.cpp
@@ -717,27 +717,59 @@ Y_UNIT_TEST_SUITE(LWTraceTrace) {
TManager manager(*Singleton<TProbeRegistry>(), false);
TOrbit orbit;
+ TOrbit child;
+
TTraceRequest req;
req.SetIsTraced(true);
- manager.HandleTraceRequest(req, orbit);
+ bool traced = manager.HandleTraceRequest(req, orbit);
+ UNIT_ASSERT(traced);
LWTRACK(NoParam, orbit);
+
+ orbit.Fork(child);
+
LWTRACK(IntParam, orbit, 1);
- LWTRACK(StringParam, orbit, "str");
+ LWTRACK(IntParam, child, 2);
+
+ LWTRACK(StringParam, orbit, "str1");
+ LWTRACK(StringParam, child, "str2");
+
LWTRACK(EnumParams, orbit, ValueA, EEnumClass::ValueC);
LWTRACK(InstantParam, orbit, TInstant::Seconds(42));
LWTRACK(DurationParam, orbit, TDuration::MilliSeconds(146));
LWTRACK(ProtoEnum, orbit, OT_EQ);
LWTRACK(IntIntParams, orbit, 1, 2);
- TTraceResponse resp;
- auto& r = *resp.MutableTrace();
- orbit.Serialize(0, r);
+ orbit.Join(child);
+
+ TTraceResponse resp1;
+ auto& r1 = *resp1.MutableTrace();
+ orbit.Serialize(0, r1);
+
+ UNIT_ASSERT_VALUES_EQUAL(r1.EventsSize(), 12);
+
+ TOrbit other;
+ traced = manager.HandleTraceRequest(req, other);
+ UNIT_ASSERT(traced);
- TOrbit orbit1;
UNIT_ASSERT_VALUES_EQUAL(
- manager.HandleTraceResponse(resp, manager.GetProbesMap(), orbit1).IsSuccess,
+ manager.HandleTraceResponse(resp1, manager.GetProbesMap(), other).IsSuccess,
true);
+
+ TTraceResponse resp2;
+ auto& r2 = *resp2.MutableTrace();
+ other.Serialize(0, r2);
+ UNIT_ASSERT_VALUES_EQUAL(r2.EventsSize(), 12);
+
+ TString proto1;
+ bool parsed = NProtoBuf::TextFormat::PrintToString(resp1, &proto1);
+ UNIT_ASSERT(parsed);
+
+ TString proto2;
+ parsed = NProtoBuf::TextFormat::PrintToString(resp2, &proto2);
+ UNIT_ASSERT(parsed);
+
+ UNIT_ASSERT_VALUES_EQUAL(proto1, proto2);
}
Y_UNIT_TEST(TrackForkJoin) {