/**
* @brief Define the supported attributes according to resource type
*/
-#define CPU_CUR_FREQ BIT(0)
-#define CPU_MIN_FREQ BIT(1)
-#define CPU_MAX_FREQ BIT(2)
-#define CPU_AVAILABLE_MIN_FREQ BIT(3)
-#define CPU_AVAILABLE_MAX_FREQ BIT(4)
-#define CPU_CUR_GOVERNOR BIT(5)
-#define CPU_ONLINE_CPU BIT(6)
-#define CPU_TEMPERATURE BIT(7)
-
-#define CPU_CTRL_CLUSTER_ID BIT(0)
-
-#define BUS_CUR_FREQ BIT(0)
-#define BUS_MIN_FREQ BIT(1)
-#define BUS_MAX_FREQ BIT(2)
-#define BUS_AVAILABLE_MIN_FREQ BIT(3)
-#define BUS_AVAILABLE_MAX_FREQ BIT(4)
-#define BUS_CUR_GOVERNOR BIT(5)
-
-#define BUS_CTRL_DEVICE_ID BIT(0)
-
-#define GPU_CUR_FREQ BIT(0)
-#define GPU_MIN_FREQ BIT(1)
-#define GPU_MAX_FREQ BIT(2)
-#define GPU_AVAILABLE_MIN_FREQ BIT(3)
-#define GPU_AVAILABLE_MAX_FREQ BIT(4)
-#define GPU_CUR_GOVERNOR BIT(5)
-#define GPU_TEMPERATURE BIT(6)
-
-#define GPU_CTRL_DEVICE_ID BIT(0)
-
-#define MEMORY_TOTAL BIT(0)
-#define MEMORY_AVAILABLE BIT(1)
-#define MEMORY_FREE BIT(2)
-#define MEMORY_FAULT_AROUND_BYTES BIT(3)
-
-#define BATTERY_CAPACITY BIT(0)
-#define BATTERY_STATUS BIT(1)
-#define BATTERY_TEMPERATURE BIT(2)
-#define BATTERY_VOLTAGE_NOW BIT(3)
-#define BATTERY_CURRENT_NOW BIT(4)
-#define BATTERY_PRESENT BIT(5)
-#define BATTERY_ONLINE BIT(6)
-
-#define DISPLAY_FPS BIT(0)
-
-#define DISPLAY_CTRL_DEVICE_ID BIT(0)
-
-#define SYSTEM_CPU_UTIL BIT(0)
-#define SYSTEM_CPU_USER_UTIL BIT(1)
-#define SYSTEM_CPU_SYS_UTIL BIT(2)
-#define SYSTEM_PER_CPU_UTIL BIT(3)
-#define SYSTEM_PER_CPU_USER_UTIL BIT(4)
-#define SYSTEM_PER_CPU_SYS_UTIL BIT(5)
-#define SYSTEM_POSSIBLE_CPU BIT(6)
-#define SYSTEM_ONLINE_CPU BIT(7)
-
-#define PROCESS_CPU_UTIL BIT(0)
-#define PROCESS_MEM_VIRT BIT(1)
-#define PROCESS_MEM_RSS BIT(2)
-#define PROCESS_MEM_RSS_PERCENT BIT(3)
-#define PROCESS_DISK_READ_BPS BIT(4)
-#define PROCESS_DISK_WRITE_BPS BIT(5)
-#define PROCESS_COMM BIT(6)
-
-#define PROCESS_CTRL_TGID BIT(0)
+
+/* CPU Resource */
+#define CPU_ATTR_CUR_FREQ BIT(0) /* DATA_TYPE_INT */
+#define CPU_ATTR_MIN_FREQ BIT(1) /* DATA_TYPE_INT */
+#define CPU_ATTR_MAX_FREQ BIT(2) /* DATA_TYPE_INT */
+#define CPU_ATTR_AVAILABLE_MIN_FREQ BIT(3) /* DATA_TYPE_INT */
+#define CPU_ATTR_AVAILABLE_MAX_FREQ BIT(4) /* DATA_TYPE_INT */
+#define CPU_ATTR_CUR_GOVERNOR BIT(5) /* DATA_TYPE_STRING */
+
+#define CPU_CTRL_CLUSTER_ID BIT(0)
+
+/* Memory Bus Resource */
+#define BUS_ATTR_CUR_FREQ BIT(0) /* DATA_TYPE_INT */
+#define BUS_ATTR_MIN_FREQ BIT(1) /* DATA_TYPE_INT */
+#define BUS_ATTR_MAX_FREQ BIT(2) /* DATA_TYPE_INT */
+#define BUS_ATTR_AVAILABLE_MIN_FREQ BIT(3) /* DATA_TYPE_INT */
+#define BUS_ATTR_AVAILABLE_MAX_FREQ BIT(4) /* DATA_TYPE_INT */
+#define BUS_ATTR_CUR_GOVERNOR BIT(5) /* DATA_TYPE_STRING */
+
+#define BUS_CTRL_DEVICE_ID BIT(0)
+
+/* GPU Resource */
+#define GPU_ATTR_CUR_FREQ BIT(0) /* DATA_TYPE_INT */
+#define GPU_ATTR_MIN_FREQ BIT(1) /* DATA_TYPE_INT */
+#define GPU_ATTR_MAX_FREQ BIT(2) /* DATA_TYPE_INT */
+#define GPU_ATTR_AVAILABLE_MIN_FREQ BIT(3) /* DATA_TYPE_INT */
+#define GPU_ATTR_AVAILABLE_MAX_FREQ BIT(4) /* DATA_TYPE_INT */
+#define GPU_ATTR_CUR_GOVERNOR BIT(5) /* DATA_TYPE_STRING */
+
+#define GPU_CTRL_DEVICE_ID BIT(0)
+
+/* Memory Resource */
+#define MEMORY_ATTR_TOTAL BIT(0) /* DATA_TYPE_UINT64 */
+#define MEMORY_ATTR_AVAILABLE BIT(1) /* DATA_TYPE_UINT64 */
+#define MEMORY_ATTR_FREE BIT(2) /* DATA_TYPE_UINT64 */
+
+/* Battery Resource */
+#define BATTERY_ATTR_CAPACITY BIT(0) /* DATA_TYPE_INT */
+#define BATTERY_ATTR_STATUS BIT(1) /* DATA_TYPE_STRING */
+#define BATTERY_ATTR_TEMPERATURE BIT(2) /* DATA_TYPE_INT */
+#define BATTERY_ATTR_VOLTAGE_NOW BIT(3) /* DATA_TYPE_INT */
+#define BATTERY_ATTR_CURRENT_NOW BIT(4) /* DATA_TYPE_INT */
+#define BATTERY_ATTR_PRESENT BIT(5) /* DATA_TYPE_INT */
+#define BATTERY_ATTR_ONLINE BIT(6) /* DATA_TYPE_INT */
+
+/* Display Resource */
+#define DISPLAY_ATTR_FPS BIT(0) /* DATA_TYPE_DOUBLE */
+
+#define DISPLAY_CTRL_DEVICE_ID BIT(0)
+
+/* System Resource */
+#define SYSTEM_ATTR_CPU_UTIL BIT(0) /* DATA_TYPE_DOUBLE */
+#define SYSTEM_ATTR_CPU_USER_UTIL BIT(1) /* DATA_TYPE_DOUBLE */
+#define SYSTEM_ATTR_CPU_SYS_UTIL BIT(2) /* DATA_TYPE_DOUBLE */
+#define SYSTEM_ATTR_PER_CPU_UTIL BIT(3) /* DATA_TYPE_ARRAY */
+#define SYSTEM_ATTR_PER_CPU_USER_UTIL BIT(4) /* DATA_TYPE_ARRAY */
+#define SYSTEM_ATTR_PER_CPU_SYS_UTIL BIT(5) /* DATA_TYPE_ARRAY */
+#define SYSTEM_ATTR_POSSIBLE_CPU BIT(6) /* DATA_TYPE_INT */
+#define SYSTEM_ATTR_ONLINE_CPU BIT(7) /* DATA_TYPE_INT */
+
+/* Process Resource */
+#define PROCESS_ATTR_CPU_UTIL BIT(0) /* DATA_TYPE_DOUBLE */
+#define PROCESS_ATTR_MEM_VIRT BIT(1) /* DATA_TYPE_UINT64 */
+#define PROCESS_ATTR_MEM_RSS BIT(2) /* DATA_TYPE_UINT64 */
+#define PROCESS_ATTR_MEM_RSS_PERCENT BIT(3) /* DATA_TYPE_DOUBLE */
+#define PROCESS_ATTR_DISK_READ_BPS BIT(4) /* DATA_TYPE_UINT */
+#define PROCESS_ATTR_DISK_WRITE_BPS BIT(5) /* DATA_TYPE_UINT */
+#define PROCESS_ATTR_COMM BIT(6) /* DATA_TYPE_STRING */
+
+#define PROCESS_CTRL_TGID BIT(0)
/**
* @brief Initialize the tizen monitor
return -EINVAL;
switch (attr->id) {
- case BATTERY_CAPACITY:
+ case BATTERY_ATTR_CAPACITY:
path = "/sys/class/power_supply/battery/capacity";
break;
- case BATTERY_TEMPERATURE:
+ case BATTERY_ATTR_TEMPERATURE:
path = "/sys/class/power_supply/battery/temp";
break;
- case BATTERY_VOLTAGE_NOW:
+ case BATTERY_ATTR_VOLTAGE_NOW:
path = "/sys/class/power_supply/battery/voltage_now";
break;
- case BATTERY_CURRENT_NOW:
+ case BATTERY_ATTR_CURRENT_NOW:
path = "/sys/class/power_supply/battery/current_now";
break;
- case BATTERY_PRESENT:
+ case BATTERY_ATTR_PRESENT:
path = "/sys/class/power_supply/battery/present";
break;
- case BATTERY_ONLINE:
+ case BATTERY_ATTR_ONLINE:
path = "/sys/class/power_supply/battery/online";
break;
default:
static const struct resource_attribute battery_attrs[] = {
{
- .name = "BATTERY_CAPACITY",
- .id = BATTERY_CAPACITY,
+ .name = "BATTERY_ATTR_CAPACITY",
+ .id = BATTERY_ATTR_CAPACITY,
.type = DATA_TYPE_INT,
.ops = {
.get = battery_get_info,
}
}, {
- .name = "BATTERY_STATUS",
- .id = BATTERY_STATUS,
+ .name = "BATTERY_ATTR_STATUS",
+ .id = BATTERY_ATTR_STATUS,
.type = DATA_TYPE_STRING,
.ops = {
.get = battery_get_status,
}
}, {
- .name = "BATTERY_TEMPERATURE",
- .id = BATTERY_TEMPERATURE,
+ .name = "BATTERY_ATTR_TEMPERATURE",
+ .id = BATTERY_ATTR_TEMPERATURE,
.type = DATA_TYPE_INT,
.ops = {
.get = battery_get_info,
}
}, {
- .name = "BATTERY_VOLTAGE_NOW",
- .id = BATTERY_VOLTAGE_NOW,
+ .name = "BATTERY_ATTR_VOLTAGE_NOW",
+ .id = BATTERY_ATTR_VOLTAGE_NOW,
.type = DATA_TYPE_INT,
.ops = {
.get = battery_get_info,
}
}, {
- .name = "BATTERY_CURRENT_NOW",
- .id = BATTERY_CURRENT_NOW,
+ .name = "BATTERY_ATTR_CURRENT_NOW",
+ .id = BATTERY_ATTR_CURRENT_NOW,
.type = DATA_TYPE_INT,
.ops = {
.get = battery_get_info,
}
}, {
- .name = "BATTERY_PRESENT",
- .id = BATTERY_PRESENT,
+ .name = "BATTERY_ATTR_PRESENT",
+ .id = BATTERY_ATTR_PRESENT,
.type = DATA_TYPE_INT,
.ops = {
.get = battery_get_info,
}
}, {
- .name = "BATTERY_ONLINE",
- .id = BATTERY_ONLINE,
+ .name = "BATTERY_ATTR_ONLINE",
+ .id = BATTERY_ATTR_ONLINE,
.type = DATA_TYPE_INT,
.ops = {
.get = battery_get_info,
}
switch (attr->id) {
- case BUS_CUR_FREQ:
+ case BUS_ATTR_CUR_FREQ:
_val = hal_power_dvfs_get_curr_freq(res->type, ctx->device_name);
break;
- case BUS_MIN_FREQ:
+ case BUS_ATTR_MIN_FREQ:
_val = hal_power_dvfs_get_min_freq(res->type, ctx->device_name);
break;
- case BUS_MAX_FREQ:
+ case BUS_ATTR_MAX_FREQ:
_val = hal_power_dvfs_get_max_freq(res->type, ctx->device_name);
break;
- case BUS_AVAILABLE_MIN_FREQ:
+ case BUS_ATTR_AVAILABLE_MIN_FREQ:
_val = hal_power_dvfs_get_available_min_freq(res->type, ctx->device_name);
break;
- case BUS_AVAILABLE_MAX_FREQ:
+ case BUS_ATTR_AVAILABLE_MAX_FREQ:
_val = hal_power_dvfs_get_available_max_freq(res->type, ctx->device_name);
break;
default:
static const struct resource_attribute bus_attrs[] = {
{
- .name = "BUS_CUR_FREQ",
- .id = BUS_CUR_FREQ,
+ .name = "BUS_ATTR_CUR_FREQ",
+ .id = BUS_ATTR_CUR_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = bus_get_value_from_hal_power,
},
}, {
- .name = "BUS_MIN_FREQ",
- .id = BUS_MIN_FREQ,
+ .name = "BUS_ATTR_MIN_FREQ",
+ .id = BUS_ATTR_MIN_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = bus_get_value_from_hal_power,
},
}, {
- .name = "BUS_MAX_FREQ",
- .id = BUS_MAX_FREQ,
+ .name = "BUS_ATTR_MAX_FREQ",
+ .id = BUS_ATTR_MAX_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = bus_get_value_from_hal_power,
}
}, {
- .name = "BUS_AVAILABLE_MIN_FREQ",
- .id = BUS_AVAILABLE_MIN_FREQ,
+ .name = "BUS_ATTR_AVAILABLE_MIN_FREQ",
+ .id = BUS_ATTR_AVAILABLE_MIN_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = bus_get_value_from_hal_power,
}
}, {
- .name = "BUS_AVAILABLE_MAX_FREQ",
- .id = BUS_AVAILABLE_MAX_FREQ,
+ .name = "BUS_ATTR_AVAILABLE_MAX_FREQ",
+ .id = BUS_ATTR_AVAILABLE_MAX_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = bus_get_value_from_hal_power,
}
}, {
- .name = "BUS_CUR_GOVERNOR",
- .id = BUS_CUR_GOVERNOR,
+ .name = "BUS_ATTR_CUR_GOVERNOR",
+ .id = BUS_ATTR_CUR_GOVERNOR,
.type = DATA_TYPE_STRING,
.ops = {
.get = bus_get_curr_governor,
}
switch (attr->id) {
- case CPU_CUR_FREQ:
+ case CPU_ATTR_CUR_FREQ:
_val = hal_power_dvfs_get_curr_freq(res->type, ctx->device_name);
break;
- case CPU_MIN_FREQ:
+ case CPU_ATTR_MIN_FREQ:
_val = hal_power_dvfs_get_min_freq(res->type, ctx->device_name);
break;
- case CPU_MAX_FREQ:
+ case CPU_ATTR_MAX_FREQ:
_val = hal_power_dvfs_get_max_freq(res->type, ctx->device_name);
break;
- case CPU_AVAILABLE_MIN_FREQ:
+ case CPU_ATTR_AVAILABLE_MIN_FREQ:
_val = hal_power_dvfs_get_available_min_freq(res->type, ctx->device_name);
break;
- case CPU_AVAILABLE_MAX_FREQ:
+ case CPU_ATTR_AVAILABLE_MAX_FREQ:
_val = hal_power_dvfs_get_available_max_freq(res->type, ctx->device_name);
break;
default:
return 0;
}
-static int cpu_get_online_cpu(const struct resource *res,
- const struct resource_attribute *attr,
- void *data)
-{
- return 0;
-}
-
-static int cpu_get_temperature(const struct resource *res,
- const struct resource_attribute *attr,
- void *data)
-{
- return 0;
-}
-
static const struct resource_attribute cpu_attrs[] = {
{
- .name = "CPU_CUR_FREQ",
- .id = CPU_CUR_FREQ,
+ .name = "CPU_ATTR_CUR_FREQ",
+ .id = CPU_ATTR_CUR_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = cpu_get_value_from_hal_power,
},
}, {
- .name = "CPU_MIN_FREQ",
- .id = CPU_MIN_FREQ,
+ .name = "CPU_ATTR_MIN_FREQ",
+ .id = CPU_ATTR_MIN_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = cpu_get_value_from_hal_power,
},
}, {
- .name = "CPU_MAX_FREQ",
- .id = CPU_MAX_FREQ,
+ .name = "CPU_ATTR_MAX_FREQ",
+ .id = CPU_ATTR_MAX_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = cpu_get_value_from_hal_power,
}
}, {
- .name = "CPU_AVAILABLE_MIN_FREQ",
- .id = CPU_AVAILABLE_MIN_FREQ,
+ .name = "CPU_ATTR_AVAILABLE_MIN_FREQ",
+ .id = CPU_ATTR_AVAILABLE_MIN_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = cpu_get_value_from_hal_power,
}
}, {
- .name = "CPU_AVAILABLE_MAX_FREQ",
- .id = CPU_AVAILABLE_MAX_FREQ,
+ .name = "CPU_ATTR_AVAILABLE_MAX_FREQ",
+ .id = CPU_ATTR_AVAILABLE_MAX_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = cpu_get_value_from_hal_power,
}
}, {
- .name = "CPU_CUR_GOVERNOR",
- .id = CPU_CUR_GOVERNOR,
+ .name = "CPU_ATTR_CUR_GOVERNOR",
+ .id = CPU_ATTR_CUR_GOVERNOR,
.type = DATA_TYPE_STRING,
.ops = {
.get = cpu_get_curr_governor,
}
- }, {
- .name = "CPU_ONLINE_CPU",
- .id = CPU_ONLINE_CPU,
- .type = DATA_TYPE_INT,
- .ops = {
- .get = cpu_get_online_cpu,
- }
- }, {
- .name = "CPU_TEMPERATURE",
- .id = CPU_TEMPERATURE,
- .type = DATA_TYPE_INT,
- .ops = {
- .get = cpu_get_temperature,
- }
},
};
static const struct resource_attribute display_attrs[] = {
{
- .name = "DISPLAY_FPS",
- .id = DISPLAY_FPS,
+ .name = "DISPLAY_ATTR_FPS",
+ .id = DISPLAY_ATTR_FPS,
.type = DATA_TYPE_DOUBLE,
.ops = {
.get = display_get_fps,
}
switch (attr->id) {
- case GPU_CUR_FREQ:
+ case GPU_ATTR_CUR_FREQ:
_val = hal_power_dvfs_get_curr_freq(res->type, ctx->device_name);
break;
- case GPU_MIN_FREQ:
+ case GPU_ATTR_MIN_FREQ:
_val = hal_power_dvfs_get_min_freq(res->type, ctx->device_name);
break;
- case GPU_MAX_FREQ:
+ case GPU_ATTR_MAX_FREQ:
_val = hal_power_dvfs_get_max_freq(res->type, ctx->device_name);
break;
- case GPU_AVAILABLE_MIN_FREQ:
+ case GPU_ATTR_AVAILABLE_MIN_FREQ:
_val = hal_power_dvfs_get_available_min_freq(res->type, ctx->device_name);
break;
- case GPU_AVAILABLE_MAX_FREQ:
+ case GPU_ATTR_AVAILABLE_MAX_FREQ:
_val = hal_power_dvfs_get_available_max_freq(res->type, ctx->device_name);
break;
default:
return 0;
}
-static int gpu_get_temperature(const struct resource *res,
- const struct resource_attribute *attr,
- void *data)
-{
- return 0;
-}
-
static const struct resource_attribute gpu_attrs[] = {
{
- .name = "GPU_CUR_FREQ",
- .id = GPU_CUR_FREQ,
+ .name = "GPU_ATTR_CUR_FREQ",
+ .id = GPU_ATTR_CUR_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = gpu_get_value_from_hal_power,
},
}, {
- .name = "GPU_MIN_FREQ",
- .id = GPU_MIN_FREQ,
+ .name = "GPU_ATTR_MIN_FREQ",
+ .id = GPU_ATTR_MIN_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = gpu_get_value_from_hal_power,
},
}, {
- .name = "GPU_MAX_FREQ",
- .id = GPU_MAX_FREQ,
+ .name = "GPU_ATTR_MAX_FREQ",
+ .id = GPU_ATTR_MAX_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = gpu_get_value_from_hal_power,
}
}, {
- .name = "GPU_AVAILABLE_MIN_FREQ",
- .id = GPU_AVAILABLE_MIN_FREQ,
+ .name = "GPU_ATTR_AVAILABLE_MIN_FREQ",
+ .id = GPU_ATTR_AVAILABLE_MIN_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = gpu_get_value_from_hal_power,
}
}, {
- .name = "GPU_AVAILABLE_MAX_FREQ",
- .id = GPU_AVAILABLE_MAX_FREQ,
+ .name = "GPU_ATTR_AVAILABLE_MAX_FREQ",
+ .id = GPU_ATTR_AVAILABLE_MAX_FREQ,
.type = DATA_TYPE_INT,
.ops = {
.get = gpu_get_value_from_hal_power,
}
}, {
- .name = "GPU_CUR_GOVERNOR",
- .id = GPU_CUR_GOVERNOR,
+ .name = "GPU_ATTR_CUR_GOVERNOR",
+ .id = GPU_ATTR_CUR_GOVERNOR,
.type = DATA_TYPE_STRING,
.ops = {
.get = gpu_get_curr_governor,
}
- }, {
- .name = "GPU_TEMPERATURE",
- .id = GPU_TEMPERATURE,
- .type = DATA_TYPE_INT,
- .ops = {
- .get = gpu_get_temperature,
- }
},
};
},
};
RESOURCE_DRIVER_REGISTER(&gpu_resource_driver)
-
return -EINVAL;
switch (attr->id) {
- case MEMORY_TOTAL:
+ case MEMORY_ATTR_TOTAL:
ret = kernel_get_memory_total(val);
break;
- case MEMORY_AVAILABLE:
+ case MEMORY_ATTR_AVAILABLE:
ret = kernel_get_memory_info(PROC_MEM_INFO_MEM_AVAILABLE, val);
break;
- case MEMORY_FREE:
+ case MEMORY_ATTR_FREE:
ret = kernel_get_memory_info(PROC_MEM_INFO_MEM_FREE, val);
break;
default:
static const struct resource_attribute memory_attrs[] = {
{
- .name = "MEMORY_TOTAL",
- .id = MEMORY_TOTAL,
+ .name = "MEMORY_ATTR_TOTAL",
+ .id = MEMORY_ATTR_TOTAL,
.type = DATA_TYPE_UINT64,
.ops = {
.get = memory_get_memory_info,
},
}, {
- .name = "MEMORY_AVAILABLE",
- .id = MEMORY_AVAILABLE,
+ .name = "MEMORY_ATTR_AVAILABLE",
+ .id = MEMORY_ATTR_AVAILABLE,
.type = DATA_TYPE_UINT64,
.ops = {
.get = memory_get_memory_info,
},
}, {
- .name = "MEMORY_FREE",
- .id = MEMORY_FREE,
+ .name = "MEMORY_ATTR_FREE",
+ .id = MEMORY_ATTR_FREE,
.type = DATA_TYPE_UINT64,
.ops = {
.get = memory_get_memory_info,
_rss = (curr->coremem * 1024 * 1024) / curr->ac_stime;
switch (attr->id) {
- case PROCESS_MEM_RSS:
+ case PROCESS_ATTR_MEM_RSS:
{
u_int64_t *rss = (u_int64_t *)data;
*rss = _rss;
break;
}
- case PROCESS_MEM_RSS_PERCENT:
+ case PROCESS_ATTR_MEM_RSS_PERCENT:
{
double *percent = (double *)data;
period = curr->ac_etime - prev->ac_etime;
switch (attr->id) {
- case PROCESS_DISK_READ_BPS:
+ case PROCESS_ATTR_DISK_READ_BPS:
*bps = (curr->read_bytes - prev->read_bytes) * 1000000 / period;
break;
- case PROCESS_DISK_WRITE_BPS:
+ case PROCESS_ATTR_DISK_WRITE_BPS:
*bps = (curr->write_bytes - prev->write_bytes) * 1000000 / period;
break;
default:
static const struct resource_attribute process_attrs[] = {
{
- .name = "PROCESS_CPU_UTIL",
- .id = PROCESS_CPU_UTIL,
+ .name = "PROCESS_ATTR_CPU_UTIL",
+ .id = PROCESS_ATTR_CPU_UTIL,
.type = DATA_TYPE_DOUBLE,
.ops = {
.get = process_get_cpu_util,
},
- },
- {
- .name = "PROCESS_MEM_VIRT",
- .id = PROCESS_MEM_VIRT,
+ }, {
+ .name = "PROCESS_ATTR_MEM_VIRT",
+ .id = PROCESS_ATTR_MEM_VIRT,
.type = DATA_TYPE_UINT64,
.ops = {
.get = process_get_mem_virt,
},
- },
- {
- .name = "PROCESS_MEM_RSS",
- .id = PROCESS_MEM_RSS,
+ }, {
+ .name = "PROCESS_ATTR_MEM_RSS",
+ .id = PROCESS_ATTR_MEM_RSS,
.type = DATA_TYPE_UINT64,
.ops = {
.get = process_get_mem_rss,
},
- },
- {
- .name = "PROCESS_MEM_RSS_PERCENT",
- .id = PROCESS_MEM_RSS_PERCENT,
+ }, {
+ .name = "PROCESS_ATTR_MEM_RSS_PERCENT",
+ .id = PROCESS_ATTR_MEM_RSS_PERCENT,
.type = DATA_TYPE_DOUBLE,
.ops = {
.get = process_get_mem_rss,
},
- },
- {
- .name = "PROCESS_DISK_READ_BPS",
- .id = PROCESS_DISK_READ_BPS,
+ }, {
+ .name = "PROCESS_ATTR_DISK_READ_BPS",
+ .id = PROCESS_ATTR_DISK_READ_BPS,
.type = DATA_TYPE_UINT,
.ops = {
.get = process_get_disk_bps,
},
- },
- {
- .name = "PROCESS_DISK_WRITE_BPS",
- .id = PROCESS_DISK_WRITE_BPS,
+ }, {
+ .name = "PROCESS_ATTR_DISK_WRITE_BPS",
+ .id = PROCESS_ATTR_DISK_WRITE_BPS,
.type = DATA_TYPE_UINT,
.ops = {
.get = process_get_disk_bps,
},
- },
- {
- .name = "PROCESS_COMM",
- .id = PROCESS_COMM,
+ }, {
+ .name = "PROCESS_ATTR_COMM",
+ .id = PROCESS_ATTR_COMM,
.type = DATA_TYPE_STRING,
.ops = {
.get = process_get_comm,
total = (double)(diff.user + diff.system + diff.nice + diff.idle);
switch (id) {
- case SYSTEM_CPU_UTIL:
- case SYSTEM_PER_CPU_UTIL:
+ case SYSTEM_ATTR_CPU_UTIL:
+ case SYSTEM_ATTR_PER_CPU_UTIL:
util = (double)((diff.user + diff.system + diff.nice) * 100) / total;
break;
- case SYSTEM_CPU_USER_UTIL:
- case SYSTEM_PER_CPU_USER_UTIL:
+ case SYSTEM_ATTR_CPU_USER_UTIL:
+ case SYSTEM_ATTR_PER_CPU_USER_UTIL:
util = (double)((diff.user) * 100) / total;
break;
- case SYSTEM_CPU_SYS_UTIL:
- case SYSTEM_PER_CPU_SYS_UTIL:
+ case SYSTEM_ATTR_CPU_SYS_UTIL:
+ case SYSTEM_ATTR_PER_CPU_SYS_UTIL:
util = (double)((diff.system + diff.nice) * 100) / total;
break;
default:
return -EINVAL;
switch (attr->id) {
- case SYSTEM_POSSIBLE_CPU:
+ case SYSTEM_ATTR_POSSIBLE_CPU:
*cpu_num = kernel_get_online_cpu_num();
break;
- case SYSTEM_ONLINE_CPU:
+ case SYSTEM_ATTR_ONLINE_CPU:
*cpu_num = kernel_get_possible_cpu_num();
break;
default:
static const struct resource_attribute system_attrs[] = {
{
- .name = "SYSTEM_CPU_UTIL",
- .id = SYSTEM_CPU_UTIL,
+ .name = "SYSTEM_ATTR_CPU_UTIL",
+ .id = SYSTEM_ATTR_CPU_UTIL,
.type = DATA_TYPE_DOUBLE,
.ops = {
.get = system_get_avg_cpu_util,
}
}, {
- .name = "SYSTEM_CPU_USER_UTIL",
- .id = SYSTEM_CPU_USER_UTIL,
+ .name = "SYSTEM_ATTR_CPU_USER_UTIL",
+ .id = SYSTEM_ATTR_CPU_USER_UTIL,
.type = DATA_TYPE_DOUBLE,
.ops = {
.get = system_get_avg_cpu_util,
}
}, {
- .name = "SYSTEM_CPU_SYS_UTIL",
- .id = SYSTEM_CPU_SYS_UTIL,
+ .name = "SYSTEM_ATTR_CPU_SYS_UTIL",
+ .id = SYSTEM_ATTR_CPU_SYS_UTIL,
.type = DATA_TYPE_DOUBLE,
.ops = {
.get = system_get_avg_cpu_util,
}
}, {
- .name = "SYSTEM_PER_CPU_UTIL",
- .id = SYSTEM_PER_CPU_UTIL,
+ .name = "SYSTEM_ATTR_PER_CPU_UTIL",
+ .id = SYSTEM_ATTR_PER_CPU_UTIL,
.type = DATA_TYPE_ARRAY,
.ops = {
.get = system_get_per_cpu_util,
}
}, {
- .name = "SYSTEM_PER_CPU_USER_UTIL",
- .id = SYSTEM_PER_CPU_USER_UTIL,
+ .name = "SYSTEM_ATTR_PER_CPU_USER_UTIL",
+ .id = SYSTEM_ATTR_PER_CPU_USER_UTIL,
.type = DATA_TYPE_ARRAY,
.ops = {
.get = system_get_per_cpu_util,
}
}, {
- .name = "SYSTEM_PER_CPU_SYS_UTIL",
- .id = SYSTEM_PER_CPU_SYS_UTIL,
+ .name = "SYSTEM_ATTR_PER_CPU_SYS_UTIL",
+ .id = SYSTEM_ATTR_PER_CPU_SYS_UTIL,
.type = DATA_TYPE_ARRAY,
.ops = {
.get = system_get_per_cpu_util,
}
}, {
- .name = "SYSTEM_POSSIBLE_CPU",
- .id = SYSTEM_POSSIBLE_CPU,
+ .name = "SYSTEM_ATTR_POSSIBLE_CPU",
+ .id = SYSTEM_ATTR_POSSIBLE_CPU,
.type = DATA_TYPE_INT,
.ops = {
.get = system_get_cpu_num,
}
}, {
- .name = "SYSTEM_ONLINE_CPU",
- .id = SYSTEM_ONLINE_CPU,
+ .name = "SYSTEM_ATTR_ONLINE_CPU",
+ .id = SYSTEM_ATTR_ONLINE_CPU,
.type = DATA_TYPE_INT,
.ops = {
.get = system_get_cpu_num,