// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: tsl/profiler/protobuf/profiler_service.proto
// Protobuf C++ Version: 5.28.3

#ifndef GOOGLE_PROTOBUF_INCLUDED_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 5028003
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_bases.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/message.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/map.h"  // IWYU pragma: export
#include "google/protobuf/map_entry.h"
#include "google/protobuf/map_field_inl.h"
#include "google/protobuf/unknown_field_set.h"
#include "tsl/profiler/protobuf/profiler_options.pb.h"
#include "tsl/profiler/protobuf/profiler_service_monitor_result.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto PROTOBUF_EXPORT

namespace google {
namespace protobuf {
namespace internal {
class AnyMetadata;
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct PROTOBUF_EXPORT TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto {
  static const ::uint32_t offsets[];
};
PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable
    descriptor_table_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
namespace tensorflow {
class MonitorRequest;
struct MonitorRequestDefaultTypeInternal;
PROTOBUF_EXPORT extern MonitorRequestDefaultTypeInternal _MonitorRequest_default_instance_;
class MonitorResponse;
struct MonitorResponseDefaultTypeInternal;
PROTOBUF_EXPORT extern MonitorResponseDefaultTypeInternal _MonitorResponse_default_instance_;
class ProfileRequest;
struct ProfileRequestDefaultTypeInternal;
PROTOBUF_EXPORT extern ProfileRequestDefaultTypeInternal _ProfileRequest_default_instance_;
class ProfileRequest_ToolOptionsEntry_DoNotUse;
struct ProfileRequest_ToolOptionsEntry_DoNotUseDefaultTypeInternal;
PROTOBUF_EXPORT extern ProfileRequest_ToolOptionsEntry_DoNotUseDefaultTypeInternal _ProfileRequest_ToolOptionsEntry_DoNotUse_default_instance_;
class ProfileResponse;
struct ProfileResponseDefaultTypeInternal;
PROTOBUF_EXPORT extern ProfileResponseDefaultTypeInternal _ProfileResponse_default_instance_;
class ProfileToolData;
struct ProfileToolDataDefaultTypeInternal;
PROTOBUF_EXPORT extern ProfileToolDataDefaultTypeInternal _ProfileToolData_default_instance_;
class TerminateRequest;
struct TerminateRequestDefaultTypeInternal;
PROTOBUF_EXPORT extern TerminateRequestDefaultTypeInternal _TerminateRequest_default_instance_;
class TerminateResponse;
struct TerminateResponseDefaultTypeInternal;
PROTOBUF_EXPORT extern TerminateResponseDefaultTypeInternal _TerminateResponse_default_instance_;
class ToolRequestOptions;
struct ToolRequestOptionsDefaultTypeInternal;
PROTOBUF_EXPORT extern ToolRequestOptionsDefaultTypeInternal _ToolRequestOptions_default_instance_;
}  // namespace tensorflow
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google

namespace tensorflow {

// ===================================================================


// -------------------------------------------------------------------

class PROTOBUF_EXPORT ToolRequestOptions final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.ToolRequestOptions) */ {
 public:
  inline ToolRequestOptions() : ToolRequestOptions(nullptr) {}
  ~ToolRequestOptions() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR ToolRequestOptions(
      ::google::protobuf::internal::ConstantInitialized);

