Add Battery Screen On/Off stats 61/228661/1
authorDewal Agarwal <d1.agarwal@samsung.com>
Tue, 24 Mar 2020 11:44:59 +0000 (17:14 +0530)
committerDewal Agarwal <d1.agarwal@samsung.com>
Tue, 24 Mar 2020 11:44:59 +0000 (17:14 +0530)
- Add "misc" field

Change-Id: I1ada9dc8c350a90b2e46d7ecdcab306120257c4c

src/battery_dump/bd_history_item.c

index 6ff59c6..b1887d6 100644 (file)
@@ -281,6 +281,44 @@ static int bd_get_and_print_gbr_stat_entry_from_dump(int fd, long int duration)
        return ret;
 }
 
+static int bd_get_and_print_misc_stat_entry_from_dump(int fd, long int duration)
+{
+       ENTER;
+       //Dump screen on and off time
+       //Modify m - field accordingly.
+       bd_gl_sbr_stat_s *gbr_stat = (bd_gl_sbr_stat_s *)calloc(1, sizeof(bd_gl_sbr_stat_s));
+       BM_CHECK_MEM_ALLOC(gbr_stat, {});
+
+       int ret = BATTERY_MONITOR_ERROR_NONE;
+       ret = bm_server_battery_dump_query_from_db(gbr_stat, 3, duration);
+       if (ret != BATTERY_MONITOR_ERROR_NONE) {
+               _ERR("Unable to fetch data from DB");
+               BM_FREE(gbr_stat);
+               return ret;
+       }
+
+       GString *dump_p = g_string_sized_new(30);
+       BM_CHECK_MEM_ALLOC(dump_p, {BM_FREE(gbr_stat); });
+       g_string_append(dump_p, TIZEN_DUMP_VERSION);
+       g_string_append(dump_p, ",0,l,");
+       g_string_append(dump_p, "m,");
+       long int off_time = gbr_stat->dark;
+       long int on_time = (gbr_stat->dim + gbr_stat->medium + gbr_stat->bright);
+       g_string_append_printf(dump_p, "%ld,", on_time);
+       g_string_append_printf(dump_p, "%ld", off_time);
+       g_string_append(dump_p, "\n");
+       _DBG("%s", dump_p->str);
+       if (write(fd, dump_p->str, dump_p->len) < 0)
+               _WARN("write error");
+       g_free(dump_p->str);
+       BM_FREE(gbr_stat);
+
+       EXIT;
+       return ret;
+
+
+       EXIT;
+}
 static int bd_get_and_print_gn_stat_entry_from_dump(int fd, long int duration)
 {
        ENTER;
@@ -1122,7 +1160,11 @@ int bd_print_history_item_main(int fd, int num_h_items, long long base_time, boo
                if (ret != BATTERY_MONITOR_ERROR_NONE)
                        _ERR("GWST data dump failed");
                ret = bd_get_and_print_gcpu_stat_entry_from_dump(fd, duration);
+               if (ret != BATTERY_MONITOR_ERROR_NONE)
                        _ERR("GCPU data dump failed");
+               ret = bd_get_and_print_misc_stat_entry_from_dump(fd, duration);
+               if (ret != BATTERY_MONITOR_ERROR_NONE)
+                       _ERR("MISc data dump failed");
                // Battery Usage Dump
                // Add usage for each of the resource
                // and each of the application