diff options
| author | snaury <[email protected]> | 2025-11-26 10:25:09 +0300 |
|---|---|---|
| committer | snaury <[email protected]> | 2025-11-26 11:47:12 +0300 |
| commit | 11e71471c53a5a834d5386bcd803c0cc4950e8f6 (patch) | |
| tree | dc4753cb37676fd7186648622b044d2a9293f650 /library/cpp/threading/thread_local/generic.cpp | |
| parent | 9a663983839c1f88c851e0dc2579e3348c49e2c1 (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
