summaryrefslogtreecommitdiffstats
path: root/library/cpp/threading/thread_local/generic.cpp
diff options
context:
space:
mode:
authorsnaury <[email protected]>2025-11-26 10:25:09 +0300
committersnaury <[email protected]>2025-11-26 11:47:12 +0300
commit11e71471c53a5a834d5386bcd803c0cc4950e8f6 (patch)
treedc4753cb37676fd7186648622b044d2a9293f650 /library/cpp/threading/thread_local/generic.cpp
parent9a663983839c1f88c851e0dc2579e3348c49e2c1 (diff)
Allow FindSubgroup in dynamic counters to find unknown values
YDB использует динамическое дерево счётчиков с множеством опциональных лейблов после идентификатора сервиса, которые могут появляться и меняться. Сервисы при регистрации пытаются найти в каком узле дерева регистрировать счётчики пропуская эти опциональные лейблы, если они уже существуют. Исторически такой пропуск работает через `EnumerateSubgroups`, однако обнаружилось, что если сразу после опциональных лейблов дерево очень сильно ветвится (например по номерам групп в dsproxy), то при регистрации большого кол-ва счётчиков по группам эта регистрация становится квадратичной от количества групп. Хочется добавить новый метод `FindSubgroup(TString)` чтобы искать пропускаемые лейблы за `O(log N)` вместо `O(N)`. commit_hash:7ce074f58a3a90caf535d8fad24eef7ac6782d06
Diffstat (limited to 'library/cpp/threading/thread_local/generic.cpp')
0 files changed, 0 insertions, 0 deletions