  inline ToolRequestOptions(const ToolRequestOptions& from) : ToolRequestOptions(nullptr, from) {}
  inline ToolRequestOptions(ToolRequestOptions&& from) noexcept
      : ToolRequestOptions(nullptr, std::move(from)) {}
  inline ToolRequestOptions& operator=(const ToolRequestOptions& from) {
    CopyFrom(from);
    return *this;
  }
  inline ToolRequestOptions& operator=(ToolRequestOptions&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ToolRequestOptions& default_instance() {
    return *internal_default_instance();
  }
  static inline const ToolRequestOptions* internal_default_instance() {
    return reinterpret_cast<const ToolRequestOptions*>(
        &_ToolRequestOptions_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(ToolRequestOptions& a, ToolRequestOptions& b) { a.Swap(&b); }
  inline void Swap(ToolRequestOptions* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ToolRequestOptions* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  ToolRequestOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<ToolRequestOptions>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ToolRequestOptions& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ToolRequestOptions& from) { ToolRequestOptions::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(ToolRequestOptions* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.ToolRequestOptions"; }

 protected:
  explicit ToolRequestOptions(::google::protobuf::Arena* arena);
  ToolRequestOptions(::google::protobuf::Arena* arena, const ToolRequestOptions& from);
  ToolRequestOptions(::google::protobuf::Arena* arena, ToolRequestOptions&& from) noexcept
      : ToolRequestOptions(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kOutputFormatsFieldNumber = 2,
    kSaveToRepoFieldNumber = 3,
  };
  // string output_formats = 2;
  void clear_output_formats() ;
  const std::string& output_formats() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_output_formats(Arg_&& arg, Args_... args);
  std::string* mutable_output_formats();
  PROTOBUF_NODISCARD std::string* release_output_formats();
  void set_allocated_output_formats(std::string* value);

  private:
  const std::string& _internal_output_formats() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_output_formats(
      const std::string& value);
  std::string* _internal_mutable_output_formats();

  public:
  // bool save_to_repo = 3;
  void clear_save_to_repo() ;
  bool save_to_repo() const;
  void set_save_to_repo(bool value);

  private:
  bool _internal_save_to_repo() const;
  void _internal_set_save_to_repo(bool value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.ToolRequestOptions)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      1, 2, 0,
      52, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const ToolRequestOptions& from_msg);
    ::google::protobuf::internal::ArenaStringPtr output_formats_;
    bool save_to_repo_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT TerminateResponse final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:tensorflow.TerminateResponse) */ {
 public:
  inline TerminateResponse() : TerminateResponse(nullptr) {}
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR TerminateResponse(
      ::google::protobuf::internal::ConstantInitialized);

  inline TerminateResponse(const TerminateResponse& from) : TerminateResponse(nullptr, from) {}
  inline TerminateResponse(TerminateResponse&& from) noexcept
      : TerminateResponse(nullptr, std::move(from)) {}
  inline TerminateResponse& operator=(const TerminateResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline TerminateResponse& operator=(TerminateResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const TerminateResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const TerminateResponse* internal_default_instance() {
    return reinterpret_cast<const TerminateResponse*>(
        &_TerminateResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(TerminateResponse& a, TerminateResponse& b) { a.Swap(&b); }
  inline void Swap(TerminateResponse* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TerminateResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  TerminateResponse* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<TerminateResponse>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const TerminateResponse& from) {
    ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const TerminateResponse& from) {
    ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }

  public:
  bool IsInitialized() const {
    return true;
  }
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.TerminateResponse"; }

 protected:
  explicit TerminateResponse(::google::protobuf::Arena* arena);
  TerminateResponse(::google::protobuf::Arena* arena, const TerminateResponse& from);
  TerminateResponse(::google::protobuf::Arena* arena, TerminateResponse&& from) noexcept
      : TerminateResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ZeroFieldsBase::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::internal::ZeroFieldsBase::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:tensorflow.TerminateResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      0, 0, 0,
      0, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const TerminateResponse& from_msg);
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT TerminateRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.TerminateRequest) */ {
 public:
  inline TerminateRequest() : TerminateRequest(nullptr) {}
  ~TerminateRequest() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR TerminateRequest(
      ::google::protobuf::internal::ConstantInitialized);

  inline TerminateRequest(const TerminateRequest& from) : TerminateRequest(nullptr, from) {}
  inline TerminateRequest(TerminateRequest&& from) noexcept
      : TerminateRequest(nullptr, std::move(from)) {}
  inline TerminateRequest& operator=(const TerminateRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline TerminateRequest& operator=(TerminateRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const TerminateRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const TerminateRequest* internal_default_instance() {
    return reinterpret_cast<const TerminateRequest*>(
        &_TerminateRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(TerminateRequest& a, TerminateRequest& b) { a.Swap(&b); }
  inline void Swap(TerminateRequest* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TerminateRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  TerminateRequest* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<TerminateRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const TerminateRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const TerminateRequest& from) { TerminateRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(TerminateRequest* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.TerminateRequest"; }

 protected:
  explicit TerminateRequest(::google::protobuf::Arena* arena);
  TerminateRequest(::google::protobuf::Arena* arena, const TerminateRequest& from);
  TerminateRequest(::google::protobuf::Arena* arena, TerminateRequest&& from) noexcept
      : TerminateRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSessionIdFieldNumber = 1,
  };
  // string session_id = 1;
  void clear_session_id() ;
  const std::string& session_id() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_session_id(Arg_&& arg, Args_... args);
  std::string* mutable_session_id();
  PROTOBUF_NODISCARD std::string* release_session_id();
  void set_allocated_session_id(std::string* value);

  private:
  const std::string& _internal_session_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_session_id(
      const std::string& value);
  std::string* _internal_mutable_session_id();

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.TerminateRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      0, 1, 0,
      46, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const TerminateRequest& from_msg);
    ::google::protobuf::internal::ArenaStringPtr session_id_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT ProfileToolData final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.ProfileToolData) */ {
 public:
  inline ProfileToolData() : ProfileToolData(nullptr) {}
  ~ProfileToolData() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR ProfileToolData(
      ::google::protobuf::internal::ConstantInitialized);

  inline ProfileToolData(const ProfileToolData& from) : ProfileToolData(nullptr, from) {}
  inline ProfileToolData(ProfileToolData&& from) noexcept
      : ProfileToolData(nullptr, std::move(from)) {}
  inline ProfileToolData& operator=(const ProfileToolData& from) {
    CopyFrom(from);
    return *this;
  }
  inline ProfileToolData& operator=(ProfileToolData&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ProfileToolData& default_instance() {
    return *internal_default_instance();
  }
  static inline const ProfileToolData* internal_default_instance() {
    return reinterpret_cast<const ProfileToolData*>(
        &_ProfileToolData_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(ProfileToolData& a, ProfileToolData& b) { a.Swap(&b); }
  inline void Swap(ProfileToolData* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ProfileToolData* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  ProfileToolData* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<ProfileToolData>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ProfileToolData& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ProfileToolData& from) { ProfileToolData::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(ProfileToolData* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.ProfileToolData"; }

 protected:
  explicit ProfileToolData(::google::protobuf::Arena* arena);
  ProfileToolData(::google::protobuf::Arena* arena, const ProfileToolData& from);
  ProfileToolData(::google::protobuf::Arena* arena, ProfileToolData&& from) noexcept
      : ProfileToolData(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kDataFieldNumber = 2,
  };
  // string name = 1;
  void clear_name() ;
  const std::string& name() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* value);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // bytes data = 2;
  void clear_data() ;
  const std::string& data() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  std::string* mutable_data();
  PROTOBUF_NODISCARD std::string* release_data();
  void set_allocated_data(std::string* value);

  private:
  const std::string& _internal_data() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_data(
      const std::string& value);
  std::string* _internal_mutable_data();

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.ProfileToolData)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      1, 2, 0,
      39, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const ProfileToolData& from_msg);
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr data_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT MonitorRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.MonitorRequest) */ {
 public:
  inline MonitorRequest() : MonitorRequest(nullptr) {}
  ~MonitorRequest() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR MonitorRequest(
      ::google::protobuf::internal::ConstantInitialized);

  inline MonitorRequest(const MonitorRequest& from) : MonitorRequest(nullptr, from) {}
  inline MonitorRequest(MonitorRequest&& from) noexcept
      : MonitorRequest(nullptr, std::move(from)) {}
  inline MonitorRequest& operator=(const MonitorRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MonitorRequest& operator=(MonitorRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const MonitorRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const MonitorRequest* internal_default_instance() {
    return reinterpret_cast<const MonitorRequest*>(
        &_MonitorRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(MonitorRequest& a, MonitorRequest& b) { a.Swap(&b); }
  inline void Swap(MonitorRequest* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MonitorRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  MonitorRequest* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<MonitorRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const MonitorRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const MonitorRequest& from) { MonitorRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(MonitorRequest* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.MonitorRequest"; }

 protected:
  explicit MonitorRequest(::google::protobuf::Arena* arena);
  MonitorRequest(::google::protobuf::Arena* arena, const MonitorRequest& from);
  MonitorRequest(::google::protobuf::Arena* arena, MonitorRequest&& from) noexcept
      : MonitorRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kDurationMsFieldNumber = 1,
    kMonitoringLevelFieldNumber = 2,
    kTimestampFieldNumber = 3,
  };
  // uint64 duration_ms = 1;
  void clear_duration_ms() ;
  ::uint64_t duration_ms() const;
  void set_duration_ms(::uint64_t value);

  private:
  ::uint64_t _internal_duration_ms() const;
  void _internal_set_duration_ms(::uint64_t value);

  public:
  // int32 monitoring_level = 2;
  void clear_monitoring_level() ;
  ::int32_t monitoring_level() const;
  void set_monitoring_level(::int32_t value);

  private:
  ::int32_t _internal_monitoring_level() const;
  void _internal_set_monitoring_level(::int32_t value);

  public:
  // bool timestamp = 3;
  void clear_timestamp() ;
  bool timestamp() const;
  void set_timestamp(bool value);

  private:
  bool _internal_timestamp() const;
  void _internal_set_timestamp(bool value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.MonitorRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      2, 3, 0,
      0, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const MonitorRequest& from_msg);
    ::uint64_t duration_ms_;
    ::int32_t monitoring_level_;
    bool timestamp_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT ProfileResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.ProfileResponse) */ {
 public:
  inline ProfileResponse() : ProfileResponse(nullptr) {}
  ~ProfileResponse() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR ProfileResponse(
      ::google::protobuf::internal::ConstantInitialized);

  inline ProfileResponse(const ProfileResponse& from) : ProfileResponse(nullptr, from) {}
  inline ProfileResponse(ProfileResponse&& from) noexcept
      : ProfileResponse(nullptr, std::move(from)) {}
  inline ProfileResponse& operator=(const ProfileResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ProfileResponse& operator=(ProfileResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ProfileResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const ProfileResponse* internal_default_instance() {
    return reinterpret_cast<const ProfileResponse*>(
        &_ProfileResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(ProfileResponse& a, ProfileResponse& b) { a.Swap(&b); }
  inline void Swap(ProfileResponse* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ProfileResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  ProfileResponse* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<ProfileResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ProfileResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ProfileResponse& from) { ProfileResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(ProfileResponse* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.ProfileResponse"; }

 protected:
  explicit ProfileResponse(::google::protobuf::Arena* arena);
  ProfileResponse(::google::protobuf::Arena* arena, const ProfileResponse& from);
  ProfileResponse(::google::protobuf::Arena* arena, ProfileResponse&& from) noexcept
      : ProfileResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kToolDataFieldNumber = 6,
    kEmptyTraceFieldNumber = 7,
  };
  // repeated .tensorflow.ProfileToolData tool_data = 6;
  int tool_data_size() const;
  private:
  int _internal_tool_data_size() const;

  public:
  void clear_tool_data() ;
  ::tensorflow::ProfileToolData* mutable_tool_data(int index);
  ::google::protobuf::RepeatedPtrField<::tensorflow::ProfileToolData>* mutable_tool_data();

  private:
  const ::google::protobuf::RepeatedPtrField<::tensorflow::ProfileToolData>& _internal_tool_data() const;
  ::google::protobuf::RepeatedPtrField<::tensorflow::ProfileToolData>* _internal_mutable_tool_data();
  public:
  const ::tensorflow::ProfileToolData& tool_data(int index) const;
  ::tensorflow::ProfileToolData* add_tool_data();
  const ::google::protobuf::RepeatedPtrField<::tensorflow::ProfileToolData>& tool_data() const;
  // bool empty_trace = 7;
  void clear_empty_trace() ;
  bool empty_trace() const;
  void set_empty_trace(bool value);

  private:
  bool _internal_empty_trace() const;
  void _internal_set_empty_trace(bool value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.ProfileResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      1, 2, 1,
      0, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const ProfileResponse& from_msg);
    ::google::protobuf::RepeatedPtrField< ::tensorflow::ProfileToolData > tool_data_;
    bool empty_trace_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
};
// -------------------------------------------------------------------

class ProfileRequest_ToolOptionsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<
          ProfileRequest_ToolOptionsEntry_DoNotUse, std::string, ::tensorflow::ToolRequestOptions,
          ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
          ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType = ::google::protobuf::internal::MapEntry<
      ProfileRequest_ToolOptionsEntry_DoNotUse, std::string, ::tensorflow::ToolRequestOptions,
      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  ProfileRequest_ToolOptionsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR ProfileRequest_ToolOptionsEntry_DoNotUse(
      ::google::protobuf::internal::ConstantInitialized);
  explicit ProfileRequest_ToolOptionsEntry_DoNotUse(::google::protobuf::Arena* arena);
  static const ProfileRequest_ToolOptionsEntry_DoNotUse* internal_default_instance() {
    return reinterpret_cast<const ProfileRequest_ToolOptionsEntry_DoNotUse*>(
        &_ProfileRequest_ToolOptionsEntry_DoNotUse_default_instance_);
  }


 private:
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      1, 2, 1,
      54, 2>
      _table_;

  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT MonitorResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.MonitorResponse) */ {
 public:
  inline MonitorResponse() : MonitorResponse(nullptr) {}
  ~MonitorResponse() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR MonitorResponse(
      ::google::protobuf::internal::ConstantInitialized);

  inline MonitorResponse(const MonitorResponse& from) : MonitorResponse(nullptr, from) {}
  inline MonitorResponse(MonitorResponse&& from) noexcept
      : MonitorResponse(nullptr, std::move(from)) {}
  inline MonitorResponse& operator=(const MonitorResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MonitorResponse& operator=(MonitorResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const MonitorResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const MonitorResponse* internal_default_instance() {
    return reinterpret_cast<const MonitorResponse*>(
        &_MonitorResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(MonitorResponse& a, MonitorResponse& b) { a.Swap(&b); }
  inline void Swap(MonitorResponse* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MonitorResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  MonitorResponse* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<MonitorResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const MonitorResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const MonitorResponse& from) { MonitorResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(MonitorResponse* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.MonitorResponse"; }

 protected:
  explicit MonitorResponse(::google::protobuf::Arena* arena);
  MonitorResponse(::google::protobuf::Arena* arena, const MonitorResponse& from);
  MonitorResponse(::google::protobuf::Arena* arena, MonitorResponse&& from) noexcept
      : MonitorResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kDataFieldNumber = 1,
    kMonitorResultFieldNumber = 10,
  };
  // string data = 1;
  void clear_data() ;
  const std::string& data() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  std::string* mutable_data();
  PROTOBUF_NODISCARD std::string* release_data();
  void set_allocated_data(std::string* value);

  private:
  const std::string& _internal_data() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_data(
      const std::string& value);
  std::string* _internal_mutable_data();

  public:
  // .tensorflow.ProfilerServiceMonitorResult monitor_result = 10;
  bool has_monitor_result() const;
  void clear_monitor_result() ;
  const ::tensorflow::ProfilerServiceMonitorResult& monitor_result() const;
  PROTOBUF_NODISCARD ::tensorflow::ProfilerServiceMonitorResult* release_monitor_result();
  ::tensorflow::ProfilerServiceMonitorResult* mutable_monitor_result();
  void set_allocated_monitor_result(::tensorflow::ProfilerServiceMonitorResult* value);
  void unsafe_arena_set_allocated_monitor_result(::tensorflow::ProfilerServiceMonitorResult* value);
  ::tensorflow::ProfilerServiceMonitorResult* unsafe_arena_release_monitor_result();

  private:
  const ::tensorflow::ProfilerServiceMonitorResult& _internal_monitor_result() const;
  ::tensorflow::ProfilerServiceMonitorResult* _internal_mutable_monitor_result();

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.MonitorResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      1, 2, 1,
      39, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const MonitorResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr data_;
    ::tensorflow::ProfilerServiceMonitorResult* monitor_result_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
};
// -------------------------------------------------------------------

class PROTOBUF_EXPORT ProfileRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:tensorflow.ProfileRequest) */ {
 public:
  inline ProfileRequest() : ProfileRequest(nullptr) {}
  ~ProfileRequest() PROTOBUF_FINAL;
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR ProfileRequest(
      ::google::protobuf::internal::ConstantInitialized);

  inline ProfileRequest(const ProfileRequest& from) : ProfileRequest(nullptr, from) {}
  inline ProfileRequest(ProfileRequest&& from) noexcept
      : ProfileRequest(nullptr, std::move(from)) {}
  inline ProfileRequest& operator=(const ProfileRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ProfileRequest& operator=(ProfileRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetArena() == from.GetArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetArena() != nullptr
#endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ProfileRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const ProfileRequest* internal_default_instance() {
    return reinterpret_cast<const ProfileRequest*>(
        &_ProfileRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(ProfileRequest& a, ProfileRequest& b) { a.Swap(&b); }
  inline void Swap(ProfileRequest* other) {
    if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() != nullptr && GetArena() == other->GetArena()) {
#else   // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetArena() == other->GetArena()) {
#endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ProfileRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  ProfileRequest* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
    return ::google::protobuf::Message::DefaultConstruct<ProfileRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ProfileRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ProfileRequest& from) { ProfileRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(
      ::google::protobuf::MessageLite& to_msg,
      const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* _InternalSerialize(
      const MessageLite& msg, ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target,
      ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* arena);
  void SharedDtor();
  void InternalSwap(ProfileRequest* other);
 private:
  friend class ::google::protobuf::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() { return "tensorflow.ProfileRequest"; }

 protected:
  explicit ProfileRequest(::google::protobuf::Arena* arena);
  ProfileRequest(::google::protobuf::Arena* arena, const ProfileRequest& from);
  ProfileRequest(::google::protobuf::Arena* arena, ProfileRequest&& from) noexcept
      : ProfileRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
  static const ::google::protobuf::Message::ClassDataFull _class_data_;

 public:
  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kToolsFieldNumber = 3,
    kToolOptionsFieldNumber = 8,
    kRepositoryRootFieldNumber = 5,
    kSessionIdFieldNumber = 6,
    kHostNameFieldNumber = 7,
    kOptsFieldNumber = 4,
    kDurationMsFieldNumber = 1,
    kMaxEventsFieldNumber = 2,
  };
  // repeated string tools = 3;
  int tools_size() const;
  private:
  int _internal_tools_size() const;

  public:
  void clear_tools() ;
  const std::string& tools(int index) const;
  std::string* mutable_tools(int index);
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_tools(int index, Arg_&& value, Args_... args);
  std::string* add_tools();
  template <typename Arg_ = const std::string&, typename... Args_>
  void add_tools(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<std::string>& tools() const;
  ::google::protobuf::RepeatedPtrField<std::string>* mutable_tools();

  private:
  const ::google::protobuf::RepeatedPtrField<std::string>& _internal_tools() const;
  ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_tools();

  public:
  // map<string, .tensorflow.ToolRequestOptions> tool_options = 8;
  int tool_options_size() const;
  private:
  int _internal_tool_options_size() const;

  public:
  void clear_tool_options() ;
  const ::google::protobuf::Map<std::string, ::tensorflow::ToolRequestOptions>& tool_options() const;
  ::google::protobuf::Map<std::string, ::tensorflow::ToolRequestOptions>* mutable_tool_options();

  private:
  const ::google::protobuf::Map<std::string, ::tensorflow::ToolRequestOptions>& _internal_tool_options() const;
  ::google::protobuf::Map<std::string, ::tensorflow::ToolRequestOptions>* _internal_mutable_tool_options();

  public:
  // string repository_root = 5;
  void clear_repository_root() ;
  const std::string& repository_root() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_repository_root(Arg_&& arg, Args_... args);
  std::string* mutable_repository_root();
  PROTOBUF_NODISCARD std::string* release_repository_root();
  void set_allocated_repository_root(std::string* value);

  private:
  const std::string& _internal_repository_root() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_repository_root(
      const std::string& value);
  std::string* _internal_mutable_repository_root();

  public:
  // string session_id = 6;
  void clear_session_id() ;
  const std::string& session_id() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_session_id(Arg_&& arg, Args_... args);
  std::string* mutable_session_id();
  PROTOBUF_NODISCARD std::string* release_session_id();
  void set_allocated_session_id(std::string* value);

  private:
  const std::string& _internal_session_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_session_id(
      const std::string& value);
  std::string* _internal_mutable_session_id();

  public:
  // string host_name = 7;
  void clear_host_name() ;
  const std::string& host_name() const;
  template <typename Arg_ = const std::string&, typename... Args_>
  void set_host_name(Arg_&& arg, Args_... args);
  std::string* mutable_host_name();
  PROTOBUF_NODISCARD std::string* release_host_name();
  void set_allocated_host_name(std::string* value);

  private:
  const std::string& _internal_host_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_host_name(
      const std::string& value);
  std::string* _internal_mutable_host_name();

  public:
  // .tensorflow.ProfileOptions opts = 4;
  bool has_opts() const;
  void clear_opts() ;
  const ::tensorflow::ProfileOptions& opts() const;
  PROTOBUF_NODISCARD ::tensorflow::ProfileOptions* release_opts();
  ::tensorflow::ProfileOptions* mutable_opts();
  void set_allocated_opts(::tensorflow::ProfileOptions* value);
  void unsafe_arena_set_allocated_opts(::tensorflow::ProfileOptions* value);
  ::tensorflow::ProfileOptions* unsafe_arena_release_opts();

  private:
  const ::tensorflow::ProfileOptions& _internal_opts() const;
  ::tensorflow::ProfileOptions* _internal_mutable_opts();

  public:
  // uint64 duration_ms = 1;
  void clear_duration_ms() ;
  ::uint64_t duration_ms() const;
  void set_duration_ms(::uint64_t value);

  private:
  ::uint64_t _internal_duration_ms() const;
  void _internal_set_duration_ms(::uint64_t value);

  public:
  // uint64 max_events = 2;
  void clear_max_events() ;
  ::uint64_t max_events() const;
  void set_max_events(::uint64_t value);

  private:
  ::uint64_t _internal_max_events() const;
  void _internal_set_max_events(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:tensorflow.ProfileRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<
      3, 8, 3,
      93, 2>
      _table_;


  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(
        ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena);
    inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
                          ::google::protobuf::Arena* arena, const Impl_& from,
                          const ProfileRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    mutable ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<std::string> tools_;
    ::google::protobuf::internal::MapField<ProfileRequest_ToolOptionsEntry_DoNotUse, std::string, ::tensorflow::ToolRequestOptions,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        tool_options_;
    ::google::protobuf::internal::ArenaStringPtr repository_root_;
    ::google::protobuf::internal::ArenaStringPtr session_id_;
    ::google::protobuf::internal::ArenaStringPtr host_name_;
    ::tensorflow::ProfileOptions* opts_;
    ::uint64_t duration_ms_;
    ::uint64_t max_events_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto;
};

// ===================================================================




// ===================================================================


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// ToolRequestOptions

// string output_formats = 2;
inline void ToolRequestOptions::clear_output_formats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.output_formats_.ClearToEmpty();
}
inline const std::string& ToolRequestOptions::output_formats() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.ToolRequestOptions.output_formats)
  return _internal_output_formats();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ToolRequestOptions::set_output_formats(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.output_formats_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.ToolRequestOptions.output_formats)
}
inline std::string* ToolRequestOptions::mutable_output_formats() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_output_formats();
  // @@protoc_insertion_point(field_mutable:tensorflow.ToolRequestOptions.output_formats)
  return _s;
}
inline const std::string& ToolRequestOptions::_internal_output_formats() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.output_formats_.Get();
}
inline void ToolRequestOptions::_internal_set_output_formats(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.output_formats_.Set(value, GetArena());
}
inline std::string* ToolRequestOptions::_internal_mutable_output_formats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.output_formats_.Mutable( GetArena());
}
inline std::string* ToolRequestOptions::release_output_formats() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.ToolRequestOptions.output_formats)
  return _impl_.output_formats_.Release();
}
inline void ToolRequestOptions::set_allocated_output_formats(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.output_formats_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.output_formats_.IsDefault()) {
          _impl_.output_formats_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.ToolRequestOptions.output_formats)
}

// bool save_to_repo = 3;
inline void ToolRequestOptions::clear_save_to_repo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.save_to_repo_ = false;
}
inline bool ToolRequestOptions::save_to_repo() const {
  // @@protoc_insertion_point(field_get:tensorflow.ToolRequestOptions.save_to_repo)
  return _internal_save_to_repo();
}
inline void ToolRequestOptions::set_save_to_repo(bool value) {
  _internal_set_save_to_repo(value);
  // @@protoc_insertion_point(field_set:tensorflow.ToolRequestOptions.save_to_repo)
}
inline bool ToolRequestOptions::_internal_save_to_repo() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.save_to_repo_;
}
inline void ToolRequestOptions::_internal_set_save_to_repo(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.save_to_repo_ = value;
}

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// ProfileRequest

// uint64 duration_ms = 1;
inline void ProfileRequest::clear_duration_ms() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.duration_ms_ = ::uint64_t{0u};
}
inline ::uint64_t ProfileRequest::duration_ms() const {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileRequest.duration_ms)
  return _internal_duration_ms();
}
inline void ProfileRequest::set_duration_ms(::uint64_t value) {
  _internal_set_duration_ms(value);
  // @@protoc_insertion_point(field_set:tensorflow.ProfileRequest.duration_ms)
}
inline ::uint64_t ProfileRequest::_internal_duration_ms() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.duration_ms_;
}
inline void ProfileRequest::_internal_set_duration_ms(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.duration_ms_ = value;
}

// uint64 max_events = 2;
inline void ProfileRequest::clear_max_events() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_events_ = ::uint64_t{0u};
}
inline ::uint64_t ProfileRequest::max_events() const {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileRequest.max_events)
  return _internal_max_events();
}
inline void ProfileRequest::set_max_events(::uint64_t value) {
  _internal_set_max_events(value);
  // @@protoc_insertion_point(field_set:tensorflow.ProfileRequest.max_events)
}
inline ::uint64_t ProfileRequest::_internal_max_events() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.max_events_;
}
inline void ProfileRequest::_internal_set_max_events(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_events_ = value;
}

// repeated string tools = 3;
inline int ProfileRequest::_internal_tools_size() const {
  return _internal_tools().size();
}
inline int ProfileRequest::tools_size() const {
  return _internal_tools_size();
}
inline void ProfileRequest::clear_tools() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tools_.Clear();
}
inline std::string* ProfileRequest::add_tools() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  std::string* _s = _internal_mutable_tools()->Add();
  // @@protoc_insertion_point(field_add_mutable:tensorflow.ProfileRequest.tools)
  return _s;
}
inline const std::string& ProfileRequest::tools(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileRequest.tools)
  return _internal_tools().Get(index);
}
inline std::string* ProfileRequest::mutable_tools(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.ProfileRequest.tools)
  return _internal_mutable_tools()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void ProfileRequest::set_tools(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(
      *_internal_mutable_tools()->Mutable(index),
      std::forward<Arg_>(value), args... );
  // @@protoc_insertion_point(field_set:tensorflow.ProfileRequest.tools)
}
template <typename Arg_, typename... Args_>
inline void ProfileRequest::add_tools(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_tools(),
                               std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:tensorflow.ProfileRequest.tools)
}
inline const ::google::protobuf::RepeatedPtrField<std::string>&
ProfileRequest::tools() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.ProfileRequest.tools)
  return _internal_tools();
}
inline ::google::protobuf::RepeatedPtrField<std::string>*
ProfileRequest::mutable_tools() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.ProfileRequest.tools)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_tools();
}
inline const ::google::protobuf::RepeatedPtrField<std::string>&
ProfileRequest::_internal_tools() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.tools_;
}
inline ::google::protobuf::RepeatedPtrField<std::string>*
ProfileRequest::_internal_mutable_tools() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.tools_;
}

// map<string, .tensorflow.ToolRequestOptions> tool_options = 8;
inline int ProfileRequest::_internal_tool_options_size() const {
  return _internal_tool_options().size();
}
inline int ProfileRequest::tool_options_size() const {
  return _internal_tool_options_size();
}
inline void ProfileRequest::clear_tool_options() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tool_options_.Clear();
}
inline const ::google::protobuf::Map<std::string, ::tensorflow::ToolRequestOptions>& ProfileRequest::_internal_tool_options() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.tool_options_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::tensorflow::ToolRequestOptions>& ProfileRequest::tool_options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:tensorflow.ProfileRequest.tool_options)
  return _internal_tool_options();
}
inline ::google::protobuf::Map<std::string, ::tensorflow::ToolRequestOptions>* ProfileRequest::_internal_mutable_tool_options() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.tool_options_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::tensorflow::ToolRequestOptions>* ProfileRequest::mutable_tool_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.ProfileRequest.tool_options)
  return _internal_mutable_tool_options();
}

// .tensorflow.ProfileOptions opts = 4;
inline bool ProfileRequest::has_opts() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.opts_ != nullptr);
  return value;
}
inline const ::tensorflow::ProfileOptions& ProfileRequest::_internal_opts() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::tensorflow::ProfileOptions* p = _impl_.opts_;
  return p != nullptr ? *p : reinterpret_cast<const ::tensorflow::ProfileOptions&>(::tensorflow::_ProfileOptions_default_instance_);
}
inline const ::tensorflow::ProfileOptions& ProfileRequest::opts() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileRequest.opts)
  return _internal_opts();
}
inline void ProfileRequest::unsafe_arena_set_allocated_opts(::tensorflow::ProfileOptions* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.opts_);
  }
  _impl_.opts_ = reinterpret_cast<::tensorflow::ProfileOptions*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.ProfileRequest.opts)
}
inline ::tensorflow::ProfileOptions* ProfileRequest::release_opts() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::tensorflow::ProfileOptions* released = _impl_.opts_;
  _impl_.opts_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
  released = ::google::protobuf::internal::DuplicateIfNonNull(released);
  if (GetArena() == nullptr) {
    delete old;
  }
