summaryrefslogtreecommitdiffstats
path: root/library/cpp
Commit message (Collapse)AuthorAgeFilesLines
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk4 days1-1/+1
| | | | commit_hash:007eb2da67fd2040e9eb9d53e860fca34d075712
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk7 days1-1/+1
| | | | commit_hash:c920cb528ec19c550350408b68ed5e2ac781f375
* Fix a bunch of post-commit issuesifsmirnov8 days1-4/+4
| | | | commit_hash:877204cca8999f10cdc5edfa1a2297e2a0292d71
* TWriteGuard on GetOrNull for ThreadSaveCache with promotiondskor8 days2-5/+63
| | | | | Find может делать Promote, который мутирует List ( LRUList например: <https://nda.ya.ru/t/fFSNn0ML7LRudF> ) commit_hash:dca1db67d45c7faca51cc1251cbe155c7857e362
* Mute or fix some checks improved in clang-tidy20 in librarymikhnenko8 days2-0/+4
| | | | commit_hash:e93b9ad8b27da3da2372b00bf59ae87a98d0b862
* fix buffer overrunxenoxeno9 days2-9/+7
| | | | commit_hash:013178051e5e4c0a99ded31893069fb928ba18f9
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk10 days1-1/+1
| | | | commit_hash:9d9f0cc89424b60fbdf176953e5e0782e3a9cd3d
* ysize -> size.akhropov12 days1-1/+1
| | | | commit_hash:5be5816fa0d06087b51636b3acfaf53350e750da
* Fix a potential memory leakakhropov13 days1-2/+2
| | | | commit_hash:17b4088b80f1a7446525ed8eebf0566b3e3a7888
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk13 days1-1/+1
| | | | commit_hash:953fbbbb13b2ce6538a41da042f04cbb8610619c
* Add a comment noting that assignment operators could change the typeakhropov2025-10-081-0/+3
| | | | commit_hash:d7aa6614e2ad37c30d381ce47580aabb7a15a595
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-10-081-1/+1
| | | | commit_hash:28e7005fc310c73dc481414ec957dcf4d836fb49
* Intermediate changesrobot-piglet2025-10-071-4/+4
| | | | commit_hash:750c9e900f9b56e84ebbac73a0dd8b987d76cb47
* TNode emplace construction experimentvladluk2025-10-078-9/+328
| | | | commit_hash:ab793ace85a103212627c3a34df3b7d75e25eff8
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-10-051-1/+1
| | | | commit_hash:e898e24c992256452c0d553ec06da3816610f0a5
* Move NYT::Initialize to separate "weak" hookrp-12025-10-034-0/+14
| | | | | Move BEFORE_INIT hook to the beginning commit_hash:9cbf1d95bf1cda4bcce0d3ab9207debcab65391b
* use std::move instead of copying in TCompactVector::Reserve() + ya styletobo2025-10-032-30/+66
| | | | commit_hash:3e1b1459766c0173831844249e9e4a3c564ae7ae
* /1: Специализированный Multishard Metrics Store для ↵iofik2025-10-021-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | быстрой отдачи метрик в Multishard Metrics Pull ## С точки зрения пользователя ### 1. Как включать изменения - Изменения автоматически активируются при использовании `metrics_pull_output_par` параметра - Количество тредов в тредпуле устанавливается параметром `metrics_pull_output_threads` (по-умолчанию 1) - Совместимо с существующими конфигурациями метрик #### Пример конфигурации: ```yaml experimental: metrics_pull_output_par: true metrics_pull_output_threads: 16 ``` ### 2. На что влияют изменения - **Производительность обработки метрик:** Группировка метрик по шардам теперь происходит один раз в момент записи сообщения в хранилище - **Масштабируемость:** Параллельная обработка команд на запись и чтение сообщений ## С точки зрения программиста ### 1. Новая архитектура и взаимодействие #### Архитектура шардирования ``` TMultishardMetricsStoreHandler ↓ TShardedMetricsQueue ↓ TUAShardedMetricsWriter → IMultiShardEncoder ``` #### Принцип работы 1. **Шардирование:** Метрики группируются по ключу `(project, service, cluster)` из лейблов `__ua_project`, `__ua_service`, `__ua_cluster` 2. **Сортировка:** Внутри каждого сообщения метрики сортируются по ключам шардов 3. **Слияние:** При чтении используется priority queue для объединения шардов из разных сообщений 4. **Вывод:** Данные выводятся последовательно по шардам а внутри шарда в порядке добавления сообщений ### 2. Новые классы #### `TMultishardMetricsStoreHandler` - **Назначение:** Основной обработчик команд для шардированных метрик - **Ключевые методы:** - `Handle(TWriteCmd&)` - запись метрик в очередь - `Handle(TMultishardReadCmd&)` - чтение из множественных шардов - `Handle(TReadCmd&)` - чтение из одного шарда - не поддерживатся - Обработчики остальных сообщений адаптированы для работы с `TShardedMetricsQueue` - **Особенности:** Управляет сессиями и делегирует работу с данными в `TShardedMetricsQueue` #### `TShardedMetricsQueue` - **Назначение:** Очередь метрик с поддержкой шардирования - **Ключевые структуры:** ```cpp struct TShardedMessage { std::unique_ptr<TOutputMessage> Message; std::vector<TChunk> Chunks; // Индексы шардов }; ``` - **Алгоритм:** Сортировка метрик по шардам + priority queue для слияния при чтении #### `IUAShardedMetricsWriter` + `TUAShardedMetricsWriter` - **Назначение:** Интерфейс и реализация для записи шардированных метрик - **Расширение:** Добавляет методы `OnShardBegin/End`, `OnStreamBegin/End` к базовому `IUAMetricsWriter` - **Интеграция:** Работает с `NSolomon::NMultiShard::IMultiShardEncoder` ### 3. Рефакторинг #### Изменения в базовых классах - **`TMetricsStoreHandlerBase`:** Вынесен метод `GetMetricsWriterOptions()` для переиспользования - **`TUAMetricsWriter`:** Добавлено `virtual` наследование для множественного наследования !!! - **`TOutputItem`:** Изменена видимость конструктора (убран лишний `private`) #### Структурные изменения - **Новый модуль:** `metrics_multishard_pull_output` с собственными классами - **Тесты:** Добавлены unit-тесты `sharded_metrics_queue_ut.cpp` для проверки логики шардирования, а интеграционные тесты продублированы для проверки работы в параллельном режиме - **Сборка:** Обновлен `ya.make` для включения новых файлов commit_hash:44618a480d29307e7131b82b19473d284ea68efa
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-10-021-1/+1
| | | | commit_hash:e15d09bebbad001d5f7a29f4101b80fe36b10c2e
* Intermediate changesrobot-piglet2025-09-301-1/+1
| | | | commit_hash:d932ec0ffc0aaea61db064d99b47b64653cd406e
* Track RWSpinLock acquires per thread to ensure no reentrant usages are presentpavook2025-09-307-32/+247
| | | | commit_hash:daa3d76bfd4283d7cda9ffd741c8ed10457a5c84
* Intermediate changesrobot-piglet2025-09-291-6/+1
| | | | commit_hash:f8e0668b6081ec86f6dc0d0786a0d6ddcb39bb26
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-09-291-1/+1
| | | | commit_hash:70c80bafb116319ef72ca434a09771de3bdbd185
* Fix SymbolizeBacktrace messbabenko2025-09-275-18/+44
| | | | commit_hash:18426181c7e415f097e4d8c2378753768fa3628d
* Intermediate changesrobot-piglet2025-09-262-1/+7
| | | | commit_hash:89ed730ecacf618d740c13539529091af81397b8
* YT-26288: Revert fork lock to writer starving spinlockpavook2025-09-266-5/+51
| | | | | `TForkAwareSpinLock` implementation takes `ForkLock_` reader, which can (and does) violate the non-reentrancy. commit_hash:6eb1092777ac21dd8303b938f855d0cd61276641
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-09-261-1/+1
| | | | commit_hash:9992434a3f64e62fe646462b04978557fc85a75a
* Do not get ref counter when copy weak ptrthenewone2025-09-253-17/+75
| | | | | | | | | | | Если копировать TWeakPtr в момент разрушения объекта, на который он ссылается, то происходит гонка на vptr. GetRefCounter использует vptr, а деструктор объекта может его менять. Thread-sanitizer эту гонку видит. Unit test added; also fixed and enabled older test. Enabled thread sanitizer for library/cpp/yt/memory. commit_hash:87cb083a9905cc8a262b575868bbae3438b9324f
* remove duplicated includetobo2025-09-231-1/+0
| | | | commit_hash:917f27d8134295588e8cb526d9c157c8dc9fa08c
* Intermediate changesrobot-piglet2025-09-233-5/+71
| | | | commit_hash:1442e9e3ce86ef63767d2526ff170888769e16ec
* Style fixnae2022025-09-2345-557/+513
| | | | commit_hash:d506e2a0f2770f3662449a3711e976499eb9ccbb
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-09-231-1/+1
| | | | commit_hash:5adbf14dfcfb04029a862a2c55dfc590e2460f2c
* Set default value for TJson2ProtoConfig fieldsmishatag2025-09-221-2/+2
| | | | commit_hash:fdec34dfe80bd9706dd05dd54307986dc99abaa5
* implement appending `[]` and reverse-lookup `[-1]` in json *ByValue methodsilnurkh2025-09-216-4/+105
| | | | commit_hash:27ed69b5a37eb0d58449fb062147aaeb67ec51ba
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-09-201-1/+1
| | | | commit_hash:0b182c94d1db5093bac5c409e086f826c0e2147d
* Intermediate changesrobot-piglet2025-09-201-2/+2
| | | | commit_hash:d141fc27f80ee0774cb302a41a65bc1109062c59
* Fix race in messagebusmaxim-yurchuk2025-09-191-2/+1
| | | | | | | | Перенос оригинального ПР из гитхаба <https://github.com/ydb-platform/ydb/pull/25413> <https://github.com/ydb-platform/ydb/issues/23180> commit_hash:d07612c78875e6ec094314e01d5a3ade7f9cdd90
* Intermediate changesrobot-piglet2025-09-184-10/+16
| | | | commit_hash:a2c65251912228db1f8c195afd59840d04daf7ff
* Added std::format include into unified agent loggerkirill-bel2025-09-171-0/+1
| | | | | | | | | | | | | | | | | | | Разломались на вызове YLOG\_DEBUG\_F с ошибкой: ``` /home/kirill-bel/arcadia/logbroker/unified_agent/common/zstd_file_stream.cpp:39:17: error: no member named 'format' in namespace 'std' 39 | YLOG_DEBUG_F("TZstdFileStream starting from frame pos = {} frame offset = {}", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 40 | lastFramePos, lastFrameOffset); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` В YLOG\_DEBUG\_F используется `std::format`, но хедер не включен в `library/cpp/unified_agent_client/logger.h`: ``` #define YLOG_DEBUG_F(fmt, ...) YLOG_DEBUG(std::format(fmt, __VA_ARGS__)) ``` commit_hash:0a82f439ec6b8d83e2f4ac1a7d8a8c8cf29b9cc2
* Replaced HashSet count method to contains when the returned value is cast to ↵zaspa942025-09-171-2/+2
| | | | | | | bool in YDB Related GitHub PR: https://github.com/ydb-platform/ydb/pull/24488 commit_hash:d879b0ff8c49c1d066df9b6eda753884aeb708bc
* YT-15805: introduce tz-types into type infoermolovd2025-09-1712-37/+323
| | | | | | | | | | | | | | | | | #### Добавление поддержки временных типов с часовым поясом (TZ-типы) 📝 - 🧱 Добавлены новые примитивные типы для представления даты, даты-времени и меток времени с часовым поясом: `TzDate32`, `TzDatetime64`, `TzTimestamp64`. - 🧪 В модульные тесты добавлены проверки корректности создания и идентификации новых временных типов. - 📦 Обновлена логика сериализации/десериализации: TZ-типы отображаются в строковый формат при работе с различными протоколами (Skiff, protobuf, JSON). - ⚠️ В местах чтения данных добавлена заглушка, которая выбрасывает исключение при попытке обработки новых типов — это временное решение до реализации полной поддержки. - 🔧 Упрощена иерархия классов примитивных типов за счёт использования шаблона `TPrimitiveTypeBase`. - 🗂️ Изменён подход к обработке неизвестных типов в нескольких компонентах: вместо явного перечисления всех поддерживаемых типов теперь используется `default` ветка с общим обработчиком. --- **Оценить качество описания можно [здесь](https://nda.ya.ru/t/_MxIaV0Q7FnCMG** <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Code Assistant</font></a> commit_hash:265cf034372d36f60988238e273cbfe532c2a4e5
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-09-171-1/+1
| | | | commit_hash:2884c52b85c651dea5a463f85d7369fc89756394
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-09-141-1/+1
| | | | commit_hash:a97c7e4cdb863bbff17c511824fba68b6e385515
* Fix potential pointers overflowmikhnenko2025-09-121-1/+5
| | | | commit_hash:20039ca128a1ef8c3aaf337d71d58b1ecec783a1
* Fix `-Wignored-qualifiers` improved in clang20 in librarymikhnenko2025-09-121-3/+3
| | | | | Fix errors from [here](https://nda.ya.ru/t/6hgrAk757JpcZP commit_hash:7d5ee7690cd39bfde0529030cfa213b84ead669a
* fix NO COW modepg2025-09-111-1/+1
| | | | commit_hash:782452058bfe12788549f8c42ed026ddbcfe98e0
* Fix IsLevelEnabled check in YT loggerapollo13212025-09-101-1/+1
| | | | commit_hash:4662067645a9302622ac1ac352f71594523c0aae
* fix yt/malloc build for freebsdtldr2025-09-101-1/+1
| | | | commit_hash:96c6a3e9167c9b61ea1b5e53479ebc6de54d99c8
* New version of the tld SKIP_CHECK SKIP_REVIEWrobot-ratatosk2025-09-081-1/+1
| | | | commit_hash:a7f43c6b799796f5ed750f94960b70111794aac8
* Минимальные и расширенные наборы метрик ↵hobbit2025-09-062-3/+15
| | | | | | в ручке /counters commit_hash:7540b71c453d05401c539b0f22cd489831fdfa20