diff options
author | Thomas Hindoe Paaboel Andersen <phomes@gmail.com> | 2013-05-15 21:18:26 +0200 |
---|---|---|
committer | Thomas Hindoe Paaboel Andersen <phomes@gmail.com> | 2013-06-02 22:26:13 +0200 |
commit | d9acfb71dbfb6e916b9752593158698b8021b28c (patch) | |
tree | 82e27310f08524ef78caa2cf9bc714540324bc19 /src/core | |
parent | 518d10e98508ec8181e864924484a2ca994c5d43 (diff) |
analyze: show unit file loading on plot
This will add another color to the legend called "Loading unit files"
Like the generators it will mark a part of the systemd bar indicating
the time spent while loading unit files.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/dbus-manager.c | 8 | ||||
-rw-r--r-- | src/core/manager.c | 2 | ||||
-rw-r--r-- | src/core/manager.h | 2 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index 988c06aa44..25d38cc491 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -286,6 +286,10 @@ " <property name=\"GeneratorsStartTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \ " <property name=\"GeneratorsFinishTimestamp\" type=\"t\" access=\"read\"/>\n" \ " <property name=\"GeneratorsFinishTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \ + " <property name=\"UnitsLoadStartTimestamp\" type=\"t\" access=\"read\"/>\n" \ + " <property name=\"UnitsLoadStartTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \ + " <property name=\"UnitsLoadFinishTimestamp\" type=\"t\" access=\"read\"/>\n" \ + " <property name=\"UnitsLoadFinishTimestampMonotonic\" type=\"t\" access=\"read\"/>\n" \ " <property name=\"LogLevel\" type=\"s\" access=\"readwrite\"/>\n" \ " <property name=\"LogTarget\" type=\"s\" access=\"readwrite\"/>\n" \ " <property name=\"NNames\" type=\"u\" access=\"read\"/>\n" \ @@ -595,6 +599,10 @@ static const BusProperty bus_manager_properties[] = { { "GeneratorsStartTimestampMonotonic", bus_property_append_uint64, "t", offsetof(Manager, generators_start_timestamp.monotonic) }, { "GeneratorsFinishTimestamp", bus_property_append_uint64, "t", offsetof(Manager, generators_finish_timestamp.realtime) }, { "GeneratorsFinishTimestampMonotonic", bus_property_append_uint64, "t", offsetof(Manager, generators_finish_timestamp.monotonic) }, + { "UnitsLoadStartTimestamp", bus_property_append_uint64, "t", offsetof(Manager, unitsload_start_timestamp.realtime) }, + { "UnitsLoadStartTimestampMonotonic", bus_property_append_uint64, "t", offsetof(Manager, unitsload_start_timestamp.monotonic) }, + { "UnitsLoadFinishTimestamp", bus_property_append_uint64, "t", offsetof(Manager, unitsload_finish_timestamp.realtime) }, + { "UnitsLoadFinishTimestampMonotonic", bus_property_append_uint64, "t", offsetof(Manager, unitsload_finish_timestamp.monotonic) }, { "LogLevel", bus_manager_append_log_level, "s", 0, false, bus_manager_set_log_level }, { "LogTarget", bus_manager_append_log_target, "s", 0, false, bus_manager_set_log_target }, { "NNames", bus_manager_append_n_names, "u", 0 }, diff --git a/src/core/manager.c b/src/core/manager.c index 73f4c102e8..f16621ac2b 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -847,7 +847,9 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds) { m->n_reloading ++; /* First, enumerate what we can from all config files */ + dual_timestamp_get(&m->unitsload_start_timestamp); r = manager_enumerate(m); + dual_timestamp_get(&m->unitsload_finish_timestamp); /* Second, deserialize if there is something to deserialize */ if (serialization) { diff --git a/src/core/manager.h b/src/core/manager.h index 5d777e6ed3..dcc4ebed92 100644 --- a/src/core/manager.h +++ b/src/core/manager.h @@ -152,6 +152,8 @@ struct Manager { dual_timestamp finish_timestamp; dual_timestamp generators_start_timestamp; dual_timestamp generators_finish_timestamp; + dual_timestamp unitsload_start_timestamp; + dual_timestamp unitsload_finish_timestamp; char *generator_unit_path; char *generator_unit_path_early; |