#else   // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArena() != nullptr) {
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return released;
}
inline ::tensorflow::ProfileOptions* ProfileRequest::unsafe_arena_release_opts() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.ProfileRequest.opts)

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::tensorflow::ProfileOptions* temp = _impl_.opts_;
  _impl_.opts_ = nullptr;
  return temp;
}
inline ::tensorflow::ProfileOptions* ProfileRequest::_internal_mutable_opts() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.opts_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::tensorflow::ProfileOptions>(GetArena());
    _impl_.opts_ = reinterpret_cast<::tensorflow::ProfileOptions*>(p);
  }
  return _impl_.opts_;
}
inline ::tensorflow::ProfileOptions* ProfileRequest::mutable_opts() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000001u;
  ::tensorflow::ProfileOptions* _msg = _internal_mutable_opts();
  // @@protoc_insertion_point(field_mutable:tensorflow.ProfileRequest.opts)
  return _msg;
}
inline void ProfileRequest::set_allocated_opts(::tensorflow::ProfileOptions* value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.opts_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }

  _impl_.opts_ = reinterpret_cast<::tensorflow::ProfileOptions*>(value);
  // @@protoc_insertion_point(field_set_allocated:tensorflow.ProfileRequest.opts)
}

// string repository_root = 5;
inline void ProfileRequest::clear_repository_root() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.repository_root_.ClearToEmpty();
}
inline const std::string& ProfileRequest::repository_root() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileRequest.repository_root)
  return _internal_repository_root();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ProfileRequest::set_repository_root(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.repository_root_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.ProfileRequest.repository_root)
}
inline std::string* ProfileRequest::mutable_repository_root() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_repository_root();
  // @@protoc_insertion_point(field_mutable:tensorflow.ProfileRequest.repository_root)
  return _s;
}
inline const std::string& ProfileRequest::_internal_repository_root() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.repository_root_.Get();
}
inline void ProfileRequest::_internal_set_repository_root(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.repository_root_.Set(value, GetArena());
}
inline std::string* ProfileRequest::_internal_mutable_repository_root() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.repository_root_.Mutable( GetArena());
}
inline std::string* ProfileRequest::release_repository_root() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.ProfileRequest.repository_root)
  return _impl_.repository_root_.Release();
}
inline void ProfileRequest::set_allocated_repository_root(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.repository_root_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.repository_root_.IsDefault()) {
          _impl_.repository_root_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.ProfileRequest.repository_root)
}

