sdk/tools/heaptrack.git
7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Wed, 21 Jun 2017 04:50:05 +0000 (06:50 +0200)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Sun, 11 Jun 2017 02:31:19 +0000 (04:31 +0200)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Thu, 8 Jun 2017 02:52:53 +0000 (04:52 +0200)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoFormat time values larger than 1min in terms of minutes
Milian Wolff [Tue, 23 May 2017 15:29:11 +0000 (17:29 +0200)]
Format time values larger than 1min in terms of minutes

7 years agoRestore the caching functionality in StringCache::location
Milian Wolff [Tue, 23 May 2017 15:26:23 +0000 (17:26 +0200)]
Restore the caching functionality in StringCache::location

The patch 1b9a59dc broke this by refactoring the code. It forgot
to store the non-cached value back in the faster lookup table.
See the original patch c370b7be for the advantage this fast-path
can bring.

7 years agoMove time-formatting code into a Util header
Milian Wolff [Tue, 23 May 2017 15:17:42 +0000 (17:17 +0200)]
Move time-formatting code into a Util header

7 years agoFurther optimize handling of peak data cost
Milian Wolff [Tue, 23 May 2017 14:59:42 +0000 (16:59 +0200)]
Further optimize handling of peak data cost

We now only update the peak costs once we leave the peak. This
allows us to merge multiple consecutive allocations, which each
lead to an increment in the peak memory consumption. Instead of
updating the peak costs every time, we now only update the peaks
once at the end of the peak patter, just before memory is freed
or the record process has finished.

This brings the processing time back to the original ~1.2s I have
seen initially for my real-world data file.

7 years agoOnly update peak costs on the first parse pass
Milian Wolff [Tue, 23 May 2017 14:50:03 +0000 (16:50 +0200)]
Only update peak costs on the first parse pass

On the second parse pass we can reuse the initial data. This
saves ~200ms of parse time in my test case, and brings the time
down to ~1.6s from 1.8s.

7 years agoAdd missing license headers
Milian Wolff [Tue, 23 May 2017 14:34:51 +0000 (16:34 +0200)]
Add missing license headers

7 years agoOptimize tracking of peak costs
Milian Wolff [Tue, 23 May 2017 14:08:19 +0000 (16:08 +0200)]
Optimize tracking of peak costs

Use a separate container for the potentially frequent write
operations when updating the peak memory consumption of all
allocation locations. This allows us to only update what is
actually required and thus makes better use of our CPU caches.

In one of my example files, this decreases the processing time
from about 2.2s down to 1.8s, i.e. it's about 22% faster. But,
compared to the original approach with the different "peak"
heuristic, which took ~1.2s, we are still about 33% slower.

7 years agoMake peak memory consumption easier to understand
Milian Wolff [Tue, 23 May 2017 13:43:17 +0000 (15:43 +0200)]
Make peak memory consumption easier to understand

This changes the meaning of the peak metric, but frequent feedback
was that the value we used to show was confusing.

Previously, we tracked the peak memory consumption individually by
backtrace. Only at the end did we then aggregate the total, at
which point we lose the temporal resolution. The new peak example
shows how this goes wrong: it used to show a "peak" of 275B in
`allocate_something`, while the expected "peak" is actually only
125B.

The new code repurposes the peak metric to mean "contribution to
peak memory consumption". This requires us to update the peak value
for all allocations whenever we hit a new peak, which is a quite
costly procedure and greatly slows down the overall processing time.
One of my test files took ~1.2s in total to be processed before
this patch. Now, it takes ~2.2s in total - so processing is about
45% slower with this patch.

Nevertheless, I think it's worth it as it makes the cost metric
easier to understand and thus hopefully more useful for users of
heaptrack.

7 years agoAlways use KFormat::MetricBinaryDialect
Milian Wolff [Tue, 23 May 2017 12:48:25 +0000 (14:48 +0200)]
Always use KFormat::MetricBinaryDialect

This dialect is much simpler to grasp and usually what
people expect when talking about megabytes and kilobytes.

7 years agoHide rows with less than 1% of the cost from the top proxy
Milian Wolff [Wed, 17 May 2017 13:13:59 +0000 (15:13 +0200)]
Hide rows with less than 1% of the cost from the top proxy

