// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: tensorflow/core/profiler/protobuf/steps_db.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3015000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3015008 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.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 <google/protobuf/any.pb.h>
#include "tensorflow/core/profiler/protobuf/op_metrics.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[14]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(int index);
namespace tensorflow {
namespace profiler {
class AllReduceDbResult;
struct AllReduceDbResultDefaultTypeInternal;
extern AllReduceDbResultDefaultTypeInternal _AllReduceDbResult_default_instance_;
class AllReduceInfo;
struct AllReduceInfoDefaultTypeInternal;
extern AllReduceInfoDefaultTypeInternal _AllReduceInfo_default_instance_;
class DeviceMemoryTransfer;
struct DeviceMemoryTransferDefaultTypeInternal;
extern DeviceMemoryTransferDefaultTypeInternal _DeviceMemoryTransfer_default_instance_;
class FlowDbResult;
struct FlowDbResultDefaultTypeInternal;
extern FlowDbResultDefaultTypeInternal _FlowDbResult_default_instance_;
class FlowEventInfo;
struct FlowEventInfoDefaultTypeInternal;
extern FlowEventInfoDefaultTypeInternal _FlowEventInfo_default_instance_;
class GenericStepBreakdown;
struct GenericStepBreakdownDefaultTypeInternal;
extern GenericStepBreakdownDefaultTypeInternal _GenericStepBreakdown_default_instance_;
class GenericStepBreakdown_TypePsEntry_DoNotUse;
struct GenericStepBreakdown_TypePsEntry_DoNotUseDefaultTypeInternal;
extern GenericStepBreakdown_TypePsEntry_DoNotUseDefaultTypeInternal _GenericStepBreakdown_TypePsEntry_DoNotUse_default_instance_;
class PerCoreStepInfo;
struct PerCoreStepInfoDefaultTypeInternal;
extern PerCoreStepInfoDefaultTypeInternal _PerCoreStepInfo_default_instance_;
class PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse;
struct PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUseDefaultTypeInternal;
extern PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUseDefaultTypeInternal _PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse_default_instance_;
class PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse;
struct PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUseDefaultTypeInternal;
extern PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUseDefaultTypeInternal _PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse_default_instance_;
class PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse;
struct PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUseDefaultTypeInternal;
extern PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUseDefaultTypeInternal _PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse_default_instance_;
class PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse;
struct PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUseDefaultTypeInternal;
extern PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUseDefaultTypeInternal _PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse_default_instance_;
class StepDatabaseResult;
struct StepDatabaseResultDefaultTypeInternal;
extern StepDatabaseResultDefaultTypeInternal _StepDatabaseResult_default_instance_;
class StepInfoResult;
struct StepInfoResultDefaultTypeInternal;
extern StepInfoResultDefaultTypeInternal _StepInfoResult_default_instance_;
}  // namespace profiler
}  // namespace tensorflow
PROTOBUF_NAMESPACE_OPEN
template<> ::tensorflow::profiler::AllReduceDbResult* Arena::CreateMaybeMessage<::tensorflow::profiler::AllReduceDbResult>(Arena*);
template<> ::tensorflow::profiler::AllReduceInfo* Arena::CreateMaybeMessage<::tensorflow::profiler::AllReduceInfo>(Arena*);
template<> ::tensorflow::profiler::DeviceMemoryTransfer* Arena::CreateMaybeMessage<::tensorflow::profiler::DeviceMemoryTransfer>(Arena*);
template<> ::tensorflow::profiler::FlowDbResult* Arena::CreateMaybeMessage<::tensorflow::profiler::FlowDbResult>(Arena*);
template<> ::tensorflow::profiler::FlowEventInfo* Arena::CreateMaybeMessage<::tensorflow::profiler::FlowEventInfo>(Arena*);
template<> ::tensorflow::profiler::GenericStepBreakdown* Arena::CreateMaybeMessage<::tensorflow::profiler::GenericStepBreakdown>(Arena*);
template<> ::tensorflow::profiler::GenericStepBreakdown_TypePsEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::GenericStepBreakdown_TypePsEntry_DoNotUse>(Arena*);
template<> ::tensorflow::profiler::PerCoreStepInfo* Arena::CreateMaybeMessage<::tensorflow::profiler::PerCoreStepInfo>(Arena*);
template<> ::tensorflow::profiler::PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse>(Arena*);
template<> ::tensorflow::profiler::PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse>(Arena*);
template<> ::tensorflow::profiler::PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse>(Arena*);
template<> ::tensorflow::profiler::PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse* Arena::CreateMaybeMessage<::tensorflow::profiler::PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse>(Arena*);
template<> ::tensorflow::profiler::StepDatabaseResult* Arena::CreateMaybeMessage<::tensorflow::profiler::StepDatabaseResult>(Arena*);
template<> ::tensorflow::profiler::StepInfoResult* Arena::CreateMaybeMessage<::tensorflow::profiler::StepInfoResult>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace tensorflow {
namespace profiler {

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

class GenericStepBreakdown_TypePsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<GenericStepBreakdown_TypePsEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<GenericStepBreakdown_TypePsEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64> SuperType;
  GenericStepBreakdown_TypePsEntry_DoNotUse();
  explicit constexpr GenericStepBreakdown_TypePsEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit GenericStepBreakdown_TypePsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const GenericStepBreakdown_TypePsEntry_DoNotUse& other);
  static const GenericStepBreakdown_TypePsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const GenericStepBreakdown_TypePsEntry_DoNotUse*>(&_GenericStepBreakdown_TypePsEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto.file_level_metadata[0];
  }

  public:
};

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

