core: add manager_dump() call, and make it output timestamp data

It's a wrapper around manager_dump_units() and manager_dump_jobs(), and
outputs some additional timestamp data.

Also, port two users of this over.
This commit is contained in:
Lennart Poettering
2017-11-21 10:22:28 +01:00
parent 9f9f034271
commit ad75b9e765
3 changed files with 23 additions and 4 deletions
+1 -2
View File
@@ -1307,8 +1307,7 @@ static int method_dump(sd_bus_message *message, void *userdata, sd_bus_error *er
if (!f)
return -ENOMEM;
manager_dump_units(m, f, NULL);
manager_dump_jobs(m, f, NULL);
manager_dump(m, f, NULL);
r = fflush_and_check(f);
if (r < 0)
+21 -2
View File
@@ -1711,6 +1711,26 @@ void manager_dump_units(Manager *s, FILE *f, const char *prefix) {
unit_dump(u, f, prefix);
}
void manager_dump(Manager *m, FILE *f, const char *prefix) {
ManagerTimestamp q;
assert(m);
assert(f);
for (q = 0; q < _MANAGER_TIMESTAMP_MAX; q++) {
char buf[FORMAT_TIMESTAMP_MAX];
if (dual_timestamp_is_set(m->timestamps + q))
fprintf(f, "%sTimestamp %s: %s\n",
strempty(prefix),
manager_timestamp_to_string(q),
format_timestamp(buf, sizeof(buf), m->timestamps[q].realtime));
}
manager_dump_units(m, f, prefix);
manager_dump_jobs(m, f, prefix);
}
void manager_clear_jobs(Manager *m) {
Job *j;
@@ -2168,8 +2188,7 @@ static int manager_dispatch_signal_fd(sd_event_source *source, int fd, uint32_t
break;
}
manager_dump_units(m, f, "\t");
manager_dump_jobs(m, f, "\t");
manager_dump(m, f, NULL);
r = fflush_and_check(f);
if (r < 0) {
+1
View File
@@ -374,6 +374,7 @@ int manager_propagate_reload(Manager *m, Unit *unit, JobMode mode, sd_bus_error
void manager_dump_units(Manager *s, FILE *f, const char *prefix);
void manager_dump_jobs(Manager *s, FILE *f, const char *prefix);
void manager_dump(Manager *s, FILE *f, const char *prefix);
void manager_clear_jobs(Manager *m);