[systemd-devel] [PATCH] systemd-analyze: add a --user option to support user instances
Kok, Auke-jan H
auke-jan.h.kok at intel.com
Thu May 3 14:08:44 PDT 2012
Thanks Patrick, this is exactly what I needed.
Lennert, Kay - this will make pretty graphs of the user session startup.
I've posted an example of the output here:
http://foo-projects.org/~sofar/systemd-user-2.svg
Auke
>
> On Thu, May 3, 2012 at 1:42 PM, Patrick McCarty <
> patrick.mccarty at linux.intel.com> wrote:
>
>> ---
>> src/analyze/systemd-analyze | 22 ++++++++++++++--------
>> 1 file changed, 14 insertions(+), 8 deletions(-)
>>
>> diff --git a/src/analyze/systemd-analyze b/src/analyze/systemd-analyze
>> index a49fbb7..ad7bd9a 100755
>> --- a/src/analyze/systemd-analyze
>> +++ b/src/analyze/systemd-analyze
>> @@ -69,9 +69,9 @@ def draw_text(context, x, y, text, size = 12, r = 0, g
>> = 0, b = 0, vcenter = 0.5
>> context.restore()
>>
>> def help():
>> - sys.stdout.write("""systemd-analyze time
>> -systemd-analyze blame
>> -systemd-analyze plot
>> + sys.stdout.write("""systemd-analyze [--user] time
>> +systemd-analyze [--user] blame
>> +systemd-analyze [--user] plot
>>
>> Process systemd profiling information
>>
>> @@ -80,8 +80,14 @@ Process systemd profiling information
>>
>>
>> bus = dbus.SystemBus()
>> +command_index = 1
>>
>> -if len(sys.argv) <= 1 or sys.argv[1] == 'time':
>> +if len(sys.argv) > 1 and sys.argv[1] == '--user':
>> + bus = dbus.SessionBus()
>> + command_index = 2
>> +
>> +
>> +if len(sys.argv) <= command_index or sys.argv[command_index] == 'time':
>>
>> initrd_time, start_time, finish_time = acquire_start_time()
>>
>> @@ -98,7 +104,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == 'time':
>> finish_time/1000)
>>
>>
>> -elif sys.argv[1] == 'blame':
>> +elif sys.argv[command_index] == 'blame':
>>
>> data = acquire_time_data()
>> s = sorted(data, key = lambda i: i[2] - i[1], reverse = True)
>> @@ -113,7 +119,7 @@ elif sys.argv[1] == 'blame':
>>
>> sys.stdout.write("%6lums %s\n" % ((aet - ixt) / 1000,
>> name))
>>
>> -elif sys.argv[1] == 'plot':
>> +elif sys.argv[command_index] == 'plot':
>> import cairo, os
>>
>> initrd_time, start_time, finish_time = acquire_start_time()
>> @@ -269,8 +275,8 @@ elif sys.argv[1] == 'plot':
>> finish_time/1000), hcenter = 0, vcenter = -1)
>>
>> surface.finish()
>> -elif sys.argv[1] in ("help", "--help", "-h"):
>> +elif sys.argv[command_index] in ("help", "--help", "-h"):
>> help()
>> else:
>> - sys.stderr.write("Unknown verb '%s'.\n" % sys.argv[1])
>> + sys.stderr.write("Unknown verb '%s'.\n" %
>> sys.argv[command_index])
>> sys.exit(1)
>> --
>> 1.7.10
>>
>> _______________________________________________
>> systemd-devel mailing list
>> systemd-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20120503/51a8cb24/attachment.htm>
More information about the systemd-devel
mailing list