class GenericStepBreakdown PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.GenericStepBreakdown) */ {
 public:
  inline GenericStepBreakdown() : GenericStepBreakdown(nullptr) {}
  virtual ~GenericStepBreakdown();
  explicit constexpr GenericStepBreakdown(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GenericStepBreakdown(const GenericStepBreakdown& from);
  GenericStepBreakdown(GenericStepBreakdown&& from) noexcept
    : GenericStepBreakdown() {
    *this = ::std::move(from);
  }

  inline GenericStepBreakdown& operator=(const GenericStepBreakdown& from) {
    CopyFrom(from);
    return *this;
  }
  inline GenericStepBreakdown& operator=(GenericStepBreakdown&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const GenericStepBreakdown& default_instance() {
    return *internal_default_instance();
  }
  static inline const GenericStepBreakdown* internal_default_instance() {
    return reinterpret_cast<const GenericStepBreakdown*>(
               &_GenericStepBreakdown_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(GenericStepBreakdown& a, GenericStepBreakdown& b) {
    a.Swap(&b);
  }
  inline void Swap(GenericStepBreakdown* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GenericStepBreakdown* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline GenericStepBreakdown* New() const final {
    return CreateMaybeMessage<GenericStepBreakdown>(nullptr);
  }

  GenericStepBreakdown* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GenericStepBreakdown>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const GenericStepBreakdown& from);
  void MergeFrom(const GenericStepBreakdown& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(GenericStepBreakdown* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.GenericStepBreakdown";
  }
  protected:
  explicit GenericStepBreakdown(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------


  // accessors -------------------------------------------------------

  enum : int {
    kTypePsFieldNumber = 1,
  };
  // map<int32, uint64> type_ps = 1;
  int type_ps_size() const;
  private:
  int _internal_type_ps_size() const;
  public:
  void clear_type_ps();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64 >&
      _internal_type_ps() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64 >*
      _internal_mutable_type_ps();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64 >&
      type_ps() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64 >*
      mutable_type_ps();

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.GenericStepBreakdown)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      GenericStepBreakdown_TypePsEntry_DoNotUse,
      ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT32,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT64> type_ps_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
};
// -------------------------------------------------------------------

class DeviceMemoryTransfer PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.DeviceMemoryTransfer) */ {
 public:
  inline DeviceMemoryTransfer() : DeviceMemoryTransfer(nullptr) {}
  virtual ~DeviceMemoryTransfer();
  explicit constexpr DeviceMemoryTransfer(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  DeviceMemoryTransfer(const DeviceMemoryTransfer& from);
  DeviceMemoryTransfer(DeviceMemoryTransfer&& from) noexcept
    : DeviceMemoryTransfer() {
    *this = ::std::move(from);
  }

  inline DeviceMemoryTransfer& operator=(const DeviceMemoryTransfer& from) {
    CopyFrom(from);
    return *this;
  }
  inline DeviceMemoryTransfer& operator=(DeviceMemoryTransfer&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const DeviceMemoryTransfer& default_instance() {
    return *internal_default_instance();
  }
  static inline const DeviceMemoryTransfer* internal_default_instance() {
    return reinterpret_cast<const DeviceMemoryTransfer*>(
               &_DeviceMemoryTransfer_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(DeviceMemoryTransfer& a, DeviceMemoryTransfer& b) {
    a.Swap(&b);
  }
  inline void Swap(DeviceMemoryTransfer* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DeviceMemoryTransfer* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline DeviceMemoryTransfer* New() const final {
    return CreateMaybeMessage<DeviceMemoryTransfer>(nullptr);
  }

  DeviceMemoryTransfer* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<DeviceMemoryTransfer>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const DeviceMemoryTransfer& from);
  void MergeFrom(const DeviceMemoryTransfer& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(DeviceMemoryTransfer* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.DeviceMemoryTransfer";
  }
  protected:
  explicit DeviceMemoryTransfer(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kOccurrenceFieldNumber = 1,
    kTimeUsFieldNumber = 2,
    kBytesTransferredFieldNumber = 3,
  };
  // uint64 occurrence = 1;
  void clear_occurrence();
  ::PROTOBUF_NAMESPACE_ID::uint64 occurrence() const;
  void set_occurrence(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_occurrence() const;
  void _internal_set_occurrence(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // double time_us = 2;
  void clear_time_us();
  double time_us() const;
  void set_time_us(double value);
  private:
  double _internal_time_us() const;
  void _internal_set_time_us(double value);
  public:

  // uint64 bytes_transferred = 3;
  void clear_bytes_transferred();
  ::PROTOBUF_NAMESPACE_ID::uint64 bytes_transferred() const;
  void set_bytes_transferred(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_bytes_transferred() const;
  void _internal_set_bytes_transferred(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.DeviceMemoryTransfer)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::uint64 occurrence_;
  double time_us_;
  ::PROTOBUF_NAMESPACE_ID::uint64 bytes_transferred_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
};
// -------------------------------------------------------------------

class StepInfoResult PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.StepInfoResult) */ {
 public:
  inline StepInfoResult() : StepInfoResult(nullptr) {}
  virtual ~StepInfoResult();
  explicit constexpr StepInfoResult(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  StepInfoResult(const StepInfoResult& from);
  StepInfoResult(StepInfoResult&& from) noexcept
    : StepInfoResult() {
    *this = ::std::move(from);
  }

  inline StepInfoResult& operator=(const StepInfoResult& from) {
    CopyFrom(from);
    return *this;
  }
  inline StepInfoResult& operator=(StepInfoResult&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const StepInfoResult& default_instance() {
    return *internal_default_instance();
  }
  static inline const StepInfoResult* internal_default_instance() {
    return reinterpret_cast<const StepInfoResult*>(
               &_StepInfoResult_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(StepInfoResult& a, StepInfoResult& b) {
    a.Swap(&b);
  }
  inline void Swap(StepInfoResult* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(StepInfoResult* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline StepInfoResult* New() const final {
    return CreateMaybeMessage<StepInfoResult>(nullptr);
  }

  StepInfoResult* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<StepInfoResult>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const StepInfoResult& from);
  void MergeFrom(const StepInfoResult& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(StepInfoResult* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.StepInfoResult";
  }
  protected:
  explicit StepInfoResult(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kStepBreakdownFieldNumber = 4,
    kDurationPsFieldNumber = 2,
    kBeginPsFieldNumber = 3,
    kStepNumFieldNumber = 1,
  };
  // .google.protobuf.Any step_breakdown = 4;
  bool has_step_breakdown() const;
  private:
  bool _internal_has_step_breakdown() const;
  public:
  void clear_step_breakdown();
  const PROTOBUF_NAMESPACE_ID::Any& step_breakdown() const;
  PROTOBUF_NAMESPACE_ID::Any* release_step_breakdown();
  PROTOBUF_NAMESPACE_ID::Any* mutable_step_breakdown();
  void set_allocated_step_breakdown(PROTOBUF_NAMESPACE_ID::Any* step_breakdown);
  private:
  const PROTOBUF_NAMESPACE_ID::Any& _internal_step_breakdown() const;
  PROTOBUF_NAMESPACE_ID::Any* _internal_mutable_step_breakdown();
  public:
  void unsafe_arena_set_allocated_step_breakdown(
      PROTOBUF_NAMESPACE_ID::Any* step_breakdown);
  PROTOBUF_NAMESPACE_ID::Any* unsafe_arena_release_step_breakdown();

  // uint64 duration_ps = 2;
  void clear_duration_ps();
  ::PROTOBUF_NAMESPACE_ID::uint64 duration_ps() const;
  void set_duration_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_duration_ps() const;
  void _internal_set_duration_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // uint64 begin_ps = 3;
  void clear_begin_ps();
  ::PROTOBUF_NAMESPACE_ID::uint64 begin_ps() const;
  void set_begin_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_begin_ps() const;
  void _internal_set_begin_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // uint32 step_num = 1;
  void clear_step_num();
  ::PROTOBUF_NAMESPACE_ID::uint32 step_num() const;
  void set_step_num(::PROTOBUF_NAMESPACE_ID::uint32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_step_num() const;
  void _internal_set_step_num(::PROTOBUF_NAMESPACE_ID::uint32 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.StepInfoResult)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  PROTOBUF_NAMESPACE_ID::Any* step_breakdown_;
  ::PROTOBUF_NAMESPACE_ID::uint64 duration_ps_;
  ::PROTOBUF_NAMESPACE_ID::uint64 begin_ps_;
  ::PROTOBUF_NAMESPACE_ID::uint32 step_num_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
};
// -------------------------------------------------------------------

class FlowEventInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.FlowEventInfo) */ {
 public:
  inline FlowEventInfo() : FlowEventInfo(nullptr) {}
  virtual ~FlowEventInfo();
  explicit constexpr FlowEventInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  FlowEventInfo(const FlowEventInfo& from);
  FlowEventInfo(FlowEventInfo&& from) noexcept
    : FlowEventInfo() {
    *this = ::std::move(from);
  }

  inline FlowEventInfo& operator=(const FlowEventInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline FlowEventInfo& operator=(FlowEventInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const FlowEventInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const FlowEventInfo* internal_default_instance() {
    return reinterpret_cast<const FlowEventInfo*>(
               &_FlowEventInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(FlowEventInfo& a, FlowEventInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(FlowEventInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FlowEventInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline FlowEventInfo* New() const final {
    return CreateMaybeMessage<FlowEventInfo>(nullptr);
  }

  FlowEventInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FlowEventInfo>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const FlowEventInfo& from);
  void MergeFrom(const FlowEventInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(FlowEventInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.FlowEventInfo";
  }
  protected:
  explicit FlowEventInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 3,
    kCategoryFieldNumber = 4,
    kFlowIdFieldNumber = 1,
    kChannelIdFieldNumber = 2,
    kStartTimePsFieldNumber = 5,
    kEndTimePsFieldNumber = 6,
    kByteSizeFieldNumber = 7,
    kReplicaIdFieldNumber = 8,
  };
  // string name = 3;
  void clear_name();
  const std::string& name() const;
  void set_name(const std::string& value);
  void set_name(std::string&& value);
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  std::string* mutable_name();
  std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // string category = 4;
  void clear_category();
  const std::string& category() const;
  void set_category(const std::string& value);
  void set_category(std::string&& value);
  void set_category(const char* value);
  void set_category(const char* value, size_t size);
  std::string* mutable_category();
  std::string* release_category();
  void set_allocated_category(std::string* category);
  private:
  const std::string& _internal_category() const;
  void _internal_set_category(const std::string& value);
  std::string* _internal_mutable_category();
  public:

  // uint64 flow_id = 1;
  void clear_flow_id();
  ::PROTOBUF_NAMESPACE_ID::uint64 flow_id() const;
  void set_flow_id(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_flow_id() const;
  void _internal_set_flow_id(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // int64 channel_id = 2;
  void clear_channel_id();
  ::PROTOBUF_NAMESPACE_ID::int64 channel_id() const;
  void set_channel_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int64 _internal_channel_id() const;
  void _internal_set_channel_id(::PROTOBUF_NAMESPACE_ID::int64 value);
  public:

  // uint64 start_time_ps = 5;
  void clear_start_time_ps();
  ::PROTOBUF_NAMESPACE_ID::uint64 start_time_ps() const;
  void set_start_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_start_time_ps() const;
  void _internal_set_start_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // uint64 end_time_ps = 6;
  void clear_end_time_ps();
  ::PROTOBUF_NAMESPACE_ID::uint64 end_time_ps() const;
  void set_end_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_end_time_ps() const;
  void _internal_set_end_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // uint64 byte_size = 7;
  void clear_byte_size();
  ::PROTOBUF_NAMESPACE_ID::uint64 byte_size() const;
  void set_byte_size(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_byte_size() const;
  void _internal_set_byte_size(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // uint32 replica_id = 8;
  void clear_replica_id();
  ::PROTOBUF_NAMESPACE_ID::uint32 replica_id() const;
  void set_replica_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_replica_id() const;
  void _internal_set_replica_id(::PROTOBUF_NAMESPACE_ID::uint32 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.FlowEventInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr category_;
  ::PROTOBUF_NAMESPACE_ID::uint64 flow_id_;
  ::PROTOBUF_NAMESPACE_ID::int64 channel_id_;
  ::PROTOBUF_NAMESPACE_ID::uint64 start_time_ps_;
  ::PROTOBUF_NAMESPACE_ID::uint64 end_time_ps_;
  ::PROTOBUF_NAMESPACE_ID::uint64 byte_size_;
  ::PROTOBUF_NAMESPACE_ID::uint32 replica_id_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
};
// -------------------------------------------------------------------

class FlowDbResult PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.FlowDbResult) */ {
 public:
  inline FlowDbResult() : FlowDbResult(nullptr) {}
  virtual ~FlowDbResult();
  explicit constexpr FlowDbResult(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  FlowDbResult(const FlowDbResult& from);
  FlowDbResult(FlowDbResult&& from) noexcept
    : FlowDbResult() {
    *this = ::std::move(from);
  }

  inline FlowDbResult& operator=(const FlowDbResult& from) {
    CopyFrom(from);
    return *this;
  }
  inline FlowDbResult& operator=(FlowDbResult&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const FlowDbResult& default_instance() {
    return *internal_default_instance();
  }
  static inline const FlowDbResult* internal_default_instance() {
    return reinterpret_cast<const FlowDbResult*>(
               &_FlowDbResult_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(FlowDbResult& a, FlowDbResult& b) {
    a.Swap(&b);
  }
  inline void Swap(FlowDbResult* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FlowDbResult* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline FlowDbResult* New() const final {
    return CreateMaybeMessage<FlowDbResult>(nullptr);
  }

  FlowDbResult* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FlowDbResult>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const FlowDbResult& from);
  void MergeFrom(const FlowDbResult& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(FlowDbResult* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.FlowDbResult";
  }
  protected:
  explicit FlowDbResult(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kFlowInfoFieldNumber = 1,
  };
  // repeated .tensorflow.profiler.FlowEventInfo flow_info = 1;
  int flow_info_size() const;
  private:
  int _internal_flow_info_size() const;
  public:
  void clear_flow_info();
  ::tensorflow::profiler::FlowEventInfo* mutable_flow_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::FlowEventInfo >*
      mutable_flow_info();
  private:
  const ::tensorflow::profiler::FlowEventInfo& _internal_flow_info(int index) const;
  ::tensorflow::profiler::FlowEventInfo* _internal_add_flow_info();
  public:
  const ::tensorflow::profiler::FlowEventInfo& flow_info(int index) const;
  ::tensorflow::profiler::FlowEventInfo* add_flow_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::FlowEventInfo >&
      flow_info() const;

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.FlowDbResult)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::FlowEventInfo > flow_info_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
};
// -------------------------------------------------------------------

class AllReduceInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.AllReduceInfo) */ {
 public:
  inline AllReduceInfo() : AllReduceInfo(nullptr) {}
  virtual ~AllReduceInfo();
  explicit constexpr AllReduceInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  AllReduceInfo(const AllReduceInfo& from);
  AllReduceInfo(AllReduceInfo&& from) noexcept
    : AllReduceInfo() {
    *this = ::std::move(from);
  }

  inline AllReduceInfo& operator=(const AllReduceInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline AllReduceInfo& operator=(AllReduceInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const AllReduceInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const AllReduceInfo* internal_default_instance() {
    return reinterpret_cast<const AllReduceInfo*>(
               &_AllReduceInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(AllReduceInfo& a, AllReduceInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(AllReduceInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AllReduceInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline AllReduceInfo* New() const final {
    return CreateMaybeMessage<AllReduceInfo>(nullptr);
  }

  AllReduceInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<AllReduceInfo>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const AllReduceInfo& from);
  void MergeFrom(const AllReduceInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(AllReduceInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.AllReduceInfo";
  }
  protected:
  explicit AllReduceInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 2,
    kIdFieldNumber = 1,
    kAllReduceIdFieldNumber = 3,
    kStartTimePsFieldNumber = 4,
    kEndTimePsFieldNumber = 5,
    kByteSizeFieldNumber = 6,
  };
  // string name = 2;
  void clear_name();
  const std::string& name() const;
  void set_name(const std::string& value);
  void set_name(std::string&& value);
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  std::string* mutable_name();
  std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // uint64 id = 1;
  void clear_id();
  ::PROTOBUF_NAMESPACE_ID::uint64 id() const;
  void set_id(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_id() const;
  void _internal_set_id(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // uint64 all_reduce_id = 3;
  void clear_all_reduce_id();
  ::PROTOBUF_NAMESPACE_ID::uint64 all_reduce_id() const;
  void set_all_reduce_id(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_all_reduce_id() const;
  void _internal_set_all_reduce_id(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // uint64 start_time_ps = 4;
  void clear_start_time_ps();
  ::PROTOBUF_NAMESPACE_ID::uint64 start_time_ps() const;
  void set_start_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_start_time_ps() const;
  void _internal_set_start_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // uint64 end_time_ps = 5;
  void clear_end_time_ps();
  ::PROTOBUF_NAMESPACE_ID::uint64 end_time_ps() const;
  void set_end_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_end_time_ps() const;
  void _internal_set_end_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // uint64 byte_size = 6;
  void clear_byte_size();
  ::PROTOBUF_NAMESPACE_ID::uint64 byte_size() const;
  void set_byte_size(::PROTOBUF_NAMESPACE_ID::uint64 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_byte_size() const;
  void _internal_set_byte_size(::PROTOBUF_NAMESPACE_ID::uint64 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.AllReduceInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  ::PROTOBUF_NAMESPACE_ID::uint64 id_;
  ::PROTOBUF_NAMESPACE_ID::uint64 all_reduce_id_;
  ::PROTOBUF_NAMESPACE_ID::uint64 start_time_ps_;
  ::PROTOBUF_NAMESPACE_ID::uint64 end_time_ps_;
  ::PROTOBUF_NAMESPACE_ID::uint64 byte_size_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
};
// -------------------------------------------------------------------

class AllReduceDbResult PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.AllReduceDbResult) */ {
 public:
  inline AllReduceDbResult() : AllReduceDbResult(nullptr) {}
  virtual ~AllReduceDbResult();
  explicit constexpr AllReduceDbResult(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  AllReduceDbResult(const AllReduceDbResult& from);
  AllReduceDbResult(AllReduceDbResult&& from) noexcept
    : AllReduceDbResult() {
    *this = ::std::move(from);
  }

  inline AllReduceDbResult& operator=(const AllReduceDbResult& from) {
    CopyFrom(from);
    return *this;
  }
  inline AllReduceDbResult& operator=(AllReduceDbResult&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const AllReduceDbResult& default_instance() {
    return *internal_default_instance();
  }
  static inline const AllReduceDbResult* internal_default_instance() {
    return reinterpret_cast<const AllReduceDbResult*>(
               &_AllReduceDbResult_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(AllReduceDbResult& a, AllReduceDbResult& b) {
    a.Swap(&b);
  }
  inline void Swap(AllReduceDbResult* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(AllReduceDbResult* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline AllReduceDbResult* New() const final {
    return CreateMaybeMessage<AllReduceDbResult>(nullptr);
  }

  AllReduceDbResult* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<AllReduceDbResult>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const AllReduceDbResult& from);
  void MergeFrom(const AllReduceDbResult& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(AllReduceDbResult* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.AllReduceDbResult";
  }
  protected:
  explicit AllReduceDbResult(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kAllReduceInfoFieldNumber = 1,
  };
  // repeated .tensorflow.profiler.AllReduceInfo all_reduce_info = 1;
  int all_reduce_info_size() const;
  private:
  int _internal_all_reduce_info_size() const;
  public:
  void clear_all_reduce_info();
  ::tensorflow::profiler::AllReduceInfo* mutable_all_reduce_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::AllReduceInfo >*
      mutable_all_reduce_info();
  private:
  const ::tensorflow::profiler::AllReduceInfo& _internal_all_reduce_info(int index) const;
  ::tensorflow::profiler::AllReduceInfo* _internal_add_all_reduce_info();
  public:
  const ::tensorflow::profiler::AllReduceInfo& all_reduce_info(int index) const;
  ::tensorflow::profiler::AllReduceInfo* add_all_reduce_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::AllReduceInfo >&
      all_reduce_info() const;

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.AllReduceDbResult)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::AllReduceInfo > all_reduce_info_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
};
// -------------------------------------------------------------------

class PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
  PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse();
  explicit constexpr PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse& other);
  static const PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse*>(&_PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto.file_level_metadata[8];
  }

  public:
};

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

class PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
  PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse();
  explicit constexpr PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse& other);
  static const PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse*>(&_PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto.file_level_metadata[9];
  }

  public:
};

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

class PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32> SuperType;
  PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse();
  explicit constexpr PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse& other);
  static const PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse*>(&_PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto.file_level_metadata[10];
  }

  public:
};

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

class PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse, 
    ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
  PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse();
  explicit constexpr PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse& other);
  static const PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse*>(&_PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto);
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto.file_level_metadata[11];
  }

  public:
};

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

class PerCoreStepInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.PerCoreStepInfo) */ {
 public:
  inline PerCoreStepInfo() : PerCoreStepInfo(nullptr) {}
  virtual ~PerCoreStepInfo();
  explicit constexpr PerCoreStepInfo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PerCoreStepInfo(const PerCoreStepInfo& from);
  PerCoreStepInfo(PerCoreStepInfo&& from) noexcept
    : PerCoreStepInfo() {
    *this = ::std::move(from);
  }

  inline PerCoreStepInfo& operator=(const PerCoreStepInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline PerCoreStepInfo& operator=(PerCoreStepInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const PerCoreStepInfo& default_instance() {
    return *internal_default_instance();
  }
  static inline const PerCoreStepInfo* internal_default_instance() {
    return reinterpret_cast<const PerCoreStepInfo*>(
               &_PerCoreStepInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(PerCoreStepInfo& a, PerCoreStepInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(PerCoreStepInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PerCoreStepInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline PerCoreStepInfo* New() const final {
    return CreateMaybeMessage<PerCoreStepInfo>(nullptr);
  }

  PerCoreStepInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<PerCoreStepInfo>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const PerCoreStepInfo& from);
  void MergeFrom(const PerCoreStepInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(PerCoreStepInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.PerCoreStepInfo";
  }
  protected:
  explicit PerCoreStepInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------


  // accessors -------------------------------------------------------

  enum : int {
    kStepInfoPerCoreFieldNumber = 2,
    kFlowDbPerCoreFieldNumber = 4,
    kCoreIdToReplicaIdMapFieldNumber = 5,
    kAllReduceDbPerCoreFieldNumber = 6,
    kDeviceMemoryTransfersFieldNumber = 7,
    kHloMetricsDbFieldNumber = 3,
    kStepNumFieldNumber = 1,
  };
  // map<uint32, .tensorflow.profiler.StepInfoResult> step_info_per_core = 2;
  int step_info_per_core_size() const;
  private:
  int _internal_step_info_per_core_size() const;
  public:
  void clear_step_info_per_core();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult >&
      _internal_step_info_per_core() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult >*
      _internal_mutable_step_info_per_core();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult >&
      step_info_per_core() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult >*
      mutable_step_info_per_core();

  // map<uint32, .tensorflow.profiler.FlowDbResult> flow_db_per_core = 4;
  int flow_db_per_core_size() const;
  private:
  int _internal_flow_db_per_core_size() const;
  public:
  void clear_flow_db_per_core();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult >&
      _internal_flow_db_per_core() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult >*
      _internal_mutable_flow_db_per_core();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult >&
      flow_db_per_core() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult >*
      mutable_flow_db_per_core();

  // map<uint32, uint32> core_id_to_replica_id_map = 5;
  int core_id_to_replica_id_map_size() const;
  private:
  int _internal_core_id_to_replica_id_map_size() const;
  public:
  void clear_core_id_to_replica_id_map();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32 >&
      _internal_core_id_to_replica_id_map() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32 >*
      _internal_mutable_core_id_to_replica_id_map();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32 >&
      core_id_to_replica_id_map() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32 >*
      mutable_core_id_to_replica_id_map();

  // map<uint32, .tensorflow.profiler.AllReduceDbResult> all_reduce_db_per_core = 6;
  int all_reduce_db_per_core_size() const;
  private:
  int _internal_all_reduce_db_per_core_size() const;
  public:
  void clear_all_reduce_db_per_core();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult >&
      _internal_all_reduce_db_per_core() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult >*
      _internal_mutable_all_reduce_db_per_core();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult >&
      all_reduce_db_per_core() const;
  ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult >*
      mutable_all_reduce_db_per_core();

  // repeated .tensorflow.profiler.DeviceMemoryTransfer device_memory_transfers = 7;
  int device_memory_transfers_size() const;
  private:
  int _internal_device_memory_transfers_size() const;
  public:
  void clear_device_memory_transfers();
  ::tensorflow::profiler::DeviceMemoryTransfer* mutable_device_memory_transfers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::DeviceMemoryTransfer >*
      mutable_device_memory_transfers();
  private:
  const ::tensorflow::profiler::DeviceMemoryTransfer& _internal_device_memory_transfers(int index) const;
  ::tensorflow::profiler::DeviceMemoryTransfer* _internal_add_device_memory_transfers();
  public:
  const ::tensorflow::profiler::DeviceMemoryTransfer& device_memory_transfers(int index) const;
  ::tensorflow::profiler::DeviceMemoryTransfer* add_device_memory_transfers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::DeviceMemoryTransfer >&
      device_memory_transfers() const;

  // .tensorflow.profiler.OpMetricsDb hlo_metrics_db = 3;
  bool has_hlo_metrics_db() const;
  private:
  bool _internal_has_hlo_metrics_db() const;
  public:
  void clear_hlo_metrics_db();
  const ::tensorflow::profiler::OpMetricsDb& hlo_metrics_db() const;
  ::tensorflow::profiler::OpMetricsDb* release_hlo_metrics_db();
  ::tensorflow::profiler::OpMetricsDb* mutable_hlo_metrics_db();
  void set_allocated_hlo_metrics_db(::tensorflow::profiler::OpMetricsDb* hlo_metrics_db);
  private:
  const ::tensorflow::profiler::OpMetricsDb& _internal_hlo_metrics_db() const;
  ::tensorflow::profiler::OpMetricsDb* _internal_mutable_hlo_metrics_db();
  public:
  void unsafe_arena_set_allocated_hlo_metrics_db(
      ::tensorflow::profiler::OpMetricsDb* hlo_metrics_db);
  ::tensorflow::profiler::OpMetricsDb* unsafe_arena_release_hlo_metrics_db();

  // uint32 step_num = 1;
  void clear_step_num();
  ::PROTOBUF_NAMESPACE_ID::uint32 step_num() const;
  void set_step_num(::PROTOBUF_NAMESPACE_ID::uint32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_step_num() const;
  void _internal_set_step_num(::PROTOBUF_NAMESPACE_ID::uint32 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.PerCoreStepInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      PerCoreStepInfo_StepInfoPerCoreEntry_DoNotUse,
      ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> step_info_per_core_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      PerCoreStepInfo_FlowDbPerCoreEntry_DoNotUse,
      ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> flow_db_per_core_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      PerCoreStepInfo_CoreIdToReplicaIdMapEntry_DoNotUse,
      ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32> core_id_to_replica_id_map_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      PerCoreStepInfo_AllReduceDbPerCoreEntry_DoNotUse,
      ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_UINT32,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> all_reduce_db_per_core_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::DeviceMemoryTransfer > device_memory_transfers_;
  ::tensorflow::profiler::OpMetricsDb* hlo_metrics_db_;
  ::PROTOBUF_NAMESPACE_ID::uint32 step_num_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
};
// -------------------------------------------------------------------

class StepDatabaseResult PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:tensorflow.profiler.StepDatabaseResult) */ {
 public:
  inline StepDatabaseResult() : StepDatabaseResult(nullptr) {}
  virtual ~StepDatabaseResult();
  explicit constexpr StepDatabaseResult(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  StepDatabaseResult(const StepDatabaseResult& from);
  StepDatabaseResult(StepDatabaseResult&& from) noexcept
    : StepDatabaseResult() {
    *this = ::std::move(from);
  }

  inline StepDatabaseResult& operator=(const StepDatabaseResult& from) {
    CopyFrom(from);
    return *this;
  }
  inline StepDatabaseResult& operator=(StepDatabaseResult&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const StepDatabaseResult& default_instance() {
    return *internal_default_instance();
  }
  static inline const StepDatabaseResult* internal_default_instance() {
    return reinterpret_cast<const StepDatabaseResult*>(
               &_StepDatabaseResult_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    13;

  friend void swap(StepDatabaseResult& a, StepDatabaseResult& b) {
    a.Swap(&b);
  }
  inline void Swap(StepDatabaseResult* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(StepDatabaseResult* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

  inline StepDatabaseResult* New() const final {
    return CreateMaybeMessage<StepDatabaseResult>(nullptr);
  }

  StepDatabaseResult* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<StepDatabaseResult>(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const StepDatabaseResult& from);
  void MergeFrom(const StepDatabaseResult& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(StepDatabaseResult* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "tensorflow.profiler.StepDatabaseResult";
  }
  protected:
  explicit StepDatabaseResult(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    return ::descriptor_table_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto_metadata_getter(kIndexInFileMessages);
  }

  public:

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kStepSequenceFieldNumber = 1,
    kUseIncompleteStepFieldNumber = 2,
    kNumStepsDroppedFieldNumber = 3,
  };
  // repeated .tensorflow.profiler.PerCoreStepInfo step_sequence = 1;
  int step_sequence_size() const;
  private:
  int _internal_step_sequence_size() const;
  public:
  void clear_step_sequence();
  ::tensorflow::profiler::PerCoreStepInfo* mutable_step_sequence(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::PerCoreStepInfo >*
      mutable_step_sequence();
  private:
  const ::tensorflow::profiler::PerCoreStepInfo& _internal_step_sequence(int index) const;
  ::tensorflow::profiler::PerCoreStepInfo* _internal_add_step_sequence();
  public:
  const ::tensorflow::profiler::PerCoreStepInfo& step_sequence(int index) const;
  ::tensorflow::profiler::PerCoreStepInfo* add_step_sequence();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::PerCoreStepInfo >&
      step_sequence() const;

  // bool use_incomplete_step = 2;
  void clear_use_incomplete_step();
  bool use_incomplete_step() const;
  void set_use_incomplete_step(bool value);
  private:
  bool _internal_use_incomplete_step() const;
  void _internal_set_use_incomplete_step(bool value);
  public:

  // uint32 num_steps_dropped = 3;
  void clear_num_steps_dropped();
  ::PROTOBUF_NAMESPACE_ID::uint32 num_steps_dropped() const;
  void set_num_steps_dropped(::PROTOBUF_NAMESPACE_ID::uint32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::uint32 _internal_num_steps_dropped() const;
  void _internal_set_num_steps_dropped(::PROTOBUF_NAMESPACE_ID::uint32 value);
  public:

  // @@protoc_insertion_point(class_scope:tensorflow.profiler.StepDatabaseResult)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::PerCoreStepInfo > step_sequence_;
  bool use_incomplete_step_;
  ::PROTOBUF_NAMESPACE_ID::uint32 num_steps_dropped_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto;
};
// ===================================================================


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

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

// GenericStepBreakdown

// map<int32, uint64> type_ps = 1;
inline int GenericStepBreakdown::_internal_type_ps_size() const {
  return type_ps_.size();
}
inline int GenericStepBreakdown::type_ps_size() const {
  return _internal_type_ps_size();
}
inline void GenericStepBreakdown::clear_type_ps() {
  type_ps_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64 >&
GenericStepBreakdown::_internal_type_ps() const {
  return type_ps_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64 >&
GenericStepBreakdown::type_ps() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.GenericStepBreakdown.type_ps)
  return _internal_type_ps();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64 >*
GenericStepBreakdown::_internal_mutable_type_ps() {
  return type_ps_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::int32, ::PROTOBUF_NAMESPACE_ID::uint64 >*
GenericStepBreakdown::mutable_type_ps() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.GenericStepBreakdown.type_ps)
  return _internal_mutable_type_ps();
}

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

// DeviceMemoryTransfer

// uint64 occurrence = 1;
inline void DeviceMemoryTransfer::clear_occurrence() {
  occurrence_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 DeviceMemoryTransfer::_internal_occurrence() const {
  return occurrence_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 DeviceMemoryTransfer::occurrence() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.DeviceMemoryTransfer.occurrence)
  return _internal_occurrence();
}
inline void DeviceMemoryTransfer::_internal_set_occurrence(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  occurrence_ = value;
}
inline void DeviceMemoryTransfer::set_occurrence(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_occurrence(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.DeviceMemoryTransfer.occurrence)
}

// double time_us = 2;
inline void DeviceMemoryTransfer::clear_time_us() {
  time_us_ = 0;
}
inline double DeviceMemoryTransfer::_internal_time_us() const {
  return time_us_;
}
inline double DeviceMemoryTransfer::time_us() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.DeviceMemoryTransfer.time_us)
  return _internal_time_us();
}
inline void DeviceMemoryTransfer::_internal_set_time_us(double value) {
  
  time_us_ = value;
}
inline void DeviceMemoryTransfer::set_time_us(double value) {
  _internal_set_time_us(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.DeviceMemoryTransfer.time_us)
}

// uint64 bytes_transferred = 3;
inline void DeviceMemoryTransfer::clear_bytes_transferred() {
  bytes_transferred_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 DeviceMemoryTransfer::_internal_bytes_transferred() const {
  return bytes_transferred_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 DeviceMemoryTransfer::bytes_transferred() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.DeviceMemoryTransfer.bytes_transferred)
  return _internal_bytes_transferred();
}
inline void DeviceMemoryTransfer::_internal_set_bytes_transferred(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  bytes_transferred_ = value;
}
inline void DeviceMemoryTransfer::set_bytes_transferred(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_bytes_transferred(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.DeviceMemoryTransfer.bytes_transferred)
}

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

// StepInfoResult

// uint32 step_num = 1;
inline void StepInfoResult::clear_step_num() {
  step_num_ = 0u;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 StepInfoResult::_internal_step_num() const {
  return step_num_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 StepInfoResult::step_num() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.StepInfoResult.step_num)
  return _internal_step_num();
}
inline void StepInfoResult::_internal_set_step_num(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  
  step_num_ = value;
}
inline void StepInfoResult::set_step_num(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  _internal_set_step_num(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.StepInfoResult.step_num)
}

// uint64 duration_ps = 2;
inline void StepInfoResult::clear_duration_ps() {
  duration_ps_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 StepInfoResult::_internal_duration_ps() const {
  return duration_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 StepInfoResult::duration_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.StepInfoResult.duration_ps)
  return _internal_duration_ps();
}
inline void StepInfoResult::_internal_set_duration_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  duration_ps_ = value;
}
inline void StepInfoResult::set_duration_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_duration_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.StepInfoResult.duration_ps)
}

// uint64 begin_ps = 3;
inline void StepInfoResult::clear_begin_ps() {
  begin_ps_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 StepInfoResult::_internal_begin_ps() const {
  return begin_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 StepInfoResult::begin_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.StepInfoResult.begin_ps)
  return _internal_begin_ps();
}
inline void StepInfoResult::_internal_set_begin_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  begin_ps_ = value;
}
inline void StepInfoResult::set_begin_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_begin_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.StepInfoResult.begin_ps)
}

// .google.protobuf.Any step_breakdown = 4;
inline bool StepInfoResult::_internal_has_step_breakdown() const {
  return this != internal_default_instance() && step_breakdown_ != nullptr;
}
inline bool StepInfoResult::has_step_breakdown() const {
  return _internal_has_step_breakdown();
}
inline const PROTOBUF_NAMESPACE_ID::Any& StepInfoResult::_internal_step_breakdown() const {
  const PROTOBUF_NAMESPACE_ID::Any* p = step_breakdown_;
  return p != nullptr ? *p : reinterpret_cast<const PROTOBUF_NAMESPACE_ID::Any&>(
      PROTOBUF_NAMESPACE_ID::_Any_default_instance_);
}
inline const PROTOBUF_NAMESPACE_ID::Any& StepInfoResult::step_breakdown() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.StepInfoResult.step_breakdown)
  return _internal_step_breakdown();
}
inline void StepInfoResult::unsafe_arena_set_allocated_step_breakdown(
    PROTOBUF_NAMESPACE_ID::Any* step_breakdown) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(step_breakdown_);
  }
  step_breakdown_ = step_breakdown;
  if (step_breakdown) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.profiler.StepInfoResult.step_breakdown)
}
inline PROTOBUF_NAMESPACE_ID::Any* StepInfoResult::release_step_breakdown() {
  
  PROTOBUF_NAMESPACE_ID::Any* temp = step_breakdown_;
  step_breakdown_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline PROTOBUF_NAMESPACE_ID::Any* StepInfoResult::unsafe_arena_release_step_breakdown() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.StepInfoResult.step_breakdown)
  
  PROTOBUF_NAMESPACE_ID::Any* temp = step_breakdown_;
  step_breakdown_ = nullptr;
  return temp;
}
inline PROTOBUF_NAMESPACE_ID::Any* StepInfoResult::_internal_mutable_step_breakdown() {
  
  if (step_breakdown_ == nullptr) {
    auto* p = CreateMaybeMessage<PROTOBUF_NAMESPACE_ID::Any>(GetArena());
    step_breakdown_ = p;
  }
  return step_breakdown_;
}
inline PROTOBUF_NAMESPACE_ID::Any* StepInfoResult::mutable_step_breakdown() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.StepInfoResult.step_breakdown)
  return _internal_mutable_step_breakdown();
}
inline void StepInfoResult::set_allocated_step_breakdown(PROTOBUF_NAMESPACE_ID::Any* step_breakdown) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(step_breakdown_);
  }
  if (step_breakdown) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(step_breakdown)->GetArena();
    if (message_arena != submessage_arena) {
      step_breakdown = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, step_breakdown, submessage_arena);
    }
    
  } else {
    
  }
  step_breakdown_ = step_breakdown;
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.StepInfoResult.step_breakdown)
}

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

// FlowEventInfo

// uint64 flow_id = 1;
inline void FlowEventInfo::clear_flow_id() {
  flow_id_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 FlowEventInfo::_internal_flow_id() const {
  return flow_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 FlowEventInfo::flow_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.FlowEventInfo.flow_id)
  return _internal_flow_id();
}
inline void FlowEventInfo::_internal_set_flow_id(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  flow_id_ = value;
}
inline void FlowEventInfo::set_flow_id(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_flow_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.FlowEventInfo.flow_id)
}

// int64 channel_id = 2;
inline void FlowEventInfo::clear_channel_id() {
  channel_id_ = PROTOBUF_LONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::int64 FlowEventInfo::_internal_channel_id() const {
  return channel_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::int64 FlowEventInfo::channel_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.FlowEventInfo.channel_id)
  return _internal_channel_id();
}
inline void FlowEventInfo::_internal_set_channel_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  
  channel_id_ = value;
}
inline void FlowEventInfo::set_channel_id(::PROTOBUF_NAMESPACE_ID::int64 value) {
  _internal_set_channel_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.FlowEventInfo.channel_id)
}

// string name = 3;
inline void FlowEventInfo::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& FlowEventInfo::name() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.FlowEventInfo.name)
  return _internal_name();
}
inline void FlowEventInfo::set_name(const std::string& value) {
  _internal_set_name(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.FlowEventInfo.name)
}
inline std::string* FlowEventInfo::mutable_name() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.FlowEventInfo.name)
  return _internal_mutable_name();
}
inline const std::string& FlowEventInfo::_internal_name() const {
  return name_.Get();
}
inline void FlowEventInfo::_internal_set_name(const std::string& value) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void FlowEventInfo::set_name(std::string&& value) {
  
  name_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.FlowEventInfo.name)
}
inline void FlowEventInfo::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.FlowEventInfo.name)
}
inline void FlowEventInfo::set_name(const char* value,
    size_t size) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.FlowEventInfo.name)
}
inline std::string* FlowEventInfo::_internal_mutable_name() {
  
  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* FlowEventInfo::release_name() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.FlowEventInfo.name)
  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void FlowEventInfo::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.FlowEventInfo.name)
}

// string category = 4;
inline void FlowEventInfo::clear_category() {
  category_.ClearToEmpty();
}
inline const std::string& FlowEventInfo::category() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.FlowEventInfo.category)
  return _internal_category();
}
inline void FlowEventInfo::set_category(const std::string& value) {
  _internal_set_category(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.FlowEventInfo.category)
}
inline std::string* FlowEventInfo::mutable_category() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.FlowEventInfo.category)
  return _internal_mutable_category();
}
inline const std::string& FlowEventInfo::_internal_category() const {
  return category_.Get();
}
inline void FlowEventInfo::_internal_set_category(const std::string& value) {
  
  category_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void FlowEventInfo::set_category(std::string&& value) {
  
  category_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.FlowEventInfo.category)
}
inline void FlowEventInfo::set_category(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  category_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.FlowEventInfo.category)
}
inline void FlowEventInfo::set_category(const char* value,
    size_t size) {
  
  category_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.FlowEventInfo.category)
}
inline std::string* FlowEventInfo::_internal_mutable_category() {
  
  return category_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* FlowEventInfo::release_category() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.FlowEventInfo.category)
  return category_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void FlowEventInfo::set_allocated_category(std::string* category) {
  if (category != nullptr) {
    
  } else {
    
  }
  category_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), category,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.FlowEventInfo.category)
}

// uint64 start_time_ps = 5;
inline void FlowEventInfo::clear_start_time_ps() {
  start_time_ps_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 FlowEventInfo::_internal_start_time_ps() const {
  return start_time_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 FlowEventInfo::start_time_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.FlowEventInfo.start_time_ps)
  return _internal_start_time_ps();
}
inline void FlowEventInfo::_internal_set_start_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  start_time_ps_ = value;
}
inline void FlowEventInfo::set_start_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_start_time_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.FlowEventInfo.start_time_ps)
}

// uint64 end_time_ps = 6;
inline void FlowEventInfo::clear_end_time_ps() {
  end_time_ps_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 FlowEventInfo::_internal_end_time_ps() const {
  return end_time_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 FlowEventInfo::end_time_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.FlowEventInfo.end_time_ps)
  return _internal_end_time_ps();
}
inline void FlowEventInfo::_internal_set_end_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  end_time_ps_ = value;
}
inline void FlowEventInfo::set_end_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_end_time_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.FlowEventInfo.end_time_ps)
}

