<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/library/cpp/yt/logging, branch CLI_2.32.0</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=CLI_2.32.0</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=CLI_2.32.0'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2026-06-13T20:49:35Z</updated>
<entry>
<title>Include port.h from logger.h</title>
<updated>2026-06-13T20:49:35Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-06-13T20:31:30Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=732b297f8ec8809088cf3e34459d71307104ae24'/>
<id>urn:sha1:732b297f8ec8809088cf3e34459d71307104ae24</id>
<content type='text'>
YT_LOG_TRACE is gated on YT_ENABLE_TRACE_LOGGING, defined in
library/cpp/yt/misc/port.h. logger.h relies on that macro but does not
include port.h, so in a TU that does not pull in port.h before logger.h,
YT_LOG_TRACE silently compiles to a no-op regardless of the configured
log level. Make logger.h self-contained by including the header that
defines the macro it depends on.
commit_hash:c53f26a7dff9d3f9c5a9d9aab8ea7fa31d11ec49
</content>
</entry>
<entry>
<title>Cache process/thread id getters and use them in TError origin capture</title>
<updated>2026-06-06T21:16:49Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-06-06T20:52:00Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=f10c7206fb31af8057446bceef9707aabaa9456e'/>
<id>urn:sha1:f10c7206fb31af8057446bceef9707aabaa9456e</id>
<content type='text'>
## Motivation
Profiling the YT master Automaton thread showed TOriginAttributes::Capture (run on every non-OK TError) spending ~60% of its time in a getpid() syscall — uncached on glibc &gt;= 2.25. NYT::GetCurrentThreadId() (gettid) feeds hot thread-affinity / log-manager checks on the same thread.

## Changes
- New library/cpp/yt/system/process_id.* with cached GetProcessId(); GetSystemThreadId() now caches the kernel tid in TLS. Both caches reset in the child after fork.
- Moved thread_name.{h,cpp} from misc to system.
- Removed GetCurrentProcessId/GetCurrentThreadId shims from yt/yt/core/misc/proc.{h,cpp}; migrated all callers to NYT::GetProcessId / NYT::GetSystemThreadId.
- TOriginAttributes::Capture uses the cached getters; recorded Tid is now the real kernel tid (matches perf/ps).
- Added microbenchmarks (library/cpp/yt/system/benchmarks, yt/yt/core/benchmarks/error.cpp).

## Microbenchmarks (release)
| | before | after |
|---|---|---|
| getpid | 101 ns | 0.33 ns |
| gettid | 102 ns | 1.64 ns |
| Capture | 161 ns | 50 ns |
| failed TError | 221 ns | 74 ns |
commit_hash:ee37ae57d61a5a2dd33daee935270f4bb93b7ff9
</content>
</entry>
<entry>
<title>YT-18571: Add format string checks to TStringBuilderBase::AppendFormat; also fix some releaved issues</title>
<updated>2026-04-22T07:08:46Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-04-22T06:41:38Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=70410f21980c0632b4746ec75cd9ba5762fc109a'/>
<id>urn:sha1:70410f21980c0632b4746ec75cd9ba5762fc109a</id>
<content type='text'>
commit_hash:dd15e713a6a83c8a14f1df2f011fa06f189f4a00
</content>
</entry>
<entry>
<title>YT_DECLARE_SPIN_LOCK whack-a-mole</title>
<updated>2026-04-21T10:31:53Z</updated>
<author>
<name>dann239</name>
<email>dann239@yandex-team.com</email>
</author>
<published>2026-04-21T09:40:32Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=af9dc85e61c60f539dc8c32fc95066b4f89e20a1'/>
<id>urn:sha1:af9dc85e61c60f539dc8c32fc95066b4f89e20a1</id>
<content type='text'>
commit_hash:1b74a48db886359075d1ae03494d493c2627e139
</content>
</entry>
<entry>
<title>YT-27605: YT_LOG_FATAL_AND_THROW captures log message in error attribute</title>
<updated>2026-03-09T19:06:26Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-03-09T18:39:03Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=bd88f4af4c5aeb8d8505113ca9cfcb660518d2e4'/>
<id>urn:sha1:bd88f4af4c5aeb8d8505113ca9cfcb660518d2e4</id>
<content type='text'>
I'm quite unhappy with the amount of copy-pasted and slightly altered code but the differences between `YT_LOG_ALERT_AND_THROW` and `YT_LOG_EVENT` are too subtle for a reasonable generalization.