// string session_id = 6;
inline void ProfileRequest::clear_session_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_.ClearToEmpty();
}
inline const std::string& ProfileRequest::session_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileRequest.session_id)
  return _internal_session_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ProfileRequest::set_session_id(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.ProfileRequest.session_id)
}
inline std::string* ProfileRequest::mutable_session_id() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_session_id();
  // @@protoc_insertion_point(field_mutable:tensorflow.ProfileRequest.session_id)
  return _s;
}
inline const std::string& ProfileRequest::_internal_session_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.session_id_.Get();
}
inline void ProfileRequest::_internal_set_session_id(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_.Set(value, GetArena());
}
inline std::string* ProfileRequest::_internal_mutable_session_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.session_id_.Mutable( GetArena());
}
inline std::string* ProfileRequest::release_session_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.ProfileRequest.session_id)
  return _impl_.session_id_.Release();
}
inline void ProfileRequest::set_allocated_session_id(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.session_id_.IsDefault()) {
          _impl_.session_id_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.ProfileRequest.session_id)
}

// string host_name = 7;
inline void ProfileRequest::clear_host_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.host_name_.ClearToEmpty();
}
inline const std::string& ProfileRequest::host_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileRequest.host_name)
  return _internal_host_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ProfileRequest::set_host_name(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.host_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.ProfileRequest.host_name)
}
inline std::string* ProfileRequest::mutable_host_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_host_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.ProfileRequest.host_name)
  return _s;
}
inline const std::string& ProfileRequest::_internal_host_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.host_name_.Get();
}
inline void ProfileRequest::_internal_set_host_name(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.host_name_.Set(value, GetArena());
}
inline std::string* ProfileRequest::_internal_mutable_host_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.host_name_.Mutable( GetArena());
}
inline std::string* ProfileRequest::release_host_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.ProfileRequest.host_name)
  return _impl_.host_name_.Release();
}
inline void ProfileRequest::set_allocated_host_name(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.host_name_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.host_name_.IsDefault()) {
          _impl_.host_name_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.ProfileRequest.host_name)
}

