aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/lwtrace/control.cpp
diff options
context:
space:
mode:
authorDaniil Cherednik <dan.cherednik@gmail.com>2023-06-15 18:24:59 +0300
committerDaniil Cherednik <dan.cherednik@gmail.com>2023-06-15 18:26:33 +0300
commit068d4453cf9fc68c875eee73f5c637bb076f6a71 (patch)
treeda3e83fdb9488ea08faa39d8b41916744f9acad7 /library/cpp/lwtrace/control.cpp
parent7e7de263d4acbc6eacf92b618bcb5f9049bccc9b (diff)
downloadydb-068d4453cf9fc68c875eee73f5c637bb076f6a71.tar.gz
Create stable-23-2 branch
x-stable-origin-commit: 3fd4d58117c143ed9e6b21813ccd9e507d2cd4d3
Diffstat (limited to 'library/cpp/lwtrace/control.cpp')
-rw-r--r--library/cpp/lwtrace/control.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/library/cpp/lwtrace/control.cpp b/library/cpp/lwtrace/control.cpp
index d9404ff269..b0d40f7063 100644
--- a/library/cpp/lwtrace/control.cpp
+++ b/library/cpp/lwtrace/control.cpp
@@ -73,11 +73,18 @@ TTraceDeserializeStatus TManager::HandleTraceResponse(
LWTRACK(DeserializationError, orbit, probe->Event.Name, probe->Event.GetProvider());
result.AddFailedEventName(v.GetName());
} else {
+ // in case of fork join probes would be like "start 0 fork 1 ....... join 10 forked 5 forked 6"
ui64 timestamp = EpochNanosecondsToCycles(v.GetTimestampNanosec());
+ if (timestamp > prev) {
+ timestamp = prev + (timestamp-prev)*timeScale + timeOffset;
+ } else {
+ timestamp += timeOffset;
+ }
+
orbit.AddProbe(
probe,
params,
- prev + (timestamp-prev)*timeScale + timeOffset);
+ timestamp);
probe->Event.Signature.DestroyParams(params);
prev = timestamp;
}