summaryrefslogtreecommitdiff
path: root/src/analyze/analyze.c
AgeCommit message (Collapse)Author
2015-07-28analyze: correctly draw the plot for user instancesIvan Shapovalov
Start-up timestamp of a user instance (userspace_time in struct boot_times) actually may be arbitrarily big. This, because all timestamps are offset by that value, leads to creation of arbitrarily wide SVGs which almost completely consist of blank space. Fix this by inverse-offsetting all timestamps by that value if user instance operation is requested. Fixes #740.
2015-07-28analyze: move acquire_boot_times() above acquire_time_data()Ivan Shapovalov
Next patch will make the latter call into the former.
2015-07-03sd-bus: introduce new sd_bus_flush_close_unref() callLennart Poettering
sd_bus_flush_close_unref() is a call that simply combines sd_bus_flush() (which writes all unwritten messages out) + sd_bus_close() (which terminates the connection, releasing all unread messages) + sd_bus_unref() (which frees the connection). The combination of this call is used pretty frequently in systemd tools right before exiting, and should also be relevant for most external clients, and is hence useful to cover in a call of its own. Previously the combination of the three calls was already done in the _cleanup_bus_close_unref_ macro, but this was only available internally. Also see #327
2015-05-11core: rename SystemdRunningAs to ManagerRunningAsLennart Poettering
It's primarily just a property of the Manager object after all, and we try to refer to PID 1 as "manager" instead of "systemd", hence let's to stick to this here too.
2015-04-11shared: add terminal-util.[ch]Ronny Chevalier
2015-02-23remove unused includesThomas Hindoe Paaboel Andersen
This patch removes includes that are not used. The removals were found with include-what-you-use which checks if any of the symbols from a header is in use.
2015-02-16Transpose args in strv_fnmatch() to be more ooZbigniew Jędrzejewski-Szmek
2015-02-16analyze: change behaviour of combined --to/from--patternZbigniew Jędrzejewski-Szmek
We would require a match against all three: patterns specified with --to, with --from, and as positional arguments to show an edge. This does not seem useful. Let instead the positional args behave like they were specified in both --to and --from, which is fairly intuitive and should be more useful.
2015-02-16Add helper for fnmatch over strvZbigniew Jędrzejewski-Szmek
2015-01-27notify,firstboot,analyze,run: trim --help output to 80 linesZbigniew Jędrzejewski-Szmek
2014-12-24sd-bus: rename sd_bus_open_system_container() to sd_bus_open_system_machine()Lennart Poettering
Pretty much everywhere else we use the generic term "machine" when referring to containers in API, so let's do though in sd-bus too. In particular, since the concept of a "container" exists in sd-bus too, but as part of the marshalling system.
2014-11-28treewide: no need to negate errno for log_*_errno()Michal Schmidt
It corrrectly handles both positive and negative errno values.
2014-11-28treewide: auto-convert the simple cases to log_*_errno()Michal Schmidt
As a followup to 086891e5c1 "log: add an "error" parameter to all low-level logging calls and intrdouce log_error_errno() as log calls that take error numbers", use sed to convert the simple cases to use the new macros: find . -name '*.[ch]' | xargs sed -r -i -e \ 's/log_(debug|info|notice|warning|error|emergency)\("(.*)%s"(.*), strerror\(-([a-zA-Z_]+)\)\);/log_\1_errno(-\4, "\2%m"\3);/' Multi-line log_*() invocations are not covered. And we also should add log_unit_*_errno().
2014-09-15hashmap: introduce hash_ops to make struct Hashmap smallerMichal Schmidt
It is redundant to store 'hash' and 'compare' function pointers in struct Hashmap separately. The functions always comprise a pair. Store a single pointer to struct hash_ops instead. systemd keeps hundreds of hashmaps, so this saves a little bit of memory.
2014-09-13analyze: fix mem leakThomas Hindoe Paaboel Andersen
Found with Coverity. Fixes: CID#1237756
2014-09-11analyze: avoid a null dereferenceThomas Hindoe Paaboel Andersen
If we have an error in the early sd_bus_* calls then unit_times will still be null. Found with coverity. Fixes: CID#996464
2014-08-20cmdline: for new tools avoid introduce new negative switches, and properly ↵Lennart Poettering
align --help texts Negative switches are a bad un-normalized thing. We alerady have some, but we should try harder to avoid intrdoucing new ones. Hence, instead of adding two switches: --foobar --no-foobar Let's instead use the syntax --foobar --foobar=yes --foobar=no Where the first two are equivalent. The boolean argument is parsed following the usual rules. Change all new negative switches this way. This patch also properly aligns the --help table, so that single char switches always get a column separate of the long switches.
2014-08-14analyze: some fixes to the --help textLennart Poettering
2014-08-04bus: always explicitly close bus from main programsLennart Poettering
Since b5eca3a2059f9399d1dc52cbcf9698674c4b1cf0 we don't attempt to GC busses anymore when unsent messages remain that keep their reference, when they otherwise are not referenced anymore. This means that if we explicitly want connections to go away, we need to close them. With this change we will no do so explicitly wherver we connect to the bus from a main program (and thus know when the bus connection should go away), or when we create a private bus connection, that really should go away after our use. This fixes connection leaks in the NSS and PAM modules.
2014-08-03Unify parse_argv styleZbigniew Jędrzejewski-Szmek
getopt is usually good at printing out a nice error message when commandline options are invalid. It distinguishes between an unknown option and a known option with a missing arg. It is better to let it do its job and not use opterr=0 unless we actually want to suppress messages. So remove opterr=0 in the few places where it wasn't really useful. When an error in options is encountered, we should not print a lengthy help() and overwhelm the user, when we know precisely what is wrong with the commandline. In addition, since help() prints to stdout, it should not be used except when requested with -h or --help. Also, simplify things here and there.
2014-07-31Constify option table and add missing optionZbigniew Jędrzejewski-Szmek
2014-07-26analyze: fix seg-fault with no cl-argumentDaniel Buch
We need to check if argv[1] is set before compare
2014-07-21Merge systemd-verify with systemd-analyzeZbigniew Jędrzejewski-Szmek
2014-05-26analyze/run: use bus_open_transport_systemd instead of bus_open_transportThomas Bächler
Both systemd-analyze and systemd-run only access org.freedesktop.systemd1 on the bus. This patch allows using systemd-run --user and systemd-analyze --user even if the user session's bus is not properly integrated with the systemd user unit. https://bugs.freedesktop.org/show_bug.cgi?id=79252 and other reports...
2014-05-19analyze: read host and system information from remoteDjalal Harouni
This makes "systemd-analyze plot" read host information from remote. While we are it show if this is a virtualized system. https://bugs.freedesktop.org/show_bug.cgi?id=76498 Reported-by: Zach <zachcook1991@gmail.com>
2014-04-23analyze: fix plot with bad y sizeJeffrey Clark
systemd-analyze plot > test.svg produces output with all y and height element attributes equal to zero. This of course causes the resulting svg to appear blank (zero height). Bug does not affect x86. Looks like a compiler optimization may be the culprit. https://github.com/archlinuxarm/PKGBUILDs/issues/815
2014-04-23delta: draw arrows with draw_special_char()Lennart Poettering
Let's unify generation of unicode chars at one place. Also, don't add an extra space into chars we print, except for the tree chars where this is really necessary.
2014-01-31analyze: fix plot issues when using gummibootThomas Hindoe Paaboel Andersen
It would crash and the legend in the bottom followed the time 0.0.
2013-12-03trivial coding style clean upsThomas Hindoe Paaboel Andersen
- Add space between if/for and the opening parentheses - Place the opening brace on same line as the function (not for udev) From the CODING_STYLE Try to use this: void foo() { } instead of this: void foo() { }
2013-11-10analyze: plot the time spent setting up security modulesThomas Hindoe Paaboel Andersen
2013-11-08clients: add missing command line argumentsLennart Poettering
2013-11-08systemctl: port to libsystemd-busMarc-Antoine Perennou
2013-11-07analyze: make use of new sd_bus_get_property_strv() callLennart Poettering
2013-11-07clients: try to follow roughly the same order in --help texts for common optionsLennart Poettering
2013-11-07bus: log message parsing errors everywhere with a generalized ↵Lennart Poettering
bus_log_parse_error()
2013-11-07build-sys: merge sd-event into sd-busLennart Poettering
The sd-event APIs should be available only as part of libsystemd-bus so that the utility calls are not linked into each independently and we can minimize the number of libraries we have.
2013-11-06clients: unify how we invoke getopt_long()Lennart Poettering
Among other things this makes sure we always expose a --version command and show it in the help texts.
2013-11-06analyze: port over to use bus_open_transport()Lennart Poettering
2013-11-06analyze: simplify thingsLennart Poettering
2013-11-06analyze: fix indentationLennart Poettering
2013-11-01analyze: rename variablesThomas Hindoe Paaboel Andersen
2013-11-01analyze: plot: place the text on the side with most spaceThomas Hindoe Paaboel Andersen
Set the width of the svg to always fit the longest string while taking its starting position into consideration. Place the text on the right while the starting point is in the first half of the screen. After that we put it on the left to save the svg from being wider that it has to.
2013-10-31analyze: share code to read a string array from sd-busThomas Hindoe Paaboel Andersen
2013-10-31analyze: use sd_bus_get_propery_trivial and indentationThomas Hindoe Paaboel Andersen
2013-10-30general: various cleanupsLennart Poettering
2013-10-25analyze: port to sd-busThomas Hindoe Paaboel Andersen
2013-10-22analyze: systemd-analyze.c -> analyze.cKay Sievers