Antoine Busque [Tue, 22 Dec 2015 03:52:10 +0000 (22:52 -0500)]
Use core/stats classes in IO analysis
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Tue, 22 Dec 2015 03:51:24 +0000 (22:51 -0500)]
Initial core/stats module implementation
Signed-off-by: Antoine Busque <abusque@efficios.com>
Julien Desfossez [Thu, 11 Feb 2016 17:42:15 +0000 (12:42 -0500)]
Merge pull request #30 from jgalar/master
Add a LICENSE file and a stand-alone copy of the MIT license
Jérémie Galarneau [Thu, 11 Feb 2016 17:36:15 +0000 (12:36 -0500)]
Add a LICENSE file and a stand-alone copy of the MIT license
A LICENSE file is provided for all other LTTng projects. These
files are added to maintain uniformity among the projects'
organization.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Julien Desfossez [Wed, 13 Jan 2016 21:16:18 +0000 (16:16 -0500)]
Merge pull request #29 from mjeanson/master
Doc: Use git url for pip install in README
Michael Jeanson [Wed, 13 Jan 2016 20:55:31 +0000 (15:55 -0500)]
Doc: Use git url for pip install in README
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Julien Desfossez [Mon, 4 Jan 2016 22:07:30 +0000 (17:07 -0500)]
Merge pull request #28 from lttng/staging
Staging for 0.4
Julien Desfossez [Mon, 4 Jan 2016 21:50:08 +0000 (16:50 -0500)]
Merge pull request #27 from abusque/staging
Priority analysis and fixes
Antoine Busque [Mon, 14 Dec 2015 16:30:37 +0000 (11:30 -0500)]
Fix: cputop: sort CPUs by ID instead of usage
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 16:16:00 +0000 (11:16 -0500)]
Fix: don't override prio value from statedump event
If a process already has a prio value, gathered from sched_* events,
don't override it with the value extracted from an
lttng_statedump_process_state event.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 15:53:39 +0000 (10:53 -0500)]
Fix: use path to kernel trace to look up tracer version
Currently, only the lttng-modules version is of use for the
analyses. However, multi-domain traces, combining UST and modules,
could lead to unpredictable results wherein the tracer_version was
erroneously identified as that of the userspace tracer, which was
problematic when its version differed from that of the kernel tracer.
Extracting the version directly from the kernel trace's metadata
corrects this issue.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 11:54:16 +0000 (06:54 -0500)]
Add prio list to per-tid schedstats output
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 11:53:50 +0000 (06:53 -0500)]
Fix: sched: track prio at process creation
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 11:53:21 +0000 (06:53 -0500)]
Fix: sched: keep current prio for next analysis period
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 11:22:49 +0000 (06:22 -0500)]
Fix: compute correct prio value on older tracer versions
Versions of lttng-modules prior to 2.7.1 did not subtract the
MAX_RT_PRIO (whose value is 100) from the prio fields in
sched_wak{eup, eup_new, ing} events.
Now that we keep the tracer version information in the automaton,
compute the offset if necessary, depending on the version.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 11:21:54 +0000 (06:21 -0500)]
Read tracer version and keep it in the automaton
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 11:20:14 +0000 (06:20 -0500)]
Use version_utils for _MI_VERSION
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 11:17:18 +0000 (06:17 -0500)]
Add version_utils modules in a new common package
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 14 Dec 2015 09:48:48 +0000 (04:48 -0500)]
Fix: sched: sort procnames regardless of capitalization
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Fri, 4 Dec 2015 11:39:45 +0000 (06:39 -0500)]
Add support for different period begin/end keys, constant keys
This allows using differently named fields as a period key for begin
and end events. For instance, comparing the `tid` field from a
`sched_waking` event to that of `next_tid` in `sched_switch`.
This also adds support for constant or fixed key value. That is to
say, with the same TID example, one can specify a particular TID
value, and only periods for which the key matches this value will be
accounted for.
In both new features, the order of fields and values must be
consistent across all arguments for multi-field keys.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Fri, 4 Dec 2015 11:37:36 +0000 (06:37 -0500)]
PEP 8: place standard library imports first
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Fri, 4 Dec 2015 08:59:35 +0000 (03:59 -0500)]
Add current prio to proc state, track prio changes
This adds a prio field to the Process class from linuxautomaton, which
contains the process' current priority value. On priority change, a
notification is sent, allowing analyses to track priority
changes. Currently, the sched analysis tracks these priority changes
via a per-process PrioEvent list, formed by (timestamp, prio) tuples.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Fri, 4 Dec 2015 08:54:19 +0000 (03:54 -0500)]
Allowing filename in IO analysis from statedump events
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Fri, 4 Dec 2015 05:36:01 +0000 (00:36 -0500)]
Refactor state providers __init__ and process_event
This minor refactor minimises code duplication by removing identical
implementations of process_event in classes derived from
StateProvider, and also by moving duplicated parts of the __init__
methods in these class to the parent.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Thu, 3 Dec 2015 07:41:53 +0000 (02:41 -0500)]
Implement sched latency frequency distribution
This includes MI and text output implementations, for total, per-tid,
and per-prio sched latencies.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Thu, 3 Dec 2015 07:32:48 +0000 (02:32 -0500)]
Add lttng-schedfreq wrapper script
Signed-off-by: Antoine Busque <abusque@efficios.com>
Julien Desfossez [Wed, 2 Dec 2015 23:43:16 +0000 (18:43 -0500)]
fix: missing wakeup/waking events
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Antoine Busque [Tue, 10 Nov 2015 20:48:15 +0000 (15:48 -0500)]
Fix: reset analysis when beginning a new period
Previously, the analysis was reset when a period ended. Although the
effect was strictly equivalent when using a single event to mark both
the beginning and end of the period, or a fixed length period, when
using distinct begin and end events the effect is quite different.
Resetting at the end of a period instead of the beginning had the
effect of accumulating analysis results during the periodless gap
before the next begin event and wrongly considering them as part of
the next period. Resetting at the beginning of the next period fixes
this issue.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Tue, 10 Nov 2015 20:26:55 +0000 (15:26 -0500)]
Exit gracefully on SIGINT in run()
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 9 Nov 2015 00:25:47 +0000 (19:25 -0500)]
Fix pylint issues
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Sun, 8 Nov 2015 23:57:24 +0000 (18:57 -0500)]
Fix pep8 style issues
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Sun, 8 Nov 2015 23:36:39 +0000 (18:36 -0500)]
Add target CPU to sched analysis
Signed-off-by: Antoine Busque <abusque@efficios.com>
Philippe Proulx [Sat, 7 Nov 2015 01:57:49 +0000 (20:57 -0500)]
Add scheduling latencies frequencies MI results
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Sat, 7 Nov 2015 00:57:28 +0000 (19:57 -0500)]
IRQ freq distribution: consolidate as series table
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Antoine Busque [Fri, 6 Nov 2015 22:37:42 +0000 (17:37 -0500)]
Output last process priority in cputop
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Fri, 6 Nov 2015 11:55:23 +0000 (06:55 -0500)]
Implement uniform freq mode for IRQ analysis
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Fri, 6 Nov 2015 11:54:53 +0000 (06:54 -0500)]
Add duration property for IRQs
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Fri, 6 Nov 2015 05:01:15 +0000 (00:01 -0500)]
Add filtering by CPU ID to analyses
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Wed, 4 Nov 2015 03:59:41 +0000 (22:59 -0500)]
Remove shebangs on non-executable modules
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Fri, 6 Nov 2015 02:34:52 +0000 (21:34 -0500)]
Use TIDs for proc filtering, and filter in core
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Mon, 2 Nov 2015 22:58:13 +0000 (17:58 -0500)]
Implement sched switch latency analysis
The sched switch latency analysis allows to measure latencies between
sched_wakeup or sched_waking events and their corresponding
sched_switch event.
It features log, top, and stats output modes.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Philippe Proulx [Fri, 6 Nov 2015 20:57:02 +0000 (15:57 -0500)]
TMP: add MI test script
Philippe Proulx [Tue, 3 Nov 2015 20:36:36 +0000 (15:36 -0500)]
Use Babeltrace's dummy output to check lost events
Suggested-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Tue, 3 Nov 2015 04:12:42 +0000 (23:12 -0500)]
Add doc/mi.md
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Tue, 3 Nov 2015 04:08:26 +0000 (23:08 -0500)]
command.py: colored error if possible
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Tue, 3 Nov 2015 04:06:27 +0000 (23:06 -0500)]
cli: add copyright
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Tue, 3 Nov 2015 04:04:29 +0000 (23:04 -0500)]
cli: remove shebangs
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Sun, 1 Nov 2015 17:03:08 +0000 (12:03 -0500)]
Fix: extract_timerange(): always return a pair
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Sun, 1 Nov 2015 04:47:50 +0000 (00:47 -0400)]
Fix: analysis.py: use appropriate attributes
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Sun, 1 Nov 2015 04:46:54 +0000 (00:46 -0400)]
Fix: _process_date_args(): use appropriate attributes
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Sun, 1 Nov 2015 04:37:33 +0000 (00:37 -0400)]
automaton/mem: handle `kmem_` prefix
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Wed, 28 Oct 2015 19:40:46 +0000 (15:40 -0400)]
setup.py: add MI console scripts
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Wed, 28 Oct 2015 19:40:32 +0000 (15:40 -0400)]
setup.py: chmod +x
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Wed, 28 Oct 2015 19:38:56 +0000 (15:38 -0400)]
date_to_epoch_nsec(): support ns only
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Wed, 28 Oct 2015 19:42:41 +0000 (15:42 -0400)]
Implement MI mode
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Philippe Proulx [Fri, 9 Oct 2015 20:26:56 +0000 (16:26 -0400)]
date_to_epoch_nsec(): fix and improve regexes
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Julien Desfossez [Mon, 2 Nov 2015 05:00:51 +0000 (00:00 -0500)]
Merge pull request #25 from abusque/periodic
Periodic analysis implementation
Antoine Busque [Wed, 28 Oct 2015 06:38:05 +0000 (02:38 -0400)]
Allow user to specify fields forming the period marker key
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Wed, 28 Oct 2015 06:10:24 +0000 (02:10 -0400)]
Prevent division by zero in core/cputop.py
When an extremely short period is generated (usually at the end of a
trace), there is a chance that the duration will be zero. Instead of
trying to divide by this value, set the usage percent for that
(degenerate) period to 0.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Wed, 28 Oct 2015 05:31:55 +0000 (01:31 -0400)]
Add support for periods with sub-second units
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Wed, 28 Oct 2015 00:14:48 +0000 (20:14 -0400)]
Add string to ns method and clean-up string to bytes method
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Sun, 25 Oct 2015 05:43:37 +0000 (01:43 -0400)]
Initial implementation of periodic events analysis
Signed-off-by: Antoine Busque <abusque@efficios.com>
Julien Desfossez [Tue, 27 Oct 2015 19:12:06 +0000 (15:12 -0400)]
Merge pull request #24 from abusque/cli-refactor
Refactor and clean-up cli and core
Antoine Busque [Sun, 25 Oct 2015 05:25:07 +0000 (01:25 -0400)]
Refactor and clean-up cli and core
This refactor mainly refactors modules within the cli package in order
to reduce the duplicated code between separate commands. This allows
for new analyses to be added in a much simpler fashion.
The second significant portion of the refactor is the removal of all
refresh/reset or otherwise analysis-state affecting code from the cli,
and its reimplementation within the analysis itself. The cli now
simply feeds events to the analysis (and state automaton), and
receives notifications to which it can react. For now, the only
notification type is received whenever an analysis period has ended,
in which case the default cli behaviour is to output the results.
Some other minor style clean-up is also performed where was deemed
necessary.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Sun, 25 Oct 2015 05:13:00 +0000 (01:13 -0400)]
Add lttng-iolog wrapper script
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Sun, 25 Oct 2015 05:10:11 +0000 (01:10 -0400)]
Fix: remove superfluous disk name formatting in io.py
Signed-off-by: Antoine Busque <abusque@efficios.com>
Antoine Busque [Sun, 25 Oct 2015 05:08:01 +0000 (01:08 -0400)]
Fix: prevent division by zero in cputop
Signed-off-by: Antoine Busque <abusque@efficios.com>
Julien Desfossez [Fri, 24 Jul 2015 20:24:04 +0000 (16:24 -0400)]
fix: filter also block requests
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Julien Desfossez [Fri, 24 Jul 2015 20:21:41 +0000 (16:21 -0400)]
fix: tid is not necessarily available
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Julien Desfossez [Mon, 13 Jul 2015 22:47:21 +0000 (18:47 -0400)]
fix: pip is not required if we install the distro packages
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Julien Desfossez [Mon, 13 Jul 2015 22:14:08 +0000 (18:14 -0400)]
Changelog for v0.3
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Julien Desfossez [Mon, 13 Jul 2015 21:26:08 +0000 (17:26 -0400)]
Merge pull request #23 from mjeanson/master
Refactor in a single package with subpackages
Michael Jeanson [Mon, 13 Jul 2015 16:24:16 +0000 (12:24 -0400)]
Convert README to reStructuredText
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Michael Jeanson [Fri, 10 Jul 2015 20:51:52 +0000 (16:51 -0400)]
Fix pep8 errors
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Michael Jeanson [Mon, 13 Jul 2015 17:59:55 +0000 (13:59 -0400)]
Refactor in a single package with subpackages
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Julien Desfossez [Fri, 19 Jun 2015 20:44:57 +0000 (16:44 -0400)]
fix: stats with 0 requests
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Antoine Busque [Tue, 21 Apr 2015 00:10:31 +0000 (20:10 -0400)]
Check for babeltrace python package on installation
Antoine Busque [Mon, 20 Apr 2015 21:48:46 +0000 (17:48 -0400)]
Define version once per package only
Antoine Busque [Mon, 20 Apr 2015 20:24:06 +0000 (16:24 -0400)]
Add ChangeLog file
Antoine Busque [Mon, 20 Apr 2015 19:05:09 +0000 (15:05 -0400)]
Merge pull request #22 from abusque/refactor-syscallstats
Refactor syscallstats and bump version
Antoine Busque [Mon, 20 Apr 2015 19:01:32 +0000 (15:01 -0400)]
Bump version to 0.2
Antoine Busque [Mon, 20 Apr 2015 18:56:57 +0000 (14:56 -0400)]
Refactor syscallstats script to use new analysis backend
Antoine Busque [Mon, 20 Apr 2015 18:41:30 +0000 (14:41 -0400)]
Rename min/max attributes to avoid collision with built-ins
Julien Desfossez [Thu, 16 Apr 2015 22:25:40 +0000 (18:25 -0400)]
Merge pull request #21 from abusque/decouple-io
Refactor/Rewrite I/O state system and analysis
Antoine Busque [Thu, 16 Apr 2015 22:21:20 +0000 (18:21 -0400)]
Implement check for --end argument before start of trace
Antoine Busque [Thu, 16 Apr 2015 20:48:08 +0000 (16:48 -0400)]
Style: fix indentation in _get_io_requests
Antoine Busque [Thu, 16 Apr 2015 20:36:52 +0000 (16:36 -0400)]
Fix: set pid correctly on FileStats init
Antoine Busque [Thu, 16 Apr 2015 20:24:34 +0000 (16:24 -0400)]
Fix typo in _fix_context_pid
Antoine Busque [Thu, 16 Apr 2015 18:56:53 +0000 (14:56 -0400)]
Fix: use TID instead of PID in file stats if PID is None
Antoine Busque [Wed, 15 Apr 2015 22:12:22 +0000 (18:12 -0400)]
Refactor io latency freq output
Antoine Busque [Wed, 15 Apr 2015 20:45:46 +0000 (16:45 -0400)]
Lint: remove unused import, fix 'dangerous' default args
Antoine Busque [Wed, 15 Apr 2015 20:44:57 +0000 (16:44 -0400)]
Refactor io top and log views
Antoine Busque [Wed, 15 Apr 2015 20:36:24 +0000 (16:36 -0400)]
Remove deprecated --extra argument
Antoine Busque [Wed, 15 Apr 2015 20:22:11 +0000 (16:22 -0400)]
Fix: correct typo and existence test in fd getter
Antoine Busque [Wed, 15 Apr 2015 07:23:58 +0000 (03:23 -0400)]
Fix: correct typo in ns_to_hour_nsec output
Antoine Busque [Tue, 14 Apr 2015 20:54:28 +0000 (16:54 -0400)]
Style: fix pylint/pep8 style issues
Antoine Busque [Tue, 14 Apr 2015 20:34:43 +0000 (16:34 -0400)]
Replace map() by list comprehension in disk latency stats
Antoine Busque [Tue, 14 Apr 2015 20:08:30 +0000 (16:08 -0400)]
Refactor IO Latency stats output methods
Antoine Busque [Mon, 13 Apr 2015 21:48:34 +0000 (17:48 -0400)]
Add generators to iterate over io requests
Antoine Busque [Mon, 13 Apr 2015 21:47:57 +0000 (17:47 -0400)]
Add method to compare equivalent io operations
This page took 0.039083 seconds and 5 git commands to generate.