This drastically reduces the clutter on the summary page and we
can concentrate on the actual pain-points.

7 years agoUse fixed formatting for percentages in heaptrack_print
Milian Wolff [Wed, 17 May 2017 10:00:41 +0000 (12:00 +0200)]
Use fixed formatting for percentages in heaptrack_print

Otherwise we could end up printing 100% as "1.00E2%". Now, we will
print it as "100.00%".

7 years agoUpdate comment, this list is sorted by now
Milian Wolff [Wed, 3 May 2017 15:48:35 +0000 (17:48 +0200)]
Update comment, this list is sorted by now

7 years agoHandle fscanf failure when reading RSS from /proc/self/statm
Milian Wolff [Wed, 3 May 2017 15:43:19 +0000 (17:43 +0200)]
Handle fscanf failure when reading RSS from /proc/self/statm

In such situations, disable further read attempts of the RSS value.

Fixes compiler warnings like this one:
src/track/libheaptrack.cpp:339:51: warning:
  ignoring return value of ‘int fscanf(FILE*, const char*, ...)’,
  declared with attribute warn_unused_result [-Wunused-result]

7 years agoMake sure KF5_FOUND is FALSE when not all components are available
Kevin Funk [Tue, 9 May 2017 16:13:25 +0000 (18:13 +0200)]
Make sure KF5_FOUND is FALSE when not all components are available

heaptrack_gui needs all components

7 years agoDo not print zero-cost sub-branches in diff mode
Milian Wolff [Tue, 9 May 2017 11:01:37 +0000 (13:01 +0200)]
Do not print zero-cost sub-branches in diff mode

7 years agoDon't repeat work of KAboutData::setApplicationData()
Friedrich W. H. Kossebau [Mon, 8 May 2017 14:54:18 +0000 (16:54 +0200)]
Don't repeat work of KAboutData::setApplicationData()

7 years agoShow inlined frames
Milian Wolff [Mon, 8 May 2017 12:52:26 +0000 (14:52 +0200)]
Show inlined frames

This is a major usability improvement for C++ code. Previously,
when we profiled code with heaptrack that was built with compiler
optimizations enabled, most allocations within container classes
where missing some parent frames. Even more confusing, sometimes
we missed the interesting user frames completely, when they
got inlined.

Now, we add all inlined frames to the heaptrack_print output and
also include them in the heaptrack_gui models. The simple
inlining example added by this pach clearly shows the advantage:

Before all we got is this:

1 calls to allocation functions with 1.23KB peak consumption from
main
  at /home/milian/projects/src/heaptrack/tests/manual/inlining.cpp:18
  in /home/milian/projects/build/heaptrack/tests/manual/inlining

Afterwards, we get all frames:

1 calls to allocation functions with 1.23KB peak consumption from
asdf()
  at /home/milian/projects/src/heaptrack/tests/manual/inlining.cpp:3
  in /home/milian/projects/build/heaptrack/tests/manual/inlining
bar()
  at /home/milian/projects/src/heaptrack/tests/manual/inlining.cpp:8
foo()
  at /home/milian/projects/src/heaptrack/tests/manual/inlining.cpp:13
main
  at /home/milian/projects/src/heaptrack/tests/manual/inlining.cpp:18

7 years agoDo not clear flamegraph on hide
Milian Wolff [Wed, 3 May 2017 22:07:26 +0000 (00:07 +0200)]
Do not clear flamegraph on hide

This way we keep the history / zoom state when navigating away from
the flamegraph, e.g. to quickly check something in the caller/callee
view.

7 years agoForce the fill method to never get inlined
Milian Wolff [Wed, 3 May 2017 15:36:35 +0000 (17:36 +0200)]
Force the fill method to never get inlined

7 years agoFilter zero frames from the end of the stack returned by libunwind
Milian Wolff [Wed, 3 May 2017 15:35:18 +0000 (17:35 +0200)]
Filter zero frames from the end of the stack returned by libunwind

Some (older) versions of libunwind eratically return zero frames
at the end of the stack. This happened on Debian and Ubuntu with the
distro provided libunwind. In such situations, we now skip these
uninteresting frames.

BUG: 379082

7 years agoDisable flamegraph navigation actions when they are not applicable
Milian Wolff [Tue, 2 May 2017 21:19:13 +0000 (23:19 +0200)]
Disable flamegraph navigation actions when they are not applicable

