feat(inputs.memcached): Add support for external-store metrics (#15910)

This commit is contained in:
Paulo Dias 2024-09-19 10:38:28 +01:00 committed by GitHub
parent 6b68a68eff
commit 24b7b91fbf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 84 additions and 0 deletions

View File

@ -69,6 +69,27 @@ Fields:
new items
* expired_unfetched - Items pulled from LRU that were never touched by
get/incr/append/etc before expiring
* extstore_compact_lost - The number of objects lost during the compaction process. This happens when objects couldn't be rescued or moved to other pages before they were overwritten or evicted.
* extstore_compact_rescues - The total number of objects successfully rescued during the compaction process, meaning they were moved to another page instead of being discarded.
* extstore_compact_resc_cold - The number of cold objects (rarely accessed) rescued during the compaction process.
* extstore_compact_resc_old - The number of older objects (likely less frequently accessed) rescued during the compaction process.
* extstore_compact_skipped - The number of compaction operations skipped, often due to the page not requiring compaction or other conditions preventing it.
* extstore_page_allocs - The total number of pages allocated in the external storage system.
* extstore_page_evictions - The total number of pages evicted (removed) from external storage, generally to free up space.
* extstore_page_reclaims - The total number of previously evicted pages that were reclaimed and reused.
* extstore_pages_free - The number of pages currently free (unallocated) in the external storage.
* extstore_pages_used - The number of pages currently in use in the external storage system.
* extstore_objects_evicted - The total number of objects evicted from external storage, typically to free up space.
* extstore_objects_read - The total number of objects read from external storage.
* extstore_objects_written - The total number of objects written to external storage.
* extstore_objects_used - The number of active objects currently in use in the external storage.
* extstore_bytes_evicted - The total number of bytes evicted from external storage.
* extstore_bytes_written - The total number of bytes written to external storage.
* extstore_bytes_read - The total number of bytes read from external storage.
* extstore_bytes_used - The total number of bytes currently in use in external storage.
* extstore_bytes_fragmented - The total number of fragmented bytes in external storage, representing space that is allocated but not fully utilized.
* extstore_limit_maxbytes - The maximum limit of bytes that external storage can use.
* extstore_io_queue - The current length of the I/O queue, representing pending input/output operations for external storage.
* get_expired - Number of items that have been requested but had already
expired
* get_flushed - Number of items that have been requested but have been flushed

View File

@ -59,6 +59,27 @@ var sendMetrics = []string{
"evicted_unfetched",
"evictions",
"expired_unfetched",
"extstore_compact_lost",
"extstore_compact_rescues",
"extstore_compact_resc_cold",
"extstore_compact_resc_old",
"extstore_compact_skipped",
"extstore_page_allocs",
"extstore_page_evictions",
"extstore_page_reclaims",
"extstore_pages_free",
"extstore_pages_used",
"extstore_objects_evicted",
"extstore_objects_read",
"extstore_objects_written",
"extstore_objects_used",
"extstore_bytes_evicted",
"extstore_bytes_written",
"extstore_bytes_read",
"extstore_bytes_used",
"extstore_bytes_fragmented",
"extstore_limit_maxbytes",
"extstore_io_queue",
"get_expired",
"get_flushed",
"get_hits",

View File

@ -131,6 +131,27 @@ func TestMemcachedParseMetrics(t *testing.T) {
{"log_watcher_skipped", "0"},
{"log_watcher_sent", "0"},
{"log_watchers", "0"},
{"extstore_compact_lost", "3287"},
{"extstore_compact_rescues", "47014"},
{"extstore_compact_resc_cold", "0"},
{"extstore_compact_resc_old", "0"},
{"extstore_compact_skipped", "0"},
{"extstore_page_allocs", "30047"},
{"extstore_page_evictions", "25315"},
{"extstore_page_reclaims", "29247"},
{"extstore_pages_free", "0"},
{"extstore_pages_used", "800"},
{"extstore_objects_evicted", "1243091"},
{"extstore_objects_read", "938410"},
{"extstore_objects_written", "1487003"},
{"extstore_objects_used", "39319"},
{"extstore_bytes_evicted", "1638804587744"},
{"extstore_bytes_written", "1951205770118"},
{"extstore_bytes_read", "1249921752566"},
{"extstore_bytes_used", "51316205305"},
{"extstore_bytes_fragmented", "2370885895"},
{"extstore_limit_maxbytes", "53687091200"},
{"extstore_io_queue", "0"},
{"unexpected_napi_ids", "0"},
{"round_robin_fallback", "0"},
{"bytes", "0"},
@ -238,6 +259,27 @@ STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT log_watchers 0
STAT extstore_compact_lost 3287
STAT extstore_compact_rescues 47014
STAT extstore_compact_resc_cold 0
STAT extstore_compact_resc_old 0
STAT extstore_compact_skipped 0
STAT extstore_page_allocs 30047
STAT extstore_page_evictions 25315
STAT extstore_page_reclaims 29247
STAT extstore_pages_free 0
STAT extstore_pages_used 800
STAT extstore_objects_evicted 1243091
STAT extstore_objects_read 938410
STAT extstore_objects_written 1487003
STAT extstore_objects_used 39319
STAT extstore_bytes_evicted 1638804587744
STAT extstore_bytes_written 1951205770118
STAT extstore_bytes_read 1249921752566
STAT extstore_bytes_used 51316205305
STAT extstore_bytes_fragmented 2370885895
STAT extstore_limit_maxbytes 53687091200
STAT extstore_io_queue 0
STAT unexpected_napi_ids 0
STAT round_robin_fallback 0
STAT bytes 0