// -------------------------------------------------------------------

// ProfileToolData

// string name = 1;
inline void ProfileToolData::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
}
inline const std::string& ProfileToolData::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileToolData.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ProfileToolData::set_name(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.ProfileToolData.name)
}
inline std::string* ProfileToolData::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:tensorflow.ProfileToolData.name)
  return _s;
}
inline const std::string& ProfileToolData::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void ProfileToolData::_internal_set_name(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline std::string* ProfileToolData::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline std::string* ProfileToolData::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.ProfileToolData.name)
  return _impl_.name_.Release();
}
inline void ProfileToolData::set_allocated_name(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.ProfileToolData.name)
}

// bytes data = 2;
inline void ProfileToolData::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
}
inline const std::string& ProfileToolData::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileToolData.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void ProfileToolData::set_data(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.ProfileToolData.data)
}
inline std::string* ProfileToolData::mutable_data() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:tensorflow.ProfileToolData.data)
  return _s;
}
inline const std::string& ProfileToolData::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void ProfileToolData::_internal_set_data(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline std::string* ProfileToolData::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline std::string* ProfileToolData::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.ProfileToolData.data)
  return _impl_.data_.Release();
}
inline void ProfileToolData::set_allocated_data(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.data_.IsDefault()) {
          _impl_.data_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.ProfileToolData.data)
}

