|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package envoy.admin.v2alpha;
|
|
|
|
|
|
|
|
option java_outer_classname = "MemoryProto";
|
|
|
|
option java_multiple_files = true;
|
|
|
|
option java_package = "io.envoyproxy.envoy.admin.v2alpha";
|
|
|
|
|
|
|
|
// [#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).
|
|
|
|
message 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;
|
|
|
|
}
|