thread_name.h 627 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <util/generic/string.h>
  3. #include <array>
  4. namespace NYT {
  5. ////////////////////////////////////////////////////////////////////////////////
  6. struct TThreadName
  7. {
  8. TThreadName() = default;
  9. TThreadName(const TString& name);
  10. TStringBuf ToStringBuf() const;
  11. static constexpr int BufferCapacity = 16; // including zero terminator
  12. std::array<char, BufferCapacity> Buffer{}; // zero-terminated
  13. int Length = 0; // not including zero terminator
  14. };
  15. TThreadName GetCurrentThreadName();
  16. ////////////////////////////////////////////////////////////////////////////////
  17. } // namespace NYT