// -------------------------------------------------------------------

// ProfileResponse

// repeated .tensorflow.ProfileToolData tool_data = 6;
inline int ProfileResponse::_internal_tool_data_size() const {
  return _internal_tool_data().size();
}
inline int ProfileResponse::tool_data_size() const {
  return _internal_tool_data_size();
}
inline void ProfileResponse::clear_tool_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tool_data_.Clear();
}
inline ::tensorflow::ProfileToolData* ProfileResponse::mutable_tool_data(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:tensorflow.ProfileResponse.tool_data)
  return _internal_mutable_tool_data()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::ProfileToolData>* ProfileResponse::mutable_tool_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.ProfileResponse.tool_data)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_tool_data();
}
inline const ::tensorflow::ProfileToolData& ProfileResponse::tool_data(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileResponse.tool_data)
  return _internal_tool_data().Get(index);
}
inline ::tensorflow::ProfileToolData* ProfileResponse::add_tool_data() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::tensorflow::ProfileToolData* _add = _internal_mutable_tool_data()->Add();
  // @@protoc_insertion_point(field_add:tensorflow.ProfileResponse.tool_data)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::ProfileToolData>& ProfileResponse::tool_data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:tensorflow.ProfileResponse.tool_data)
  return _internal_tool_data();
}
inline const ::google::protobuf::RepeatedPtrField<::tensorflow::ProfileToolData>&
ProfileResponse::_internal_tool_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.tool_data_;
}
inline ::google::protobuf::RepeatedPtrField<::tensorflow::ProfileToolData>*
ProfileResponse::_internal_mutable_tool_data() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.tool_data_;
}