This commit also fixes some misplaced `[[(un)likely]]` annotations.
commit_hash:3eda6b52e0e0cea0daf4d996602d446de2d7d732
</content>
</entry>
<entry>
<title>Remove extra slash from include</title>
<updated>2025-12-12T17:18:10Z</updated>
<author>
<name>Mikhail Galanin</name>
<email>mikhail.galanin@yahoo.com</email>
</author>
<published>2025-12-12T16:15:51Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=d626ff85dc5f45ea652683e359e6fd4013ac5a34'/>
<id>urn:sha1:d626ff85dc5f45ea652683e359e6fd4013ac5a34</id>
<content type='text'>
---
&gt; If this change is not needed to be mentioned in release notes then just remove changelog entry.
&gt; If this change is needed to be mentioned in release notes then please add changelog entry at the end of pull request description, using this format:
&gt;
&gt; * Changelog entry
&gt; Type: ?       # fix/feature (Select one value, example: `Type: fix`)
&gt; Component: ?  # master/proxy/scheduler/dynamic-tables/controller-agent/queue-agent/query-tracker
&gt;               # map-reduce/misc-server/odin/spyt/chyt/strawberry/python-sdk/python-yson/python-rpc-bindings/java-sdk
&gt;               # cpp-sdk/go-sdk/cms/excel/cron/microservices (Select one value, example: `Component: scheduler`)
&gt; Description of this change which will be added in release notes.

* Changelog entry
Type: fix
Component: logging

`clang` gets confused with the extra slash and keeps failing

```
In file included from /workspace/third_party/ytsaurus-cpp-sdk/library/cpp/yt/logging/plain_text_formatter/formatter.h:5:
/workspace/third_party/ytsaurus-cpp-sdk/library/cpp/yt/logging//logger.h:81:1: error: redefinition of 'GetEnumTraitsImpl'
...
/workspace/third_party/ytsaurus-cpp-sdk/library/cpp/yt/logging/logger.h:81:1: note: previous definition is here
   81 | DEFINE_ENUM(ELogMessageKind,
```

---

Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1535

Co-authored-by: Mikhail Galanin &lt;mikhail@perplexity.ai&gt;
commit_hash:f14a084dba2c641ddcf218c76b8f5a9725579268
</content>
</entry>
<entry>
<title>Fix a bunch of post-commit issues</title>
<updated>2025-10-16T08:18:49Z</updated>
<author>
<name>ifsmirnov</name>
<email>ifsmirnov@yandex-team.com</email>
</author>
<published>2025-10-16T07:40:01Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=7e2655424dbb29c9c095fceb9a09427400860a9b'/>
<id>urn:sha1:7e2655424dbb29c9c095fceb9a09427400860a9b</id>
<content type='text'>
commit_hash:877204cca8999f10cdc5edfa1a2297e2a0292d71
</content>
</entry>
<entry>
<title>Mute or fix some checks improved in clang-tidy20 in library</title>
<updated>2025-10-15T20:35:39Z</updated>
<author>
<name>mikhnenko</name>
<email>mikhnenko@yandex-team.com</email>
</author>
<published>2025-10-15T19:59:56Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=52bb9813716cd4308702d44d69fb3a448500f50f'/>
<id>urn:sha1:52bb9813716cd4308702d44d69fb3a448500f50f</id>
<content type='text'>
commit_hash:e93b9ad8b27da3da2372b00bf59ae87a98d0b862
</content>
</entry>
<entry>
<title>Fix IsLevelEnabled check in YT logger</title>
<updated>2025-09-10T19:31:50Z</updated>
<author>
<name>apollo1321</name>
<email>apollo1321@yandex-team.com</email>
</author>
<published>2025-09-10T19:18:08Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=bd4d4e4dd6779da724cd96a2e23a364588d26659'/>
<id>urn:sha1:bd4d4e4dd6779da724cd96a2e23a364588d26659</id>
<content type='text'>
commit_hash:4662067645a9302622ac1ac352f71594523c0aae
</content>
</entry>
<entry>
<title>Add a guard for per-fiber extra logging tags</title>
<updated>2025-08-22T11:45:50Z</updated>
<author>
<name>ifsmirnov</name>
<email>ifsmirnov@yandex-team.com</email>
</author>
<published>2025-08-22T10:43:37Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=46353fdbb6821d7aef22f4b0f7c5be8fcaa07b4f'/>
<id>urn:sha1:46353fdbb6821d7aef22f4b0f7c5be8fcaa07b4f</id>
<content type='text'>
commit_hash:3dfc664a8e26d9bfec6e997c848d5f66ede6e925
</content>
</entry>
</feed>
