<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ydb/library/cpp/yt/system/ya.make, branch oidc-1.2.9</title>
<subtitle>Mirror of YDB github repos</subtitle>
<id>https://code.mastervirt.ru/ydb/atom?h=oidc-1.2.9</id>
<link rel='self' href='https://code.mastervirt.ru/ydb/atom?h=oidc-1.2.9'/>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/'/>
<updated>2026-06-06T21:16:49Z</updated>
<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>Extract environment variables helpers to library/cpp/yt/system</title>
<updated>2026-05-01T12:04:18Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2026-05-01T11:47:58Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4a9f78903be5ce431a47241af5126c08fb38c4f9'/>
<id>urn:sha1:4a9f78903be5ce431a47241af5126c08fb38c4f9</id>
<content type='text'>
commit_hash:5a11a7288f325d6fa0a9bec9a1ce0b7afa1f4984
</content>
</entry>
<entry>
<title>YT-18571: Refactor environ helpers</title>
<updated>2025-11-02T16:05:26Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2025-11-02T15:36:17Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=4b825604602f6a5491a132c6f3b5e0c7c899d997'/>
<id>urn:sha1:4b825604602f6a5491a132c6f3b5e0c7c899d997</id>
<content type='text'>
commit_hash:72977e13820ded4a38d19076b1d336c9bb910dbf
</content>
</entry>
<entry>
<title>Better diagnostics in AbortProcess(Silently|Dramatically)</title>
<updated>2024-11-06T11:01:26Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2024-11-06T10:35:13Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=14a70ab65849ee4dcf734051372b1ff5be87a793'/>
<id>urn:sha1:14a70ab65849ee4dcf734051372b1ff5be87a793</id>
<content type='text'>
commit_hash:7bbc13afbd569ca9bb064aed656c12644fd2de96
</content>
</entry>
<entry>
<title>Refactor and unify exit codes</title>
<updated>2024-08-02T09:18:17Z</updated>
<author>
<name>babenko</name>
<email>babenko@yandex-team.com</email>
</author>
<published>2024-08-02T09:04:49Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=23b7c61b3876a421a9f239646c2f67c70877d21e'/>
<id>urn:sha1:23b7c61b3876a421a9f239646c2f67c70877d21e</id>
<content type='text'>
ec1d0c473e709e8aad76b4e190a75ad4125a9ce2
</content>
</entry>
<entry>
<title>add ymake export to ydb</title>
<updated>2023-06-13T08:05:01Z</updated>
<author>
<name>alexv-smirnov</name>
<email>alex@ydb.tech</email>
</author>
<published>2023-06-13T08:05:01Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0'/>
<id>urn:sha1:bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revert ymake build from ydb oss export</title>
<updated>2023-03-28T19:25:04Z</updated>
<author>
<name>alexv-smirnov</name>
<email>alex@ydb.tech</email>
</author>
<published>2023-03-28T19:25:04Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=b8a17f9b1c166d2e9a26b99348a4c29d972caf55'/>
<id>urn:sha1:b8a17f9b1c166d2e9a26b99348a4c29d972caf55</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add library/cpp/actors, ymake build to ydb oss export</title>
<updated>2023-03-15T16:59:12Z</updated>
<author>
<name>alexv-smirnov</name>
<email>alex@ydb.tech</email>
</author>
<published>2023-03-15T16:59:12Z</published>
<link rel='alternate' type='text/html' href='https://code.mastervirt.ru/ydb/commit/?id=056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11'/>
<id>urn:sha1:056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11</id>
<content type='text'>
</content>
</entry>
</feed>