// uint64 byte_size = 7;
inline void FlowEventInfo::clear_byte_size() {
  byte_size_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 FlowEventInfo::_internal_byte_size() const {
  return byte_size_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 FlowEventInfo::byte_size() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.FlowEventInfo.byte_size)
  return _internal_byte_size();
}
inline void FlowEventInfo::_internal_set_byte_size(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  byte_size_ = value;
}
inline void FlowEventInfo::set_byte_size(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_byte_size(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.FlowEventInfo.byte_size)
}

// uint32 replica_id = 8;
inline void FlowEventInfo::clear_replica_id() {
  replica_id_ = 0u;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 FlowEventInfo::_internal_replica_id() const {
  return replica_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 FlowEventInfo::replica_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.FlowEventInfo.replica_id)
  return _internal_replica_id();
}
inline void FlowEventInfo::_internal_set_replica_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  
  replica_id_ = value;
}
inline void FlowEventInfo::set_replica_id(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  _internal_set_replica_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.FlowEventInfo.replica_id)
}

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

// FlowDbResult

// repeated .tensorflow.profiler.FlowEventInfo flow_info = 1;
inline int FlowDbResult::_internal_flow_info_size() const {
  return flow_info_.size();
}
inline int FlowDbResult::flow_info_size() const {
  return _internal_flow_info_size();
}
inline void FlowDbResult::clear_flow_info() {
  flow_info_.Clear();
}
inline ::tensorflow::profiler::FlowEventInfo* FlowDbResult::mutable_flow_info(int index) {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.FlowDbResult.flow_info)
  return flow_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::FlowEventInfo >*
