[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