+#define BOOTCHART_CONF "/etc/systemd/bootchart.conf"
+
+#define BOOTCHART_MAX (16*1024*1024)
+
+static void parse_conf(void) {
+ char *init = NULL, *output = NULL;
+ const ConfigTableItem items[] = {
+ { "Bootchart", "Samples", config_parse_int, 0, &arg_samples_len },
+ { "Bootchart", "Frequency", config_parse_double, 0, &arg_hz },
+ { "Bootchart", "Relative", config_parse_bool, 0, &arg_relative },
+ { "Bootchart", "Filter", config_parse_bool, 0, &arg_filter },
+ { "Bootchart", "Output", config_parse_path, 0, &output },
+ { "Bootchart", "Init", config_parse_path, 0, &init },
+ { "Bootchart", "PlotMemoryUsage", config_parse_bool, 0, &arg_pss },
+ { "Bootchart", "PlotEntropyGraph", config_parse_bool, 0, &arg_entropy },
+ { "Bootchart", "ScaleX", config_parse_double, 0, &arg_scale_x },
+ { "Bootchart", "ScaleY", config_parse_double, 0, &arg_scale_y },
+ { "Bootchart", "ControlGroup", config_parse_bool, 0, &arg_show_cgroup },
+ { NULL, NULL, NULL, 0, NULL }
+ };
+
+ config_parse(NULL, BOOTCHART_CONF, NULL,
+ NULL,
+ config_item_table_lookup, items,
+ true, false, true, NULL);
+
+ if (init != NULL)
+ strscpy(arg_init_path, sizeof(arg_init_path), init);
+ if (output != NULL)
+ strscpy(arg_output_path, sizeof(arg_output_path), output);
+}