8#include <userver/logging/log_extra.hpp> 
    9#include <userver/tracing/span.hpp> 
   11USERVER_NAMESPACE_BEGIN
 
   22  explicit TagScope(std::string key, 
logging::LogExtra::Value value,
 
   26  explicit TagScope(Span& parent, std::string key,
 
   31  explicit TagScope(
logging::LogExtra&& extra);
 
   33  explicit TagScope(Span& parent, 
logging::LogExtra&& extra);
 
   37  TagScope(
const TagScope& other) = 
delete;
 
   44  void AddTag(std::string&& key, 
logging::LogExtra::ProtectedValue&& value);
 
   46  static constexpr std::size_t kNewKeysVectorSize = 8;
 
   49  std::size_t new_tags_begin_index_;
 
   50  std::size_t new_tags_end_index_;
 
   51  std::vector<std::pair<std::size_t, logging::LogExtra::ProtectedValue>>