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

module tensorflow.bfc_memory_map;

import google.protobuf;

enum protocVersion = 3012004;

class MemAllocatorStats
{
    @Proto(1) long numAllocs = protoDefaultValue!(long);
    @Proto(2) long bytesInUse = protoDefaultValue!(long);
    @Proto(3) long peakBytesInUse = protoDefaultValue!(long);
    @Proto(4) long largestAllocSize = protoDefaultValue!(long);
    @Proto(5) float fragmentationMetric = protoDefaultValue!(float);
}

class MemChunk
{
    @Proto(1) ulong address = protoDefaultValue!(ulong);
    @Proto(2) long size = protoDefaultValue!(long);
    @Proto(3) long requestedSize = protoDefaultValue!(long);
    @Proto(4) int bin = protoDefaultValue!(int);
    @Proto(5) string opName = protoDefaultValue!(string);
    @Proto(6) ulong freedAtCount = protoDefaultValue!(ulong);
    @Proto(7) ulong actionCount = protoDefaultValue!(ulong);
    @Proto(8) bool inUse = protoDefaultValue!(bool);
    @Proto(9) ulong stepId = protoDefaultValue!(ulong);
}

class BinSummary
{
    @Proto(1) int bin = protoDefaultValue!(int);
    @Proto(2) long totalBytesInUse = protoDefaultValue!(long);
    @Proto(3) long totalBytesInBin = protoDefaultValue!(long);
    @Proto(4) long totalChunksInUse = protoDefaultValue!(long);
    @Proto(5) long totalChunksInBin = protoDefaultValue!(long);
}

class SnapShot
{
    @Proto(1) ulong actionCount = protoDefaultValue!(ulong);
    @Proto(2) long size = protoDefaultValue!(long);
}

class MemoryDump
{
    @Proto(1) string allocatorName = protoDefaultValue!(string);
    @Proto(2) BinSummary[] binSummary = protoDefaultValue!(BinSummary[]);
    @Proto(3) MemChunk[] chunk = protoDefaultValue!(MemChunk[]);
    @Proto(4) SnapShot[] snapShot = protoDefaultValue!(SnapShot[]);
    @Proto(5) MemAllocatorStats stats = protoDefaultValue!(MemAllocatorStats);
}