FlowDbResult::mutable_flow_info() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.FlowDbResult.flow_info)
  return &flow_info_;
}
inline const ::tensorflow::profiler::FlowEventInfo& FlowDbResult::_internal_flow_info(int index) const {
  return flow_info_.Get(index);
}
inline const ::tensorflow::profiler::FlowEventInfo& FlowDbResult::flow_info(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.FlowDbResult.flow_info)
  return _internal_flow_info(index);
}
inline ::tensorflow::profiler::FlowEventInfo* FlowDbResult::_internal_add_flow_info() {
  return flow_info_.Add();
}
inline ::tensorflow::profiler::FlowEventInfo* FlowDbResult::add_flow_info() {
  // @@protoc_insertion_point(field_add:tensorflow.profiler.FlowDbResult.flow_info)
  return _internal_add_flow_info();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::FlowEventInfo >&
FlowDbResult::flow_info() const {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.FlowDbResult.flow_info)
  return flow_info_;
}

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

// AllReduceInfo

// uint64 id = 1;
inline void AllReduceInfo::clear_id() {
  id_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::_internal_id() const {
  return id_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.AllReduceInfo.id)
  return _internal_id();
}
inline void AllReduceInfo::_internal_set_id(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  id_ = value;
}
inline void AllReduceInfo::set_id(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.AllReduceInfo.id)
}