7 years agoAlso show tooltips with function identifiers
Milian Wolff [Tue, 2 May 2017 20:57:24 +0000 (22:57 +0200)]
Also show tooltips with function identifiers

Do not try to use fancy HTML formatting here though, as its making
text elision harder than necessary. It would also break tooltips
for very long function names which often happens in STL-using code.

BUG: 379360

7 years agoAdd search feature to flamegraph
Milian Wolff [Tue, 2 May 2017 20:54:14 +0000 (22:54 +0200)]
Add search feature to flamegraph

This is similar to the search feature available in the interactive
SVGs generated by flamegraph.pl. It allows you to search for strings
contained within the function names and will calculate the total
contribution in the flamegraph.

7 years agoAdd CMake's Copyright.txt which is referenced by FindLibunwind.cmake
Milian Wolff [Tue, 2 May 2017 19:47:26 +0000 (21:47 +0200)]
Add CMake's Copyright.txt which is referenced by FindLibunwind.cmake

7 years agoClarify licenses
Milian Wolff [Tue, 2 May 2017 19:33:03 +0000 (21:33 +0200)]
Clarify licenses

This code uses the LGPL, so use the correct LGPL header, not a mixture
of GPL and LGPL.

7 years agoRemove unused ModelTest
Milian Wolff [Tue, 2 May 2017 18:57:43 +0000 (20:57 +0200)]
Remove unused ModelTest

It is GPL licensed while the rest is LGPL licensed.

7 years agoInclude raw byte size in tooltips
Milian Wolff [Fri, 28 Apr 2017 11:34:42 +0000 (13:34 +0200)]
Include raw byte size in tooltips

When the size is larger than 1KB we lose some precision. In such
cases also show the raw byte size in parenthesis after the shortened
value to allow accurate manual comparisons.

BUG: 379222

7 years agoUse byte size in allocated tooltip
Milian Wolff [Fri, 28 Apr 2017 11:28:04 +0000 (13:28 +0200)]
Use byte size in allocated tooltip

It was wrongly using the time twice.

BUG: 379221

7 years agoProperly remap string indices before asserting equality
Milian Wolff [Fri, 28 Apr 2017 11:24:37 +0000 (13:24 +0200)]
Properly remap string indices before asserting equality

The string indices in the IP belong to the other file and thus
will mismatch. We need to remap them before we can commpare the
data in the assertion correctly.

BUG: 379220

7 years agos/calcuation/calculation
Bruno P. Kinoshita [Mon, 24 Apr 2017 23:25:38 +0000 (11:25 +1200)]
s/calcuation/calculation

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Tue, 18 Apr 2017 07:50:03 +0000 (09:50 +0200)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoCall libc and libstdc++ freeres functions in heaptrack_preload on exit
Milian Wolff [Mon, 17 Apr 2017 19:14:15 +0000 (21:14 +0200)]
Call libc and libstdc++ freeres functions in heaptrack_preload on exit

These functions are used by Valgrind already and can be used to force
a clean shutdown of libc and libstdc++. Both usually don't bother
freeing their global resources, which used to be reported as memory
leaks by heaptrack. By calling the freeres functions we now get a
clean shutdown of the libc_leaks.c example without any memory leaks
reported.

Thanks to Maxim Golov for pointing out this hidden functionality and
providing a test case.

BUG: 378765

7 years agoDisable signal handling in timer thread
Milian Wolff [Fri, 7 Apr 2017 12:07:31 +0000 (14:07 +0200)]
Disable signal handling in timer thread

When the host application sets up a custom signal handler thread
only that thread is supposed to handle the signals. But heaptrack
spawns up the timer thread on initialization, i.e. when it
first encounters a memory allocation. This usually happens before
the host application has setup the signal mask. As such, our timer
thread would still receive e.g. SIGTERM and then shutdown the whole
application.

Now, we disable signal handling in the helper thread to fix this
behavior for applications that rely on it.

BUG: 378494

7 years agoAdd missing include directory
Erwin Jansen [Wed, 5 Apr 2017 17:15:22 +0000 (10:15 -0700)]
Add missing include directory

Boost headers are at $BOOST_ROOT which might not be on the default
include path. Use Boost_INCLUDE_DIRS to add that path.

