bootchart: parse /etc/os-release rather than system-release

Also parse it early, so that we can get it in the initramfs.
This commit is contained in:
Harald Hoyer
2013-02-14 11:59:16 -08:00
committed by Auke Kok
parent b823b5e272
commit e93450c6c0
3 changed files with 12 additions and 14 deletions
+8 -1
View File
@@ -82,6 +82,7 @@ static void signal_handler(int sig)
int main(int argc, char *argv[])
{
_cleanup_free_ char *build = NULL;
struct sigaction sig;
struct ps_struct *ps;
char output_file[PATH_MAX];
@@ -280,6 +281,12 @@ int main(int argc, char *argv[])
sysfd = open("/sys", O_RDONLY);
}
if (!build) {
parse_env_file("/etc/os-release", NEWLINE,
"PRETTY_NAME", &build,
NULL);
}
/* wait for /proc to become available, discarding samples */
if (!(graph_start > 0.0))
log_uptime();
@@ -350,7 +357,7 @@ int main(int argc, char *argv[])
exit (EXIT_FAILURE);
}
svg_do();
svg_do(build);
fprintf(stderr, "bootchartd: Wrote %s\n", output_file);
fclose(of);
+1 -1
View File
@@ -124,4 +124,4 @@ extern double gettime_ns(void);
extern void log_uptime(void);
extern void log_sample(int sample);
extern void svg_do(void);
extern void svg_do(const char *build);
+3 -12
View File
@@ -140,7 +140,7 @@ static void svg_header(void)
}
static void svg_title(void)
static void svg_title(const char *build)
{
char cmdline[256] = "";
char filename[PATH_MAX];
@@ -149,7 +149,6 @@ static void svg_title(void)
char model[256] = "Unknown";
char date[256] = "Unknown";
char cpu[256] = "Unknown";
char build[256] = "Unknown";
char *c;
FILE *f;
time_t t;
@@ -201,14 +200,6 @@ static void svg_title(void)
fclose(f);
}
/* Build - 1st line from /etc/system-release */
f = fopen("/etc/system-release", "r");
if (f) {
if (fgets(buf, 255, f))
strncpy(build, buf, 255);
fclose(f);
}
svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",
uts.nodename, date);
svg("<text class=\"t2\" x=\"20\" y=\"50\">System: %s %s %s %s</text>\n",
@@ -1053,7 +1044,7 @@ static void svg_top_ten_pss(void)
}
void svg_do(void)
void svg_do(const char *build)
{
struct ps_struct *ps;
@@ -1106,7 +1097,7 @@ void svg_do(void)
svg("</g>\n\n");
svg("<g transform=\"translate(10, 0)\">\n");
svg_title();
svg_title(build);
svg("</g>\n\n");
svg("<g transform=\"translate(10,200)\">\n");