*/
#define RESOURCE_FLAG_PROCESS BIT(1)
+/* Flags for resource_attribute */
+#define RESOURCE_ATTR_FLAG_PRIVATE BIT(0)
+#define RESOURCE_ATTR_FLAG_PUBLIC BIT(1)
+
struct resource;
struct resource_attribute;
const char name[BUFF_MAX];
const u_int64_t id;
const int type;
+ const u_int64_t flag;
const struct resource_attribute_ops ops;
};
.name = "BATTERY_ATTR_CAPACITY",
.id = BATTERY_ATTR_CAPACITY,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = battery_get_info,
}
.name = "BATTERY_ATTR_STATUS",
.id = BATTERY_ATTR_STATUS,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = battery_get_status,
}
.name = "BATTERY_ATTR_TEMPERATURE",
.id = BATTERY_ATTR_TEMPERATURE,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = battery_get_info,
}
.name = "BATTERY_ATTR_VOLTAGE_NOW",
.id = BATTERY_ATTR_VOLTAGE_NOW,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = battery_get_info,
}
.name = "BATTERY_ATTR_CURRENT_NOW",
.id = BATTERY_ATTR_CURRENT_NOW,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = battery_get_info,
}
.name = "BATTERY_ATTR_PRESENT",
.id = BATTERY_ATTR_PRESENT,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = battery_get_info,
}
.name = "BATTERY_ATTR_ONLINE",
.id = BATTERY_ATTR_ONLINE,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = battery_get_info,
}
.name = "BUS_ATTR_CUR_FREQ",
.id = BUS_ATTR_CUR_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = bus_get_value_from_hal_power,
},
.name = "BUS_ATTR_MIN_FREQ",
.id = BUS_ATTR_MIN_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = bus_get_value_from_hal_power,
},
.name = "BUS_ATTR_MAX_FREQ",
.id = BUS_ATTR_MAX_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = bus_get_value_from_hal_power,
}
.name = "BUS_ATTR_AVAILABLE_MIN_FREQ",
.id = BUS_ATTR_AVAILABLE_MIN_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = bus_get_value_from_hal_power,
}
.name = "BUS_ATTR_AVAILABLE_MAX_FREQ",
.id = BUS_ATTR_AVAILABLE_MAX_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = bus_get_value_from_hal_power,
}
.name = "BUS_ATTR_CUR_GOVERNOR",
.id = BUS_ATTR_CUR_GOVERNOR,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = bus_get_string_value,
}
.name = "BUS_ATTR_NAME",
.id = BUS_ATTR_NAME,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = bus_get_string_value,
}
.name = "CPU_ATTR_CUR_FREQ",
.id = CPU_ATTR_CUR_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = cpu_get_value_from_hal_power,
},
.name = "CPU_ATTR_MIN_FREQ",
.id = CPU_ATTR_MIN_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = cpu_get_value_from_hal_power,
},
.name = "CPU_ATTR_MAX_FREQ",
.id = CPU_ATTR_MAX_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = cpu_get_value_from_hal_power,
}
.name = "CPU_ATTR_AVAILABLE_MIN_FREQ",
.id = CPU_ATTR_AVAILABLE_MIN_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = cpu_get_value_from_hal_power,
}
.name = "CPU_ATTR_AVAILABLE_MAX_FREQ",
.id = CPU_ATTR_AVAILABLE_MAX_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = cpu_get_value_from_hal_power,
}
.name = "CPU_ATTR_CUR_GOVERNOR",
.id = CPU_ATTR_CUR_GOVERNOR,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = cpu_get_string_value,
}
.name = "CPU_ATTR_NAME",
.id = CPU_ATTR_NAME,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = cpu_get_string_value,
}
.name = "DISK_ATTR_NAME",
.id = DISK_ATTR_NAME,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = disk_get_value,
},
.name = "DISK_ATTR_READ_PER_SEC",
.id = DISK_ATTR_READ_PER_SEC,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = disk_get_value,
},
.name = "DISK_ATTR_WRITE_PER_SEC",
.id = DISK_ATTR_WRITE_PER_SEC,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = disk_get_value,
},
.name = "DISK_ATTR_READ_TOTAL",
.id = DISK_ATTR_READ_TOTAL,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = disk_get_value,
},
.name = "DISK_ATTR_WRITE_TOTAL",
.id = DISK_ATTR_WRITE_TOTAL,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = disk_get_value,
},
.name = "DISPLAY_ATTR_FPS",
.id = DISPLAY_ATTR_FPS,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = display_get_fps,
},
.name = "DISPLAY_ATTR_NAME",
.id = DISPLAY_ATTR_NAME,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = display_get_name,
},
.name = "GPU_ATTR_CUR_FREQ",
.id = GPU_ATTR_CUR_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = gpu_get_value_from_hal_power,
},
.name = "GPU_ATTR_MIN_FREQ",
.id = GPU_ATTR_MIN_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = gpu_get_value_from_hal_power,
},
.name = "GPU_ATTR_MAX_FREQ",
.id = GPU_ATTR_MAX_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = gpu_get_value_from_hal_power,
}
.name = "GPU_ATTR_AVAILABLE_MIN_FREQ",
.id = GPU_ATTR_AVAILABLE_MIN_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = gpu_get_value_from_hal_power,
}
.name = "GPU_ATTR_AVAILABLE_MAX_FREQ",
.id = GPU_ATTR_AVAILABLE_MAX_FREQ,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = gpu_get_value_from_hal_power,
}
.name = "GPU_ATTR_CUR_GOVERNOR",
.id = GPU_ATTR_CUR_GOVERNOR,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = gpu_get_string_value,
}
.name = "GPU_ATTR_NAME",
.id = GPU_ATTR_NAME,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = gpu_get_string_value,
}
.name = "MEMORY_ATTR_TOTAL",
.id = MEMORY_ATTR_TOTAL,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = memory_get_memory_info,
},
.name = "MEMORY_ATTR_AVAILABLE",
.id = MEMORY_ATTR_AVAILABLE,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = memory_get_memory_info,
},
.name = "MEMORY_ATTR_FREE",
.id = MEMORY_ATTR_FREE,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = memory_get_memory_info,
}
.name = "MEMORY_ATTR_BUFFER",
.id = MEMORY_ATTR_BUFFER,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = memory_get_memory_info,
}
.name = "MEMORY_ATTR_CACHED",
.id = MEMORY_ATTR_CACHED,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = memory_get_memory_info,
}
.name = "MEMORY_ATTR_CMA_TOTAL",
.id = MEMORY_ATTR_CMA_TOTAL,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = memory_get_memory_info,
}
.name = "MEMORY_ATTR_CMA_FREE",
.id = MEMORY_ATTR_CMA_FREE,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = memory_get_memory_info,
}
.name = "MEMORY_ATTR_SWAP_TOTAL",
.id = MEMORY_ATTR_SWAP_TOTAL,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = memory_get_memory_info,
}
.name = "MEMORY_ATTR_SWAP_FREE",
.id = MEMORY_ATTR_SWAP_FREE,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = memory_get_memory_info,
}
.name = "NETWORK_ATTR_NAME",
.id = NETWORK_ATTR_NAME,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = network_get_name,
},
.name = "PROCESS_GROUP_ATTR_PID_LIST",
.id = PROCESS_GROUP_ATTR_PID_LIST,
.type = DATA_TYPE_ARRAY,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_pid_list,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_NAME_LIST",
.id = PROCESS_GROUP_ATTR_NAME_LIST,
.type = DATA_TYPE_ARRAY,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_name_list,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_CPU_UTIL",
.id = PROCESS_GROUP_ATTR_CPU_UTIL,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_cpu_util,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_DISK_READ_PER_SEC",
.id = PROCESS_GROUP_ATTR_DISK_READ_PER_SEC,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_disk_attrs,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_DISK_WRITE_PER_SEC",
.id = PROCESS_GROUP_ATTR_DISK_WRITE_PER_SEC,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_disk_attrs,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_MEM_VIRT",
.id = PROCESS_GROUP_ATTR_MEM_VIRT,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_mem,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_MEM_RSS",
.id = PROCESS_GROUP_ATTR_MEM_RSS,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_mem,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_MEM_PSS",
.id = PROCESS_GROUP_ATTR_MEM_PSS,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_mem,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_MEM_SWAP",
.id = PROCESS_GROUP_ATTR_MEM_SWAP,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_mem,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_MEM_SWAP_PSS",
.id = PROCESS_GROUP_ATTR_MEM_SWAP_PSS,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_mem,
.is_supported = process_group_check_taskstat_support,
.name = "PROCESS_GROUP_ATTR_MEM_GPU",
.id = PROCESS_GROUP_ATTR_MEM_GPU,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_group_get_mem,
.is_supported = process_group_check_gpu_support,
.name = "PROCESS_ATTR_CPU_UTIL",
.id = PROCESS_ATTR_CPU_UTIL,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_cpu_util,
.is_supported = process_check_taskstat_support,
.name = "PROCESS_ATTR_MEM_VIRT",
.id = PROCESS_ATTR_MEM_VIRT,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_mem_attrs,
.is_supported = process_check_taskstat_support,
.name = "PROCESS_ATTR_MEM_RSS",
.id = PROCESS_ATTR_MEM_RSS,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_mem_attrs,
.is_supported = process_check_taskstat_support,
.name = "PROCESS_ATTR_MEM_RSS_PERCENT",
.id = PROCESS_ATTR_MEM_RSS_PERCENT,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_mem_attrs,
.is_supported = process_check_taskstat_support,
.name = "PROCESS_ATTR_DISK_READ_PER_SEC",
.id = PROCESS_ATTR_DISK_READ_PER_SEC,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_disk_attrs,
.is_supported = process_check_taskstat_support,
.name = "PROCESS_ATTR_DISK_WRITE_PER_SEC",
.id = PROCESS_ATTR_DISK_WRITE_PER_SEC,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_disk_attrs,
.is_supported = process_check_taskstat_support,
.name = "PROCESS_ATTR_NAME",
.id = PROCESS_ATTR_NAME,
.type = DATA_TYPE_STRING,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_context_data,
.is_supported = resource_attr_supported_always,
.name = "PROCESS_ATTR_PGID",
.id = PROCESS_ATTR_PGID,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_context_data,
.is_supported = resource_attr_supported_always,
.name = "PROCESS_ATTR_PPID",
.id = PROCESS_ATTR_PPID,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_context_data,
.is_supported = resource_attr_supported_always,
.name = "PROCESS_ATTR_MEM_PSS",
.id = PROCESS_ATTR_MEM_PSS,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_mem_attrs,
.is_supported = resource_attr_supported_always,
.name = "PROCESS_ATTR_MEM_SWAP",
.id = PROCESS_ATTR_MEM_SWAP,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_mem_attrs,
.is_supported = resource_attr_supported_always,
.name = "PROCESS_ATTR_MEM_SWAP_PSS",
.id = PROCESS_ATTR_MEM_SWAP_PSS,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_mem_attrs,
.is_supported = resource_attr_supported_always,
.name = "PROCESS_ATTR_MEM_GPU",
.id = PROCESS_ATTR_MEM_GPU,
.type = DATA_TYPE_UINT64,
+ .flag = RESOURCE_ATTR_FLAG_PRIVATE,
.ops = {
.get = process_get_mem_attrs,
.is_supported = process_check_gpu_support,
.name = "SYSTEM_ATTR_CPU_UTIL",
.id = SYSTEM_ATTR_CPU_UTIL,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = system_get_avg_cpu_util,
}
.name = "SYSTEM_ATTR_CPU_USER_UTIL",
.id = SYSTEM_ATTR_CPU_USER_UTIL,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = system_get_avg_cpu_util,
}
.name = "SYSTEM_ATTR_CPU_SYS_UTIL",
.id = SYSTEM_ATTR_CPU_SYS_UTIL,
.type = DATA_TYPE_DOUBLE,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = system_get_avg_cpu_util,
}
.name = "SYSTEM_ATTR_PER_CPU_UTIL",
.id = SYSTEM_ATTR_PER_CPU_UTIL,
.type = DATA_TYPE_ARRAY,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = system_get_per_cpu_util,
}
.name = "SYSTEM_ATTR_PER_CPU_USER_UTIL",
.id = SYSTEM_ATTR_PER_CPU_USER_UTIL,
.type = DATA_TYPE_ARRAY,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = system_get_per_cpu_util,
}
.name = "SYSTEM_ATTR_PER_CPU_SYS_UTIL",
.id = SYSTEM_ATTR_PER_CPU_SYS_UTIL,
.type = DATA_TYPE_ARRAY,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = system_get_per_cpu_util,
}
.name = "SYSTEM_ATTR_POSSIBLE_CPU",
.id = SYSTEM_ATTR_POSSIBLE_CPU,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = system_get_cpu_num,
}
.name = "SYSTEM_ATTR_ONLINE_CPU",
.id = SYSTEM_ATTR_ONLINE_CPU,
.type = DATA_TYPE_INT,
+ .flag = RESOURCE_ATTR_FLAG_PUBLIC,
.ops = {
.get = system_get_cpu_num,
}