7 years agoPrefer $lib.debug files over $lib files, if available
Milian Wolff [Tue, 4 Apr 2017 15:38:34 +0000 (17:38 +0200)]
Prefer $lib.debug files over $lib files, if available

This is the first step towards supporting split-debug files. This
patch alone will at least improve the situation when you are using
heaptrack on a binary that has split debug information in a file
with the ".debug" suffix. In such cases, we used to be unable to
resolve the file/line information. Now, we properly resolve those
too. Note that Qt 5 QMake uses this split file configuration by
default since some time.

7 years agoAdd a script to anonymize profiling data
Maxim Golov [Tue, 4 Apr 2017 07:32:15 +0000 (09:32 +0200)]
Add a script to anonymize profiling data

Allow Heaptrack users to anonymise their stack traces
and application command line before submitting a bug report.

Reviewed By: mwolff
Differential Revision: https://phabricator.kde.org/D5288

7 years agoAdd .arcconfig file
Milian Wolff [Tue, 4 Apr 2017 07:31:36 +0000 (09:31 +0200)]
Add .arcconfig file

7 years agoProperly fail to parse lines of two or one chars
Milian Wolff [Sun, 2 Apr 2017 18:54:34 +0000 (20:54 +0200)]
Properly fail to parse lines of two or one chars

When we encountered e.g. a line with the contents 'c ', we did
not advance the char iterator to the end of the string and kept
it instead at the beginning of the line. Then, when we tried to
parse the timestamp, we would interpret the 'c' as 0xc == 12.
This then lead to breakage when we try to compute the chart model:
There, we would improperly use 12 as the maximum timestamp and
then essentially drop our time filter, instead trying to visualize
all charts and with wrong timestamps too.

This patch fixes this issue, we now fail to parse the 'c ' line
and thus simply omit the last timestamp and do not get confused
when building the chart model data.

7 years agoEnable rubber-band zooming in charts
Milian Wolff [Sun, 12 Mar 2017 19:59:28 +0000 (20:59 +0100)]
Enable rubber-band zooming in charts

Left-click and hold to create a rubber band zoom area which will
then be shown. Right-click to undo the last zoom change.

Note that this does not (yet) influence the other data aggregations.

7 years agoFix -Wexpansion-to-defined warning from Clang 3.9
Kevin Funk [Mon, 6 Mar 2017 14:35:10 +0000 (15:35 +0100)]
Fix -Wexpansion-to-defined warning from Clang 3.9

Fixed:

```
/home/kfunk/devel/src/kf5/heaptrack/tests/manual/test.cpp:65:5: warning:
macro expansion producing 'defined' has undefined behavior
[-Wexpansion-to-defined]
  #if HAVE_ALIGNED_ALLOC
      ^
/home/kfunk/devel/src/kf5/heaptrack/tests/manual/test.cpp:4:28: note:
expanded from macro 'HAVE_ALIGNED_ALLOC'
  #define HAVE_ALIGNED_ALLOC defined(_ISOC11_SOURCE)
```

7 years agoUpdate .gitignore with something more versatile
Kevin Funk [Mon, 6 Mar 2017 14:34:58 +0000 (15:34 +0100)]
Update .gitignore with something more versatile

7 years agoMerge remote-tracking branch 'origin/1.0'
Anton Anikin [Mon, 6 Mar 2017 07:29:52 +0000 (15:29 +0800)]
Merge remote-tracking branch 'origin/1.0'

7 years agoAdd gitignore file
Anton Anikin [Mon, 6 Mar 2017 07:28:39 +0000 (15:28 +0800)]
Add gitignore file

7 years agoMerge remote-tracking branch 'origin/1.0'
Anton Anikin [Mon, 6 Mar 2017 02:25:44 +0000 (10:25 +0800)]
Merge remote-tracking branch 'origin/1.0'

7 years agoFix "Uninitialized struct member" cppcheck error
Anton Anikin [Mon, 6 Mar 2017 02:20:13 +0000 (10:20 +0800)]
Fix "Uninitialized struct member" cppcheck error

Reviewers: mwolff

Reviewed By: mwolff

Differential Revision: https://phabricator.kde.org/D4888

