/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
contrib/ydb/core/base/traceid.cpp
69 строк
2 KB
Kirill Pleshivtsev
Update ydb to stable-24-1 (#1366)
13 июн 2024, 15:41
Не верифицирован
13 июн 2024, 15:41
f5e0a15
Код
Авторство
О чём код?
#include "traceid.h" #include <util/random/random.h> #include <util/stream/str.h> namespace NKikimr { namespace NTracing { TTraceID::TTraceID() : CreationTime(0) , RandomID(0) {} TTraceID::TTraceID(ui64 randomId, ui64 creationTime) : CreationTime(creationTime) , RandomID(randomId) {} TTraceID TTraceID::GenerateNew() { return TTraceID(RandomNumber<ui64>(), TInstant::Now().MicroSeconds()); } TString TTraceID::ToString() const { TString str; str.reserve(128); TStringOutput outStr(str); Out(outStr); return str; } void TTraceID::Out(IOutputStream &o) const { o << "[ID: " << RandomID << ", " << "Created: " << TInstant::MicroSeconds(CreationTime).ToRfc822StringLocal() << "]"; } bool TTraceID::operator<(const TTraceID &x) const { return CreationTime != x.CreationTime ? CreationTime < x.CreationTime : RandomID < x.RandomID; } bool TTraceID::operator>(const TTraceID &x) const { return (x < *this); } bool TTraceID::operator<=(const TTraceID &x) const { return CreationTime != x.CreationTime ? CreationTime < x.CreationTime : RandomID <= x.RandomID; } bool TTraceID::operator>=(const TTraceID &x) const { return (x <= *this); } bool TTraceID::operator==(const TTraceID &x) const { return CreationTime == x.CreationTime && RandomID == x.RandomID; } bool TTraceID::operator!=(const TTraceID &x) const { return CreationTime != x.CreationTime || RandomID != x.RandomID; } void TraceIDFromTraceID(const TTraceID& src, NKikimrTracing::TTraceID* dest) { Y_DEBUG_ABORT_UNLESS(dest); dest->SetCreationTime(src.CreationTime); dest->SetRandomID(src.RandomID); } TTraceID TraceIDFromTraceID(const NKikimrTracing::TTraceID &proto) { return TTraceID(proto.GetRandomID(), proto.GetCreationTime()); } } }