// string name = 2;
inline void AllReduceInfo::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& AllReduceInfo::name() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.AllReduceInfo.name)
  return _internal_name();
}
inline void AllReduceInfo::set_name(const std::string& value) {
  _internal_set_name(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.AllReduceInfo.name)
}
inline std::string* AllReduceInfo::mutable_name() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.AllReduceInfo.name)
  return _internal_mutable_name();
}
inline const std::string& AllReduceInfo::_internal_name() const {
  return name_.Get();
}
inline void AllReduceInfo::_internal_set_name(const std::string& value) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
}
inline void AllReduceInfo::set_name(std::string&& value) {
  
  name_.Set(
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
  // @@protoc_insertion_point(field_set_rvalue:tensorflow.profiler.AllReduceInfo.name)
}
inline void AllReduceInfo::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
  // @@protoc_insertion_point(field_set_char:tensorflow.profiler.AllReduceInfo.name)
}
inline void AllReduceInfo::set_name(const char* value,
    size_t size) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
      reinterpret_cast<const char*>(value), size), GetArena());
  // @@protoc_insertion_point(field_set_pointer:tensorflow.profiler.AllReduceInfo.name)
}
inline std::string* AllReduceInfo::_internal_mutable_name() {
  
  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
}
inline std::string* AllReduceInfo::release_name() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.AllReduceInfo.name)
  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}