7 years agoMerge branch '1.0'
Milian Wolff [Sun, 5 Mar 2017 23:42:21 +0000 (00:42 +0100)]
Merge branch '1.0'

Conflicts:
    src/analyze/gui/org.kde.heaptrack.desktop

7 years agoUpdate README.md
muo jp [Fri, 3 Mar 2017 02:05:38 +0000 (11:05 +0900)]
Update README.md

This `s` matters when specifying `--with-libraries` option on
boost's bootstrap.sh.

7 years agoOnly decrease leaked allocations counter for known allocations
Milian Wolff [Sun, 5 Mar 2017 21:52:23 +0000 (22:52 +0100)]
Only decrease leaked allocations counter for known allocations

When we runtime-attach heaptrack, we may encounter frees for
allocations that we did not track, i.e. those that happened before
we attached. In such cases, we used to decrase the leaked allocation
counter, and that potentially underflowed then. This is fixed now.

7 years agoImprove cleanup after detaching heaptrack
Milian Wolff [Sun, 5 Mar 2017 21:44:37 +0000 (22:44 +0100)]
Improve cleanup after detaching heaptrack

We now stop heaptrack explicitly via GDB before breaking the pipe.
This improves the stability of the unload process of heaptrack
after runtime-injection. It is still somewhat shaky though. I still
see crashes on shutdown of the debuggee now, long after heaptrack
was stopped. Similarly, I see tons of issues when I try to unload
libheaptrack_inject via __libc_dlclose, so I'm keeping the library
loaded for now.

I've added an explicit warning now to the `-p` option, saying that
runtime-attaching is unstable and can crash the debuggee.