// bool empty_trace = 7;
inline void ProfileResponse::clear_empty_trace() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.empty_trace_ = false;
}
inline bool ProfileResponse::empty_trace() const {
  // @@protoc_insertion_point(field_get:tensorflow.ProfileResponse.empty_trace)
  return _internal_empty_trace();
}
inline void ProfileResponse::set_empty_trace(bool value) {
  _internal_set_empty_trace(value);
  // @@protoc_insertion_point(field_set:tensorflow.ProfileResponse.empty_trace)
}
inline bool ProfileResponse::_internal_empty_trace() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.empty_trace_;
}
inline void ProfileResponse::_internal_set_empty_trace(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.empty_trace_ = value;
}

// -------------------------------------------------------------------

// TerminateRequest

// string session_id = 1;
inline void TerminateRequest::clear_session_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_.ClearToEmpty();
}
inline const std::string& TerminateRequest::session_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.TerminateRequest.session_id)
  return _internal_session_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void TerminateRequest::set_session_id(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.TerminateRequest.session_id)
}
inline std::string* TerminateRequest::mutable_session_id() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_session_id();
  // @@protoc_insertion_point(field_mutable:tensorflow.TerminateRequest.session_id)
  return _s;
}
inline const std::string& TerminateRequest::_internal_session_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.session_id_.Get();
}
inline void TerminateRequest::_internal_set_session_id(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_.Set(value, GetArena());
}
inline std::string* TerminateRequest::_internal_mutable_session_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.session_id_.Mutable( GetArena());
}
inline std::string* TerminateRequest::release_session_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.TerminateRequest.session_id)
  return _impl_.session_id_.Release();
}
inline void TerminateRequest::set_allocated_session_id(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.session_id_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.session_id_.IsDefault()) {
          _impl_.session_id_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.TerminateRequest.session_id)
}

// -------------------------------------------------------------------

// TerminateResponse

// -------------------------------------------------------------------

