<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/yt/cpp/mapreduce/interface/logging, branch main</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=main</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2026-07-17T09:07:46Z</updated>
<entry>
<title>YT-28451: Add tagged logging API and opaque event payload</title>
<updated>2026-07-17T09:07:46Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-07-16T07:32:17Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=cc4f0cb52cee106a1e84c653823087861b8c8df5'/>
<id>urn:sha1:cc4f0cb52cee106a1e84c653823087861b8c8df5</id>
<content type='text'>
Replace `TLogEvent::MessageRef` with an opaque `Payload` that carries the message
together with structured key/value tags, deferring tag rendering to the consumer
(logging thread).

- Add the `TTaggedPayloadWriter`/`TTaggedPayloadReader` codec (`NDetail`), with a
  per-thread chunk-cached builder so tagged logging does no per-message heap
  allocation.
- Model the payload as a typed `TLogEventPayload` — a `std::variant` of the opaque
  strong typedefs `TTaggedLogEventPayload` and `TStructuredLogEventPayload` (each
  over `TSharedRef`). The active alternative identifies the event kind, so the
  separate `ELogMessageKind` enum and `TLogEvent::MessageKind` field are removed;
  consumers dispatch via `std::holds_alternative`/`std::get` instead of a tag.
- Add the fluent `YT_TLOG_*` API: `YT_TLOG_INFO("Message").With(key, value)` and
  `.With(key, value, "%spec")`; disabled levels skip argument evaluation.
- Add well-known tags: `.With(value)` attaches a value under a statically known
  key resolved by ADL (e.g. `.With(error)` for the `Error` tag).
- Teach the plain-text and structured formatters to render tags; add the
  `enable_native_tags` knob to emit tags into a nested structured attribute.
- Add producer-side benchmarks. The tagged API is cheaper than `YT_LOG_*` for
  tagged calls and on par for tag-free ones:

#|
|| **Producer call** | **`YT_LOG_*`** | **`YT_TLOG_*`** | **Δ** ||
|| no tags   | 81 ns  | 82 ns  | +2%  ||
|| 1 tag     | 124 ns | 88 ns  | -29% ||
|| 2 tags    | 140 ns | 101 ns | -28% ||
|| 3 tags    | 372 ns | 283 ns | -24% ||
|#

--

#| || **&lt;a href="https://nda.ya.ru/t/p0sVNSOC7ijzFF" target="_blank"&gt;![](https://nda.ya.ru/t/mAiQIjHx7Mm3JC =30x) Echo tests&lt;/a&gt;** || |#
commit_hash:70efc90e5c2b71e5311415a4e4508db42ff28971
</content>
</entry>
<entry>
<title>YT-24500: Introduce structured logging</title>
<updated>2025-05-02T23:02:40Z</updated>
<author>
<name>hiddenpath</name>
<email>hiddenpath@yandex-team.com</email>
</author>
<published>2025-05-02T22:51:57Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=0a53819a4fa41d22e878c4cd3c4d95330f583deb'/>
<id>urn:sha1:0a53819a4fa41d22e878c4cd3c4d95330f583deb</id>
<content type='text'>
commit_hash:e6ea4db1e3a66694223008fec3b5064a4d58a8e1
</content>
</entry>
<entry>
<title>Fix -Wunused-parameter in y*</title>
<updated>2024-12-17T09:35:32Z</updated>
<author>
<name>vadim-xd</name>
<email>vadim-xd@yandex-team.com</email>
</author>
<published>2024-12-17T09:09:17Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=f32d21718185bebaf27b832f94f21c02825660b3'/>
<id>urn:sha1:f32d21718185bebaf27b832f94f21c02825660b3</id>
<content type='text'>
TRIVIAL
commit_hash:f55dc23fb741393c444b088024393fa452d06795
</content>
</entry>
<entry>
<title>YT-23645: mapreduce client can use yt/core log manager</title>
<updated>2024-11-28T12:45:53Z</updated>
<author>
<name>ermolovd</name>
<email>ermolovd@yandex-team.com</email>
</author>
<published>2024-11-28T12:34:32Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=667d7a8073070f148e1adc7650b55e7a7ef33439'/>
<id>urn:sha1:667d7a8073070f148e1adc7650b55e7a7ef33439</id>
<content type='text'>
commit_hash:7007a3c7f56a6f271073811160f00f03162aaaa6
</content>
</entry>
<entry>
<title>Fix regression: static anchors are not updated properly</title>
<updated>2024-10-30T12:52:26Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2024-10-30T11:45:00Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=7891efa0c4d0a1bbf82be8885a53017e06f2adf5'/>
<id>urn:sha1:7891efa0c4d0a1bbf82be8885a53017e06f2adf5</id>
<content type='text'>
commit_hash:ab0bd9b2d0569820e495c714baecb05145ed35bf
</content>
</entry>
<entry>
<title>Introduce message_level_overrides to tune log message levels at runtime</title>
<updated>2024-10-20T14:19:01Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2024-10-20T14:04:47Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=e36aa48cf1a20abbfa2a921748f3f1a32b7000be'/>
<id>urn:sha1:e36aa48cf1a20abbfa2a921748f3f1a32b7000be</id>
<content type='text'>
* Changelog entry
Type: feature

Add message_level_overrides option to logging config for better run-time tuning.
commit_hash:07e9563fd111c437edf7ac0e5dd190781878d8fa
</content>
</entry>
<entry>
<title>[yt/cpp/mapreduce] YT-21595: Use gtest instead of ytest in all mapreduce tests</title>
<updated>2024-07-02T20:21:03Z</updated>
<author>
<name>nadya73</name>
<email>nadya73@yandex-team.com</email>
</author>
<published>2024-07-02T20:10:50Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=5ea9afc5ee7edc24efa5f45b3a15e184872b0854'/>
<id>urn:sha1:5ea9afc5ee7edc24efa5f45b3a15e184872b0854</id>
<content type='text'>
85671f0cf4f45b4f015fa2cc0d195b81c16c6e8a
</content>
</entry>
<entry>
<title>feat contrib: aiogram 3</title>
<updated>2024-01-19T10:10:03Z</updated>
<author>
<name>armenqa</name>
<email>armenqa@yandex-team.com</email>
</author>
<published>2024-01-19T09:23:50Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=2de0149d0151c514b22bca0760b95b26c9b0b578'/>
<id>urn:sha1:2de0149d0151c514b22bca0760b95b26c9b0b578</id>
<content type='text'>
Relates: https://st.yandex-team.ru/, https://st.yandex-team.ru/
</content>
</entry>
<entry>
<title>External build system generator release 65</title>
<updated>2023-12-05T09:25:06Z</updated>
<author>
<name>robot-ya-builder</name>
<email>robot-ya-builder@yandex-team.com</email>
</author>
<published>2023-12-05T08:10:55Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=96458ea3c773a8a3edb707f73db0cdedbfcfad90'/>
<id>urn:sha1:96458ea3c773a8a3edb707f73db0cdedbfcfad90</id>
<content type='text'>
Update tools: yexport, os-yexport
</content>
</entry>
<entry>
<title>add  darwin-arm64 CMakeLists</title>
<updated>2023-11-20T11:34:20Z</updated>
<author>
<name>dcherednik</name>
<email>dcherednik@ydb.tech</email>
</author>
<published>2023-11-20T10:23:37Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=ffff7a34e41bf0dd7d5e0f3d78aeaebbf56200e6'/>
<id>urn:sha1:ffff7a34e41bf0dd7d5e0f3d78aeaebbf56200e6</id>
<content type='text'>
</content>
</entry>
</feed>