inline void AllReduceInfo::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
      GetArena());
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.AllReduceInfo.name)
}

// uint64 all_reduce_id = 3;
inline void AllReduceInfo::clear_all_reduce_id() {
  all_reduce_id_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::_internal_all_reduce_id() const {
  return all_reduce_id_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::all_reduce_id() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.AllReduceInfo.all_reduce_id)
  return _internal_all_reduce_id();
}
inline void AllReduceInfo::_internal_set_all_reduce_id(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  all_reduce_id_ = value;
}
inline void AllReduceInfo::set_all_reduce_id(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_all_reduce_id(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.AllReduceInfo.all_reduce_id)
}

// uint64 start_time_ps = 4;
inline void AllReduceInfo::clear_start_time_ps() {
  start_time_ps_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::_internal_start_time_ps() const {
  return start_time_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::start_time_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.AllReduceInfo.start_time_ps)
  return _internal_start_time_ps();
}
inline void AllReduceInfo::_internal_set_start_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  start_time_ps_ = value;
}
inline void AllReduceInfo::set_start_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_start_time_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.AllReduceInfo.start_time_ps)
}

// uint64 end_time_ps = 5;
inline void AllReduceInfo::clear_end_time_ps() {
  end_time_ps_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::_internal_end_time_ps() const {
  return end_time_ps_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::end_time_ps() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.AllReduceInfo.end_time_ps)
  return _internal_end_time_ps();
}
inline void AllReduceInfo::_internal_set_end_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  end_time_ps_ = value;
}
inline void AllReduceInfo::set_end_time_ps(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_end_time_ps(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.AllReduceInfo.end_time_ps)
}

