attribution_processing/
fkernel_serde.rs

1// Copyright 2025 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5use fidl_fuchsia_kernel as fkernel;
6use serde::{Deserialize, Serialize};
7
8#[derive(Serialize, Deserialize)]
9#[serde(remote = "fkernel::MemoryStats")]
10pub struct MemoryStatsDef {
11    pub total_bytes: Option<u64>,
12    pub free_bytes: Option<u64>,
13    pub wired_bytes: Option<u64>,
14    pub total_heap_bytes: Option<u64>,
15    pub free_heap_bytes: Option<u64>,
16    pub vmo_bytes: Option<u64>,
17    pub mmu_overhead_bytes: Option<u64>,
18    pub ipc_bytes: Option<u64>,
19    pub other_bytes: Option<u64>,
20    pub free_loaned_bytes: Option<u64>,
21    pub cache_bytes: Option<u64>,
22    pub slab_bytes: Option<u64>,
23    pub zram_bytes: Option<u64>,
24    pub vmo_reclaim_total_bytes: Option<u64>,
25    pub vmo_reclaim_newest_bytes: Option<u64>,
26    pub vmo_reclaim_oldest_bytes: Option<u64>,
27    pub vmo_reclaim_disabled_bytes: Option<u64>,
28    pub vmo_discardable_locked_bytes: Option<u64>,
29    pub vmo_discardable_unlocked_bytes: Option<u64>,
30    #[doc(hidden)]
31    #[serde(skip)]
32    pub __source_breaking: fidl::marker::SourceBreaking,
33}
34
35#[derive(Serialize, Deserialize)]
36#[serde(remote = "fkernel::MemoryStatsCompression")]
37pub struct MemoryStatsCompressionDef {
38    pub uncompressed_storage_bytes: Option<u64>,
39    pub compressed_storage_bytes: Option<u64>,
40    pub compressed_fragmentation_bytes: Option<u64>,
41    pub compression_time: Option<i64>,
42    pub decompression_time: Option<i64>,
43    pub total_page_compression_attempts: Option<u64>,
44    pub failed_page_compression_attempts: Option<u64>,
45    pub total_page_decompressions: Option<u64>,
46    pub compressed_page_evictions: Option<u64>,
47    pub eager_page_compressions: Option<u64>,
48    pub memory_pressure_page_compressions: Option<u64>,
49    pub critical_memory_page_compressions: Option<u64>,
50    pub pages_decompressed_unit_ns: Option<u64>,
51    pub pages_decompressed_within_log_time: Option<[u64; 8]>,
52    #[doc(hidden)]
53    #[serde(skip)]
54    pub __source_breaking: fidl::marker::SourceBreaking,
55}