#include "err-check.h"
#include "macros.h"
-static task_t *create_system_report_task(config_options_e options, int frequency);
+static task_t *create_system_report_task(config_options_e options);
+static task_t *create_load_avg_report_task();
+
static void execute_scan_system_memory(task_t *task);
static void execute_scan_system_cpu(task_t *task);
+static void execute_scan_load_avg(task_t *task);
+
static void send_report(char *report);
static void release_system_task(task_t *task);
switch(config->scope)
{
case SYSTEM:
- return create_system_report_task(config->data.system.options, config->frequency);
+ return create_system_report_task(config->data.system.options);
+ case LOAD_AVG:
+ return create_load_avg_report_task();
case APPS:
case TOP:
- case LOAD_AVG:
default:
return NULL;
}
}
-static task_t *create_system_report_task(config_options_e options, int frequency)
+static task_t *create_system_report_task(config_options_e options)
{
system_task_t *_system_task = (system_task_t *)g_malloc(sizeof(system_task_t));
return &_system_task->task;
}
+static task_t *create_load_avg_report_task()
+{
+ task_t *_load_avg_task = (task_t *)g_malloc(sizeof(task_t));
+
+ _load_avg_task->execute = execute_scan_load_avg;
+ _load_avg_task->release = NULL;
+
+ return _load_avg_task;
+}
+
static void execute_scan_system_memory(task_t *task)
{
ON_NULL_RETURN(task);
g_free(json_report);
}
+static void execute_scan_load_avg(task_t *task)
+{
+ ON_NULL_RETURN(task);
+
+ struct system_load_average_report report;
+
+ int ret = report_generator_generate_load_average_report(&report);
+ ON_TRUE_RETURN(ret != 0);
+
+ char *json_report = report_json_serializer_serialize_system_load_average_report(&report);
+ send_report(json_report);
+ g_free(json_report);
+}
+
static void send_report(char *report)
{
//TODO send report here