// MonitorRequest

// uint64 duration_ms = 1;
inline void MonitorRequest::clear_duration_ms() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.duration_ms_ = ::uint64_t{0u};
}
inline ::uint64_t MonitorRequest::duration_ms() const {
  // @@protoc_insertion_point(field_get:tensorflow.MonitorRequest.duration_ms)
  return _internal_duration_ms();
}
inline void MonitorRequest::set_duration_ms(::uint64_t value) {
  _internal_set_duration_ms(value);
  // @@protoc_insertion_point(field_set:tensorflow.MonitorRequest.duration_ms)
}
inline ::uint64_t MonitorRequest::_internal_duration_ms() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.duration_ms_;
}
inline void MonitorRequest::_internal_set_duration_ms(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.duration_ms_ = value;
}

// int32 monitoring_level = 2;
inline void MonitorRequest::clear_monitoring_level() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.monitoring_level_ = 0;
}
inline ::int32_t MonitorRequest::monitoring_level() const {
  // @@protoc_insertion_point(field_get:tensorflow.MonitorRequest.monitoring_level)
  return _internal_monitoring_level();
}
inline void MonitorRequest::set_monitoring_level(::int32_t value) {
  _internal_set_monitoring_level(value);
  // @@protoc_insertion_point(field_set:tensorflow.MonitorRequest.monitoring_level)
}
inline ::int32_t MonitorRequest::_internal_monitoring_level() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.monitoring_level_;
}
inline void MonitorRequest::_internal_set_monitoring_level(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.monitoring_level_ = value;
}

// bool timestamp = 3;
inline void MonitorRequest::clear_timestamp() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.timestamp_ = false;
}
inline bool MonitorRequest::timestamp() const {
  // @@protoc_insertion_point(field_get:tensorflow.MonitorRequest.timestamp)
  return _internal_timestamp();
}
inline void MonitorRequest::set_timestamp(bool value) {
  _internal_set_timestamp(value);
  // @@protoc_insertion_point(field_set:tensorflow.MonitorRequest.timestamp)
}
inline bool MonitorRequest::_internal_timestamp() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.timestamp_;
}
inline void MonitorRequest::_internal_set_timestamp(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.timestamp_ = value;
}

// -------------------------------------------------------------------

// MonitorResponse

// string data = 1;
inline void MonitorResponse::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
}
inline const std::string& MonitorResponse::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.MonitorResponse.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void MonitorResponse::set_data(Arg_&& arg,
                                                     Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:tensorflow.MonitorResponse.data)
}
inline std::string* MonitorResponse::mutable_data() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:tensorflow.MonitorResponse.data)
  return _s;
}
inline const std::string& MonitorResponse::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void MonitorResponse::_internal_set_data(const std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline std::string* MonitorResponse::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline std::string* MonitorResponse::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.MonitorResponse.data)
  return _impl_.data_.Release();
}
inline void MonitorResponse::set_allocated_data(std::string* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.SetAllocated(value, GetArena());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.data_.IsDefault()) {
          _impl_.data_.Set("", GetArena());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:tensorflow.MonitorResponse.data)
}

// .tensorflow.ProfilerServiceMonitorResult monitor_result = 10;
inline bool MonitorResponse::has_monitor_result() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.monitor_result_ != nullptr);
  return value;
}
inline const ::tensorflow::ProfilerServiceMonitorResult& MonitorResponse::_internal_monitor_result() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::tensorflow::ProfilerServiceMonitorResult* p = _impl_.monitor_result_;
  return p != nullptr ? *p : reinterpret_cast<const ::tensorflow::ProfilerServiceMonitorResult&>(::tensorflow::_ProfilerServiceMonitorResult_default_instance_);
}
inline const ::tensorflow::ProfilerServiceMonitorResult& MonitorResponse::monitor_result() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:tensorflow.MonitorResponse.monitor_result)
  return _internal_monitor_result();
}
inline void MonitorResponse::unsafe_arena_set_allocated_monitor_result(::tensorflow::ProfilerServiceMonitorResult* value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.monitor_result_);
  }
  _impl_.monitor_result_ = reinterpret_cast<::tensorflow::ProfilerServiceMonitorResult*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.MonitorResponse.monitor_result)
}
inline ::tensorflow::ProfilerServiceMonitorResult* MonitorResponse::release_monitor_result() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::tensorflow::ProfilerServiceMonitorResult* released = _impl_.monitor_result_;
  _impl_.monitor_result_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
  released = ::google::protobuf::internal::DuplicateIfNonNull(released);
  if (GetArena() == nullptr) {
    delete old;
  }
#else   // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArena() != nullptr) {
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return released;
}
inline ::tensorflow::ProfilerServiceMonitorResult* MonitorResponse::unsafe_arena_release_monitor_result() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:tensorflow.MonitorResponse.monitor_result)

  _impl_._has_bits_[0] &= ~0x00000001u;
  ::tensorflow::ProfilerServiceMonitorResult* temp = _impl_.monitor_result_;
  _impl_.monitor_result_ = nullptr;
  return temp;
}
inline ::tensorflow::ProfilerServiceMonitorResult* MonitorResponse::_internal_mutable_monitor_result() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.monitor_result_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::tensorflow::ProfilerServiceMonitorResult>(GetArena());
    _impl_.monitor_result_ = reinterpret_cast<::tensorflow::ProfilerServiceMonitorResult*>(p);
  }
  return _impl_.monitor_result_;
}
inline ::tensorflow::ProfilerServiceMonitorResult* MonitorResponse::mutable_monitor_result() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000001u;
  ::tensorflow::ProfilerServiceMonitorResult* _msg = _internal_mutable_monitor_result();
  // @@protoc_insertion_point(field_mutable:tensorflow.MonitorResponse.monitor_result)
  return _msg;
}
inline void MonitorResponse::set_allocated_monitor_result(::tensorflow::ProfilerServiceMonitorResult* value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.monitor_result_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::MessageLite*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }

  _impl_.monitor_result_ = reinterpret_cast<::tensorflow::ProfilerServiceMonitorResult*>(value);
  // @@protoc_insertion_point(field_set_allocated:tensorflow.MonitorResponse.monitor_result)
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace tensorflow


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_tsl_2fprofiler_2fprotobuf_2fprofiler_5fservice_2eproto_2epb_2eh
