syntax = "proto3"; package envoy.admin.v4alpha; import "udpa/annotations/status.proto"; import "udpa/annotations/versioning.proto"; option java_package = "io.envoyproxy.envoy.admin.v4alpha"; option java_outer_classname = "MemoryProto"; option java_multiple_files = true; option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSION_CANDIDATE; // [#protodoc-title: Memory] // Proto representation of the internal memory consumption of an Envoy instance. These represent // values extracted from an internal TCMalloc instance. For more information, see the section of the // docs entitled ["Generic Tcmalloc Status"](https://gperftools.github.io/gperftools/tcmalloc.html). // [#next-free-field: 7] message Memory { option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.Memory"; // The number of bytes allocated by the heap for Envoy. This is an alias for // `generic.current_allocated_bytes`. uint64 allocated = 1; // The number of bytes reserved by the heap but not necessarily allocated. This is an alias for // `generic.heap_size`. uint64 heap_size = 2; // The number of bytes in free, unmapped pages in the page heap. These bytes always count towards // virtual memory usage, and depending on the OS, typically do not count towards physical memory // usage. This is an alias for `tcmalloc.pageheap_unmapped_bytes`. uint64 pageheap_unmapped = 3; // The number of bytes in free, mapped pages in the page heap. These bytes always count towards // virtual memory usage, and unless the underlying memory is swapped out by the OS, they also // count towards physical memory usage. This is an alias for `tcmalloc.pageheap_free_bytes`. uint64 pageheap_free = 4; // The amount of memory used by the TCMalloc thread caches (for small objects). This is an alias // for `tcmalloc.current_total_thread_cache_bytes`. uint64 total_thread_cache = 5; // The number of bytes of the physical memory usage by the allocator. This is an alias for // `generic.total_physical_bytes`. uint64 total_physical_bytes = 6; }