// uint64 byte_size = 6;
inline void AllReduceInfo::clear_byte_size() {
  byte_size_ = PROTOBUF_ULONGLONG(0);
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::_internal_byte_size() const {
  return byte_size_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint64 AllReduceInfo::byte_size() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.AllReduceInfo.byte_size)
  return _internal_byte_size();
}
inline void AllReduceInfo::_internal_set_byte_size(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  
  byte_size_ = value;
}
inline void AllReduceInfo::set_byte_size(::PROTOBUF_NAMESPACE_ID::uint64 value) {
  _internal_set_byte_size(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.AllReduceInfo.byte_size)
}

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

// AllReduceDbResult

// repeated .tensorflow.profiler.AllReduceInfo all_reduce_info = 1;
inline int AllReduceDbResult::_internal_all_reduce_info_size() const {
  return all_reduce_info_.size();
}
inline int AllReduceDbResult::all_reduce_info_size() const {
  return _internal_all_reduce_info_size();
}
inline void AllReduceDbResult::clear_all_reduce_info() {
  all_reduce_info_.Clear();
}
inline ::tensorflow::profiler::AllReduceInfo* AllReduceDbResult::mutable_all_reduce_info(int index) {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.AllReduceDbResult.all_reduce_info)
  return all_reduce_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::AllReduceInfo >*
AllReduceDbResult::mutable_all_reduce_info() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.AllReduceDbResult.all_reduce_info)
  return &all_reduce_info_;
}
inline const ::tensorflow::profiler::AllReduceInfo& AllReduceDbResult::_internal_all_reduce_info(int index) const {
  return all_reduce_info_.Get(index);
}
inline const ::tensorflow::profiler::AllReduceInfo& AllReduceDbResult::all_reduce_info(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.AllReduceDbResult.all_reduce_info)
  return _internal_all_reduce_info(index);
}
inline ::tensorflow::profiler::AllReduceInfo* AllReduceDbResult::_internal_add_all_reduce_info() {
  return all_reduce_info_.Add();
}
inline ::tensorflow::profiler::AllReduceInfo* AllReduceDbResult::add_all_reduce_info() {
  // @@protoc_insertion_point(field_add:tensorflow.profiler.AllReduceDbResult.all_reduce_info)
  return _internal_add_all_reduce_info();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::AllReduceInfo >&
AllReduceDbResult::all_reduce_info() const {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.AllReduceDbResult.all_reduce_info)
  return all_reduce_info_;
}

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

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

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

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

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

// PerCoreStepInfo

// uint32 step_num = 1;
inline void PerCoreStepInfo::clear_step_num() {
  step_num_ = 0u;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 PerCoreStepInfo::_internal_step_num() const {
  return step_num_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 PerCoreStepInfo::step_num() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.PerCoreStepInfo.step_num)
  return _internal_step_num();
}
inline void PerCoreStepInfo::_internal_set_step_num(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  
  step_num_ = value;
}
inline void PerCoreStepInfo::set_step_num(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  _internal_set_step_num(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.PerCoreStepInfo.step_num)
}

// map<uint32, .tensorflow.profiler.StepInfoResult> step_info_per_core = 2;
inline int PerCoreStepInfo::_internal_step_info_per_core_size() const {
  return step_info_per_core_.size();
}
inline int PerCoreStepInfo::step_info_per_core_size() const {
  return _internal_step_info_per_core_size();
}
inline void PerCoreStepInfo::clear_step_info_per_core() {
  step_info_per_core_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult >&
PerCoreStepInfo::_internal_step_info_per_core() const {
  return step_info_per_core_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult >&
PerCoreStepInfo::step_info_per_core() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.PerCoreStepInfo.step_info_per_core)
  return _internal_step_info_per_core();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult >*
PerCoreStepInfo::_internal_mutable_step_info_per_core() {
  return step_info_per_core_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::StepInfoResult >*
PerCoreStepInfo::mutable_step_info_per_core() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.PerCoreStepInfo.step_info_per_core)
  return _internal_mutable_step_info_per_core();
}

// .tensorflow.profiler.OpMetricsDb hlo_metrics_db = 3;
inline bool PerCoreStepInfo::_internal_has_hlo_metrics_db() const {
  return this != internal_default_instance() && hlo_metrics_db_ != nullptr;
}
inline bool PerCoreStepInfo::has_hlo_metrics_db() const {
  return _internal_has_hlo_metrics_db();
}
inline const ::tensorflow::profiler::OpMetricsDb& PerCoreStepInfo::_internal_hlo_metrics_db() const {
  const ::tensorflow::profiler::OpMetricsDb* p = hlo_metrics_db_;
  return p != nullptr ? *p : reinterpret_cast<const ::tensorflow::profiler::OpMetricsDb&>(
      ::tensorflow::profiler::_OpMetricsDb_default_instance_);
}
inline const ::tensorflow::profiler::OpMetricsDb& PerCoreStepInfo::hlo_metrics_db() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.PerCoreStepInfo.hlo_metrics_db)
  return _internal_hlo_metrics_db();
}
inline void PerCoreStepInfo::unsafe_arena_set_allocated_hlo_metrics_db(
    ::tensorflow::profiler::OpMetricsDb* hlo_metrics_db) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(hlo_metrics_db_);
  }
  hlo_metrics_db_ = hlo_metrics_db;
  if (hlo_metrics_db) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:tensorflow.profiler.PerCoreStepInfo.hlo_metrics_db)
}
inline ::tensorflow::profiler::OpMetricsDb* PerCoreStepInfo::release_hlo_metrics_db() {
  
  ::tensorflow::profiler::OpMetricsDb* temp = hlo_metrics_db_;
  hlo_metrics_db_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::tensorflow::profiler::OpMetricsDb* PerCoreStepInfo::unsafe_arena_release_hlo_metrics_db() {
  // @@protoc_insertion_point(field_release:tensorflow.profiler.PerCoreStepInfo.hlo_metrics_db)
  
  ::tensorflow::profiler::OpMetricsDb* temp = hlo_metrics_db_;
  hlo_metrics_db_ = nullptr;
  return temp;
}
inline ::tensorflow::profiler::OpMetricsDb* PerCoreStepInfo::_internal_mutable_hlo_metrics_db() {
  
  if (hlo_metrics_db_ == nullptr) {
    auto* p = CreateMaybeMessage<::tensorflow::profiler::OpMetricsDb>(GetArena());
    hlo_metrics_db_ = p;
  }
  return hlo_metrics_db_;
}
inline ::tensorflow::profiler::OpMetricsDb* PerCoreStepInfo::mutable_hlo_metrics_db() {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.PerCoreStepInfo.hlo_metrics_db)
  return _internal_mutable_hlo_metrics_db();
}
inline void PerCoreStepInfo::set_allocated_hlo_metrics_db(::tensorflow::profiler::OpMetricsDb* hlo_metrics_db) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(hlo_metrics_db_);
  }
  if (hlo_metrics_db) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(hlo_metrics_db)->GetArena();
    if (message_arena != submessage_arena) {
      hlo_metrics_db = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, hlo_metrics_db, submessage_arena);
    }
    
  } else {
    
  }
  hlo_metrics_db_ = hlo_metrics_db;
  // @@protoc_insertion_point(field_set_allocated:tensorflow.profiler.PerCoreStepInfo.hlo_metrics_db)
}