BUG: 377143

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Sat, 4 Mar 2017 07:09:59 +0000 (08:09 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Sat, 4 Mar 2017 06:13:43 +0000 (07:13 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoTypo
Montel Laurent [Wed, 1 Mar 2017 08:26:13 +0000 (09:26 +0100)]
Typo

7 years agoExclude unresolved functions from recursion detection.
Milian Wolff [Sun, 26 Feb 2017 21:05:20 +0000 (22:05 +0100)]
Exclude unresolved functions from recursion detection.

Previously, when we encountered a stack with two consecutive frames
with missing debug information, we thought it would indicate recursion
and then collapsed all frames beneath. Now, we exclude frames with
missing debug information and don't collapse the stacks anymore.

7 years agoRemove now-dead code
Milian Wolff [Sun, 26 Feb 2017 20:50:35 +0000 (21:50 +0100)]
Remove now-dead code

7 years agoMerge branch '1.0'
Milian Wolff [Sun, 26 Feb 2017 20:35:54 +0000 (21:35 +0100)]
Merge branch '1.0'

7 years agoImprove the bottom-up conversion to top-down and caller/callee data
Milian Wolff [Sun, 26 Feb 2017 20:25:15 +0000 (21:25 +0100)]
Improve the bottom-up conversion to top-down and caller/callee data

When we encounter broken backtraces, we may not go all the way up
to main. In such cases, a non-leaf frame may actually have a cost
higher than the sum of its children. In these cases, we also have
to hande the difference in cost just like for a normal leaf node.

The manual test I added does not cover this properly, as the
unwinding is too reliable and thus we do not run into the corner case.
In real-world profiles though, this does occur and adds some errors.
This is now fixed and the caller/callee and top-down view become
more reliable.

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Sun, 26 Feb 2017 06:51:10 +0000 (07:51 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Sun, 26 Feb 2017 05:46:07 +0000 (06:46 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Sun, 26 Feb 2017 04:53:32 +0000 (05:53 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Sun, 26 Feb 2017 02:52:22 +0000 (03:52 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Sat, 25 Feb 2017 05:18:19 +0000 (06:18 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Sat, 25 Feb 2017 02:54:49 +0000 (03:54 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoEnable alternating row colors for caller/callee view
Milian Wolff [Thu, 23 Feb 2017 09:27:09 +0000 (10:27 +0100)]
Enable alternating row colors for caller/callee view

7 years agoMove top-view properties to .ui file, enable alternating row colors
Milian Wolff [Thu, 23 Feb 2017 09:25:59 +0000 (10:25 +0100)]
Move top-view properties to .ui file, enable alternating row colors

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Thu, 23 Feb 2017 07:13:09 +0000 (08:13 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Thu, 23 Feb 2017 06:13:29 +0000 (07:13 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Thu, 23 Feb 2017 05:11:51 +0000 (06:11 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Thu, 23 Feb 2017 03:01:02 +0000 (04:01 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoMerge branch '1.0'
Milian Wolff [Wed, 22 Feb 2017 12:40:40 +0000 (13:40 +0100)]
Merge branch '1.0'

7 years agoFix action enabled state
Milian Wolff [Wed, 22 Feb 2017 12:38:38 +0000 (13:38 +0100)]
Fix action enabled state

- only enable Open when we are not showing the open page already
- only disable Open and Close when we are not currently parsing a file

7 years agoFix compile with older KF5, as e.g. available on Ubuntu 16.04
Milian Wolff [Wed, 22 Feb 2017 12:36:25 +0000 (13:36 +0100)]
Fix compile with older KF5, as e.g. available on Ubuntu 16.04

7 years agoMerge branch '1.0'
Milian Wolff [Tue, 21 Feb 2017 08:42:31 +0000 (09:42 +0100)]
Merge branch '1.0'

7 years agoEnable wordwrap in summary labels
Milian Wolff [Tue, 21 Feb 2017 08:23:13 +0000 (09:23 +0100)]
Enable wordwrap in summary labels

When we encounter long debuggee command lines, we used to put them
into one line. This increased the minimal width of the mainwindow,
which could even expand beyond the screen dimensions, making parts
of the window invisible.

By enabling wordwrap, we can break the command line after every
argument. Additionally, to cope with extremely long arguments,
we add zero-width spaces after every 50 word characters, to enable
word wrap at these places.

BUG: 376741

7 years agoMerge branch '1.0'
Milian Wolff [Tue, 21 Feb 2017 07:57:02 +0000 (08:57 +0100)]
Merge branch '1.0'

 Conflicts:
src/analyze/gui/org.kde.heaptrack.appdata.xml
src/analyze/gui/org.kde.heaptrack.desktop

7 years agoDocument how to contribute to heaptrack
Milian Wolff [Tue, 21 Feb 2017 07:54:13 +0000 (08:54 +0100)]
Document how to contribute to heaptrack

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Mon, 20 Feb 2017 06:39:42 +0000 (07:39 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Mon, 20 Feb 2017 05:45:04 +0000 (06:45 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Mon, 20 Feb 2017 04:54:14 +0000 (05:54 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Mon, 20 Feb 2017 02:52:26 +0000 (03:52 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Sun, 19 Feb 2017 06:37:47 +0000 (07:37 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Sun, 19 Feb 2017 04:52:02 +0000 (05:52 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Sun, 19 Feb 2017 02:50:07 +0000 (03:50 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Sat, 18 Feb 2017 06:55:48 +0000 (07:55 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Sat, 18 Feb 2017 06:01:16 +0000 (07:01 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Sat, 18 Feb 2017 05:11:41 +0000 (06:11 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Sat, 18 Feb 2017 02:49:16 +0000 (03:49 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoMerge branch '1.0'
Milian Wolff [Fri, 17 Feb 2017 23:22:14 +0000 (00:22 +0100)]
Merge branch '1.0'

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Fri, 17 Feb 2017 06:27:36 +0000 (07:27 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Fri, 17 Feb 2017 05:43:37 +0000 (06:43 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Thu, 16 Feb 2017 06:38:37 +0000 (07:38 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Thu, 16 Feb 2017 05:45:11 +0000 (06:45 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Thu, 16 Feb 2017 04:56:32 +0000 (05:56 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Thu, 16 Feb 2017 02:51:13 +0000 (03:51 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Wed, 15 Feb 2017 07:00:01 +0000 (08:00 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Wed, 15 Feb 2017 06:02:53 +0000 (07:02 +0100)]
GIT_SILENT made messages (after extraction)

7 years agoSVN_SILENT made messages (.desktop file) - always resolve ours
l10n daemon script [Wed, 15 Feb 2017 05:12:24 +0000 (06:12 +0100)]
SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

7 years agoGIT_SILENT made messages (after extraction)
l10n daemon script [Wed, 15 Feb 2017 03:00:13 +0000 (04:00 +0100)]
GIT_SILENT made messages (after extraction)