class_docstr: Describes a single cache entry.
  
  Properties
  ----------
  category_name : str
      A human-readable name for the cache "category" that the entry belongs
      to - e.g. "st.memo", "session_state", etc.
  cache_name : str
      A human-readable name for cache instance that the entry belongs to.
      For "st.memo" and other function decorator caches, this might be the
      name of the cached function. If the cache category doesn't have
      multiple separate cache instances, this can just be the empty string.
  byte_length : int
      The entry's memory footprint in bytes.
class_docstr_tok: ["Describes","a","single","cache","entry",".","Properties","--","--","--","--","--","category_name",":","str","A","human-readable","name","for","the","cache","``","category","''","that","the","entry","belongs","to","-","e.g",".","``","st.memo","''",",","``","session_state","''",",","etc",".","cache_name",":","str","A","human-readable","name","for","cache","instance","that","the","entry","belongs","to",".","For","``","st.memo","''","and","other","function","decorator","caches",",","this","might","be","the","name","of","the","cached","function",".","If","the","cache","category","does","n't","have","multiple","separate","cache","instances",",","this","can","just","be","the","empty","string",".","byte_length",":","int","The","entry","'s","memory","footprint","in","bytes","."]
code: def to_metric_str(self) -> str:
      return 'cache_memory_bytes{cache_type="%s",cache="%s"} %s' % (
          self.category_name,
          self.cache_name,
          self.byte_length,
      )
  
file_path: streamlit/lib/streamlit/runtime/stats.py
imports: import itertools
  from abc import abstractmethod
  from typing import List, NamedTuple
  from typing_extensions import Protocol, runtime_checkable
  from streamlit.proto.openmetrics_data_model_pb2 import Metric
label_desc: Use image node_id 1 for calling the CacheStat obj's underlying member method code with example usage: obj.to_metric_str() and returns: unknown