// map<uint32, .tensorflow.profiler.FlowDbResult> flow_db_per_core = 4;
inline int PerCoreStepInfo::_internal_flow_db_per_core_size() const {
  return flow_db_per_core_.size();
}
inline int PerCoreStepInfo::flow_db_per_core_size() const {
  return _internal_flow_db_per_core_size();
}
inline void PerCoreStepInfo::clear_flow_db_per_core() {
  flow_db_per_core_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult >&
PerCoreStepInfo::_internal_flow_db_per_core() const {
  return flow_db_per_core_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult >&
PerCoreStepInfo::flow_db_per_core() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.PerCoreStepInfo.flow_db_per_core)
  return _internal_flow_db_per_core();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult >*
PerCoreStepInfo::_internal_mutable_flow_db_per_core() {
  return flow_db_per_core_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::FlowDbResult >*
PerCoreStepInfo::mutable_flow_db_per_core() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.PerCoreStepInfo.flow_db_per_core)
  return _internal_mutable_flow_db_per_core();
}

// map<uint32, uint32> core_id_to_replica_id_map = 5;
inline int PerCoreStepInfo::_internal_core_id_to_replica_id_map_size() const {
  return core_id_to_replica_id_map_.size();
}
inline int PerCoreStepInfo::core_id_to_replica_id_map_size() const {
  return _internal_core_id_to_replica_id_map_size();
}
inline void PerCoreStepInfo::clear_core_id_to_replica_id_map() {
  core_id_to_replica_id_map_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32 >&
PerCoreStepInfo::_internal_core_id_to_replica_id_map() const {
  return core_id_to_replica_id_map_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32 >&
PerCoreStepInfo::core_id_to_replica_id_map() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.PerCoreStepInfo.core_id_to_replica_id_map)
  return _internal_core_id_to_replica_id_map();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32 >*
PerCoreStepInfo::_internal_mutable_core_id_to_replica_id_map() {
  return core_id_to_replica_id_map_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::PROTOBUF_NAMESPACE_ID::uint32 >*
PerCoreStepInfo::mutable_core_id_to_replica_id_map() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.PerCoreStepInfo.core_id_to_replica_id_map)
  return _internal_mutable_core_id_to_replica_id_map();
}

// map<uint32, .tensorflow.profiler.AllReduceDbResult> all_reduce_db_per_core = 6;
inline int PerCoreStepInfo::_internal_all_reduce_db_per_core_size() const {
  return all_reduce_db_per_core_.size();
}
inline int PerCoreStepInfo::all_reduce_db_per_core_size() const {
  return _internal_all_reduce_db_per_core_size();
}
inline void PerCoreStepInfo::clear_all_reduce_db_per_core() {
  all_reduce_db_per_core_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult >&
PerCoreStepInfo::_internal_all_reduce_db_per_core() const {
  return all_reduce_db_per_core_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult >&
PerCoreStepInfo::all_reduce_db_per_core() const {
  // @@protoc_insertion_point(field_map:tensorflow.profiler.PerCoreStepInfo.all_reduce_db_per_core)
  return _internal_all_reduce_db_per_core();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult >*
PerCoreStepInfo::_internal_mutable_all_reduce_db_per_core() {
  return all_reduce_db_per_core_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< ::PROTOBUF_NAMESPACE_ID::uint32, ::tensorflow::profiler::AllReduceDbResult >*
PerCoreStepInfo::mutable_all_reduce_db_per_core() {
  // @@protoc_insertion_point(field_mutable_map:tensorflow.profiler.PerCoreStepInfo.all_reduce_db_per_core)
  return _internal_mutable_all_reduce_db_per_core();
}

// repeated .tensorflow.profiler.DeviceMemoryTransfer device_memory_transfers = 7;
inline int PerCoreStepInfo::_internal_device_memory_transfers_size() const {
  return device_memory_transfers_.size();
}
inline int PerCoreStepInfo::device_memory_transfers_size() const {
  return _internal_device_memory_transfers_size();
}
inline void PerCoreStepInfo::clear_device_memory_transfers() {
  device_memory_transfers_.Clear();
}
inline ::tensorflow::profiler::DeviceMemoryTransfer* PerCoreStepInfo::mutable_device_memory_transfers(int index) {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.PerCoreStepInfo.device_memory_transfers)
  return device_memory_transfers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::DeviceMemoryTransfer >*
PerCoreStepInfo::mutable_device_memory_transfers() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.PerCoreStepInfo.device_memory_transfers)
  return &device_memory_transfers_;
}
inline const ::tensorflow::profiler::DeviceMemoryTransfer& PerCoreStepInfo::_internal_device_memory_transfers(int index) const {
  return device_memory_transfers_.Get(index);
}
inline const ::tensorflow::profiler::DeviceMemoryTransfer& PerCoreStepInfo::device_memory_transfers(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.PerCoreStepInfo.device_memory_transfers)
  return _internal_device_memory_transfers(index);
}
inline ::tensorflow::profiler::DeviceMemoryTransfer* PerCoreStepInfo::_internal_add_device_memory_transfers() {
  return device_memory_transfers_.Add();
}
inline ::tensorflow::profiler::DeviceMemoryTransfer* PerCoreStepInfo::add_device_memory_transfers() {
  // @@protoc_insertion_point(field_add:tensorflow.profiler.PerCoreStepInfo.device_memory_transfers)
  return _internal_add_device_memory_transfers();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::DeviceMemoryTransfer >&
PerCoreStepInfo::device_memory_transfers() const {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.PerCoreStepInfo.device_memory_transfers)
  return device_memory_transfers_;
}

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

// StepDatabaseResult

// repeated .tensorflow.profiler.PerCoreStepInfo step_sequence = 1;
inline int StepDatabaseResult::_internal_step_sequence_size() const {
  return step_sequence_.size();
}
inline int StepDatabaseResult::step_sequence_size() const {
  return _internal_step_sequence_size();
}
inline void StepDatabaseResult::clear_step_sequence() {
  step_sequence_.Clear();
}
inline ::tensorflow::profiler::PerCoreStepInfo* StepDatabaseResult::mutable_step_sequence(int index) {
  // @@protoc_insertion_point(field_mutable:tensorflow.profiler.StepDatabaseResult.step_sequence)
  return step_sequence_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::PerCoreStepInfo >*
StepDatabaseResult::mutable_step_sequence() {
  // @@protoc_insertion_point(field_mutable_list:tensorflow.profiler.StepDatabaseResult.step_sequence)
  return &step_sequence_;
}
inline const ::tensorflow::profiler::PerCoreStepInfo& StepDatabaseResult::_internal_step_sequence(int index) const {
  return step_sequence_.Get(index);
}
inline const ::tensorflow::profiler::PerCoreStepInfo& StepDatabaseResult::step_sequence(int index) const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.StepDatabaseResult.step_sequence)
  return _internal_step_sequence(index);
}
inline ::tensorflow::profiler::PerCoreStepInfo* StepDatabaseResult::_internal_add_step_sequence() {
  return step_sequence_.Add();
}
inline ::tensorflow::profiler::PerCoreStepInfo* StepDatabaseResult::add_step_sequence() {
  // @@protoc_insertion_point(field_add:tensorflow.profiler.StepDatabaseResult.step_sequence)
  return _internal_add_step_sequence();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::tensorflow::profiler::PerCoreStepInfo >&
StepDatabaseResult::step_sequence() const {
  // @@protoc_insertion_point(field_list:tensorflow.profiler.StepDatabaseResult.step_sequence)
  return step_sequence_;
}

// bool use_incomplete_step = 2;
inline void StepDatabaseResult::clear_use_incomplete_step() {
  use_incomplete_step_ = false;
}
inline bool StepDatabaseResult::_internal_use_incomplete_step() const {
  return use_incomplete_step_;
}
inline bool StepDatabaseResult::use_incomplete_step() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.StepDatabaseResult.use_incomplete_step)
  return _internal_use_incomplete_step();
}
inline void StepDatabaseResult::_internal_set_use_incomplete_step(bool value) {
  
  use_incomplete_step_ = value;
}
inline void StepDatabaseResult::set_use_incomplete_step(bool value) {
  _internal_set_use_incomplete_step(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.StepDatabaseResult.use_incomplete_step)
}

// uint32 num_steps_dropped = 3;
inline void StepDatabaseResult::clear_num_steps_dropped() {
  num_steps_dropped_ = 0u;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 StepDatabaseResult::_internal_num_steps_dropped() const {
  return num_steps_dropped_;
}
inline ::PROTOBUF_NAMESPACE_ID::uint32 StepDatabaseResult::num_steps_dropped() const {
  // @@protoc_insertion_point(field_get:tensorflow.profiler.StepDatabaseResult.num_steps_dropped)
  return _internal_num_steps_dropped();
}
inline void StepDatabaseResult::_internal_set_num_steps_dropped(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  
  num_steps_dropped_ = value;
}
inline void StepDatabaseResult::set_num_steps_dropped(::PROTOBUF_NAMESPACE_ID::uint32 value) {
  _internal_set_num_steps_dropped(value);
  // @@protoc_insertion_point(field_set:tensorflow.profiler.StepDatabaseResult.num_steps_dropped)
}

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

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

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

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

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

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

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace profiler
}  // namespace tensorflow

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_tensorflow_2fcore_2fprofiler_2fprotobuf_2fsteps_5fdb_2eproto
