Marek Szulc [Mon, 26 Sep 2022 11:31:56 +0000 (13:31 +0200)]
Add benchmark framework for testing compression algos
Most tests originally come from test_fastlz_pos.c
Change-Id: Ie8fec39be15959ae0565701627f12d8093c29f22
Signed-off-by: Marek Szulc <m.szulc3@samsung.com>
Michal Bloch [Tue, 11 Oct 2022 11:32:30 +0000 (13:32 +0200)]
Add a timespec handling helper
Change-Id: I24657e243fc51ef2e284fd192bce1b205294adb0
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Wed, 7 Sep 2022 12:57:16 +0000 (14:57 +0200)]
Enable tests for zero-copy backend
Change-Id: I963d42019ae4f1106cc9dc24f288b59539ee3103
Mateusz Majewski [Mon, 24 Oct 2022 08:50:13 +0000 (10:50 +0200)]
Store ze->len in a variable
This is needed since ze is a pointer to shared memory and can change at
any time. Therefore, when load_single_device tries to do bound checks
for ze->len, they become invalid immediately, since the ze->len variable
contents can change right after the check.
Change-Id: Iaa169af3180000cd8a797e1753d569f7cb3ddbbf
Mateusz Majewski [Fri, 21 Oct 2022 13:08:12 +0000 (15:08 +0200)]
Ensure the timestamp always increases in zero-copy libdlog
The kernel guarantees that it won't decrease, but if function is
executed in quick repetition it might happen that we get the same value
twice in a row. This is unacceptable, since the timestamp is the only
thing we rely on in order to sort the messages.
This mirrors a similar change in the kernel module, see 282866. In the
kernel the issue has been more visible since the kernel might split the
messages in a quite arbitrary way. In userspace the issue has been
harder to notice, but with Marek's changes increasing the performance it
has become more urgent.
Change-Id: I993529a2f8e7f8e477733c929232b10fb981eaba
Marek Szyprowski [Wed, 14 Sep 2022 08:16:43 +0000 (10:16 +0200)]
zlogger: use dynamic mappings for each client
Change-Id: I7cdf81ab79445d9121728dbecd140af8042fbc84
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Marek Szyprowski [Wed, 19 Oct 2022 15:48:35 +0000 (17:48 +0200)]
zlogger: use cache for gettid() to reduce logging hot path overhead
Use thread local variable to cache gettid() calls and clear it with
pthread_atfork() hook. This reduces the logging hot path overhead by
avoiding any kernel calls.
On RPi4 this reduced a test message logging time (averaged) from 2.2us
to 0.8us.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I8ed74a4442d76183f2403861ac3c428fd9b5b051
Marek Szyprowski [Mon, 17 Oct 2022 10:08:19 +0000 (12:08 +0200)]
zlogger: don't call get_time() twice
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I1e57a2dae628b0fc4aa2d2a954bfc6ad269ba09f
Mateusz Majewski [Tue, 11 Oct 2022 13:16:50 +0000 (15:16 +0200)]
Fix dlogutil -t in zero-copy backend
The removed code block looks sensible. However, this is actually done
somewhere else (compare the Android Logger backend, which works in a
similar way and doesn't really handle the dump value).
Change-Id: I68161e26bda09833f2a1c20870fa8f4f72c9acaa
Mateusz Majewski [Tue, 11 Oct 2022 10:21:22 +0000 (12:21 +0200)]
Fix redirection check for zero-copy logger
Change-Id: Ieaf450b09b0058551148841153838d8a5aa291f8
Michal Bloch [Mon, 10 Oct 2022 10:39:42 +0000 (12:39 +0200)]
Hotfix release 7.0.11
Fix zero-copy sorting
Change-Id: Ia2afa31554cba7fdbefe0cb4c710bd70ca381408
Mateusz Majewski [Fri, 7 Oct 2022 13:20:01 +0000 (15:20 +0200)]
Fix zero copy sorting
Otherwise, the multiplication overflows since sec_sent_mono is 32 bit
and NSEC_PER_SEC is kinda big.
Change-Id: I1b4ce376bad39792929142feb7c3a05308188112
Marek Szulc [Thu, 8 Sep 2022 14:13:50 +0000 (16:13 +0200)]
Add timer and string test to test_fastlz_pos/neg.c
Change-Id: Idd8d64ceb08430ab7fef52a854a0b15ce4fe29b3
Signed-off-by: Marek Szulc <m.szulc3@samsung.com>
Michal Bloch [Wed, 21 Sep 2022 20:27:48 +0000 (22:27 +0200)]
Release 7.0.10
Adds the clear option to the zero-copy backend
and the default dlogutil format config option.
Change-Id: I31bb1ab6439e1aecea79fd21c5a7212d169d33d3
Mateusz Majewski [Mon, 19 Sep 2022 09:42:09 +0000 (11:42 +0200)]
Add util_default_format configuration option
Change-Id: I6b3368007ca6546b5e6cf7cc340d27651354317d
Mateusz Majewski [Wed, 7 Sep 2022 12:32:20 +0000 (14:32 +0200)]
Add clear operation to zero copy libdlogutil
Change-Id: If22bd2e78ec0ffe41f79d886c579e7615cddbba2
Karol Lewandowski [Tue, 20 Sep 2022 10:33:51 +0000 (12:33 +0200)]
Add package to explicitly enable zero-copy dlog backend
Change-Id: If977fd867e7459523bb384877cee6ff117146471
Mateusz Majewski [Tue, 20 Sep 2022 12:39:40 +0000 (14:39 +0200)]
Actually store the block number in the thread-local
Change-Id: Ia5788deca19364199f397b51a9914aa63955ee9b
Karol Lewandowski [Mon, 19 Sep 2022 12:24:49 +0000 (14:24 +0200)]
Release 7.0.8
Change-Id: I2d75370c199830ee492d9baa4b7c98fccd6f1eef
Karol Lewandowski [Mon, 19 Sep 2022 11:46:00 +0000 (13:46 +0200)]
Do not allow overriding DLOG_CONFIG_PATH for setuid programs
Unprivileged process could try to redirect logs to unused backend
potentially hiding malicious attemps to break into the program.
Change-Id: I4161467c2ff9014c048a1c9d6220a792d468187e
Marek Szyprowski [Thu, 15 Sep 2022 11:31:36 +0000 (13:31 +0200)]
zlogger: correct calculation of buffer map/offset
Fix calculation of buffer map & offset for the non-2KB buffer case.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I753f34b105439af4b7c5db13b5c08a7918aa4d02
Michal Bloch [Thu, 15 Sep 2022 11:40:39 +0000 (13:40 +0200)]
Release 7.0.7
Integrate zlogutil into (lib)dlogutil
Change-Id: Ia3146a435b56575229958889a3842934fa37129b
Michal Bloch [Fri, 26 Aug 2022 15:54:18 +0000 (17:54 +0200)]
Integrate zlogutil into libdlogutil
Change-Id: I910ba8eda65721afc1a687b4d76b927587cde09b
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Karol Lewandowski [Tue, 6 Sep 2022 13:39:32 +0000 (15:39 +0200)]
Release 7.0.6
Change-Id: Ia0fba0db16c7bbf743bba15df0b1f5880faf6475
Mateusz Majewski [Fri, 2 Sep 2022 11:44:58 +0000 (13:44 +0200)]
Make log-redirect-stdout refuse to redirect logs if they are disabled
This is sometimes needed for integration tests to work.
Change-Id: I5c829b45442276982d053111142bb87e998d4712
Mateusz Majewski [Fri, 2 Sep 2022 10:15:00 +0000 (12:15 +0200)]
Bring dlog-logger.conf.alias closer to dlog-logger.conf.test
Otherwise, the aliasing test will fail if a logger daemon is not running
outside of the tests.
Change-Id: Ic62909639ad0ea5fca3a8e0690f70bf194b3fa38
Mateusz Majewski [Fri, 2 Sep 2022 09:12:00 +0000 (11:12 +0200)]
Hack in a graceful shutdown of the daemon in the zero-copy backend
Change-Id: Ia01d41469b14895c0de5435a30bb290610ba9c47
Karol Lewandowski [Mon, 5 Sep 2022 10:31:40 +0000 (12:31 +0200)]
Ensure proper access rights for zlogger device
Change-Id: Ie3e9e4ee492df5a7a051ad4754f7a80290db17c3
Mateusz Majewski [Thu, 1 Sep 2022 06:34:57 +0000 (08:34 +0200)]
Add zero-copy backend support to log-redirect-stdout
Change-Id: I7e54084e89a1f0dfe0b94fc497d71e50492cb3e9
Michal Bloch [Tue, 19 Jul 2022 17:20:33 +0000 (19:20 +0200)]
Add Zlogutil for reading zero-copy backend logs
Change-Id: Iffaa7bbfcf8329e1e7888efd88cd13a7ba15f493
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Thu, 23 Jun 2022 14:51:54 +0000 (16:51 +0200)]
Add a zero-copy backend
This is the initial implementation of a zero-copy backend,
also known as 'zlog' in various places.
Many facilities (logutil, stdout redirection etc) are to be
implemented in further commits, only writing is supported
so far.
It aims to minimize the cost of writing logs above all else.
When it comes to perf, it's pushin' it to the max, rollin' deep, baby.
Some traits:
+ limited syscalls (one per N logs)
+ no needless copies (writes directly to destination)
- no way to monitor logs efficiently (which also has
consequences for features like QoS)
- kernel-based and somewhat convoluted
Change-Id: I183ca7ee29aaeb6d24b2c5da96fc353f2c298d3e
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Mon, 22 Aug 2022 10:56:14 +0000 (12:56 +0200)]
Reuse -m for memory compression mode
Previously known as --compress.
Monitor mode is now done via --monitor.
Change-Id: If88daa7da4e9a222c8c674beb4f79c03c5a3bff0
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Mon, 8 Aug 2022 11:37:34 +0000 (13:37 +0200)]
Reduce max logger request length
Change-Id: I243e1c7ca10e5c2a5f0e383e9b01c3731fe64bf5
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 27 Jul 2022 17:28:30 +0000 (19:28 +0200)]
Release 7.0.5
Container warning logs pid/tid; minor optimisations
Change-Id: I158010e1209f08c9d96b482cb4c093604b86948d
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 29 Jun 2022 18:33:49 +0000 (20:33 +0200)]
Less harsh thread cancellation prevention
No longer disables cancels when lockless to save 2 syscalls.
Change-Id: Id5408a0558d7c359ac5b86bb8a9d9d1a228fdead
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 2 Aug 2022 11:33:47 +0000 (13:33 +0200)]
Fix insufficient test dir rights
Change-Id: Ie2799cce6d9fd0d3a2b269f20978edaff8dcbae0
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 26 Jul 2022 13:51:17 +0000 (15:51 +0200)]
lib: avoid a needless rw-lock if possible
Change-Id: Ic65ed823f3453cf270d7a373e384b9553f44ca0c
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 26 Jul 2022 15:19:45 +0000 (17:19 +0200)]
limiter: minor cleanup
- less pyramid
- more commentary
- fix programs sending 2^31 logs becoming able to log again
Change-Id: I3e51ba70d1f8f525a2324d991957d8f6634f6dfa
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 26 Jul 2022 12:38:19 +0000 (14:38 +0200)]
libdlog: container warning contains PID/TID
Change-Id: I646a2dca987fabd73213c903caf161bf03adfadf
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Fri, 22 Jul 2022 21:09:32 +0000 (23:09 +0200)]
Make headers a bit more C++ friendly
logcommon.h:
* put a listing of buffers in order (surprisingly, RADIO precedes SYSTEM)
* cast between differently-signed values explicitly
logprint.h:
* include dlog.h directly instead of going through logcommon.h
Change-Id: Id56a09e6ca6894443880bdf557accc9a4fb3ec27
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 29 Jun 2022 18:13:56 +0000 (20:13 +0200)]
libdlog: reduce the "critical" section a bit
Change-Id: I3a1142d354605df89a3f7f1c9519230988edbf6c
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 29 Jun 2022 16:11:36 +0000 (18:11 +0200)]
libdlog: more careful handling of null function ptrs
Change-Id: I1e621a3ee594fcabb55ac3b0c19846086780a1ce
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Hyotaek Shim [Wed, 8 Jun 2022 11:55:43 +0000 (20:55 +0900)]
Create units (.service and .socket) directory in the repository
Change-Id: Ide0e27067e804b77c7dc6edd58aab6df884c0079
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Hyotaek Shim [Wed, 8 Jun 2022 08:46:19 +0000 (17:46 +0900)]
Adjust dlog backup size and # of backup files
Change-Id: I00aafc6f48191ad21bf4cf59259503f38289a511
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Mateusz Majewski [Mon, 25 Apr 2022 05:43:17 +0000 (07:43 +0200)]
Add a note on tests to overview.rst
Change-Id: I0fd44548b48cd85a9ae21b20cd2bc8b30543f47e
Michal Bloch [Mon, 9 May 2022 12:59:46 +0000 (14:59 +0200)]
Release 7.0.4
Adds compressed in-memory log backup.
Change-Id: Ief49ba90ab6f7b92aa6b4a8fa360aa7984894deb
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Thu, 28 Apr 2022 11:14:56 +0000 (13:14 +0200)]
Improve dlogutil compression handling / parsing
Change-Id: I3dd8cec078fefed64dc94e7c5d5fb619fcd2b1f3
Michal Bloch [Tue, 26 Apr 2022 14:56:22 +0000 (16:56 +0200)]
In-memory compressed log backup
Change-Id: I87a94908152fab5808a1a6cd4791a171ad225aea
Michal Bloch [Thu, 28 Apr 2022 11:23:33 +0000 (13:23 +0200)]
logutil: terminate error logs properly
Change-Id: Ia496b3426e351f0e6d11517431d1200e6a41bb9b
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Sun, 24 Apr 2022 20:22:48 +0000 (22:22 +0200)]
Add a compressed storage struct + tests
Change-Id: I56cc99f0ac101b810612d1f1e7f95d5da4f6ec6c
Michal Bloch [Tue, 26 Apr 2022 23:38:42 +0000 (01:38 +0200)]
ptrs_list: add find_if (similar to C++ STL)
Change-Id: Ia2851581d9304fca7ee15e96d1ee680ef586dc5b
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 26 Apr 2022 22:59:54 +0000 (00:59 +0200)]
Reader pipe: remove an unused timestamp
Change-Id: Ice14689d33279cacb40f2fdee0928ad3db63edf6
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 26 Apr 2022 22:38:22 +0000 (00:38 +0200)]
Improve pipe reader related function names
Memory reader is going to be very similar, avoids confusion.
Change-Id: I3c0d5721815e2052b2b1b1e8740c1ce7e181b99e
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 13 Apr 2022 16:30:00 +0000 (18:30 +0200)]
Extract pipe reader functionality into subs
Change-Id: I83d194543b400750c664b47ae6af8ccfac3920e7
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 12 Apr 2022 18:07:20 +0000 (20:07 +0200)]
Subreaders: methods now return an error code
Change-Id: I1a474986796a82f721ddcd6550cce88453c2ee45
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 12 Apr 2022 17:15:04 +0000 (19:15 +0200)]
ptrs_list: add list_foreach_ret
A variant of list_foreach which can return an error code.
Change-Id: Ib3cfcb55114b15674ca342c70b5a8a90d2819633
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 12 Apr 2022 14:21:52 +0000 (16:21 +0200)]
reader_pipe now uses subreader_file
Change-Id: I5578820db453ae899b7005761bee0539a1ecb8ba
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 19 Apr 2022 08:03:06 +0000 (10:03 +0200)]
Add some basic tests for FastLZ.
Change-Id: I245de78a9b5b5d3fec80979351cc493700b4dbd3
Michal Bloch [Thu, 21 Apr 2022 09:32:44 +0000 (11:32 +0200)]
DLog-specific tweaks to FastLZ
* add a way to calculate the minimum compression output buffer size
as required by the interface. This should've probably been baseline.
* remove the unsafety compiler parameter because I don't want anybody
to actually tweak it. Removing this safety check is still possible,
but now somebody has to get his hands dirty and be aware of what
the exact consequences are, as opposed to just tweaking what is
essentially an opaque knob.
* add a comment detailing whence the code was taken.
Change-Id: I1229a9364523b3a5526c9933ccfd09d9292f34a9
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Thu, 21 Apr 2022 09:30:40 +0000 (11:30 +0200)]
Import FastLZ compression sources
A compression algo to be used in the daemon, for in-memory compressed logs.
MIT licensed.
From https://github.com/ariya/FastLZ @
c3bdfad9e0094d0fb15c12cd300e647c13dc85f9
Change-Id: I245de78a9b5b5d3fce80979351cc493700b4dbd3
Michal Bloch [Thu, 21 Apr 2022 15:49:49 +0000 (17:49 +0200)]
libdlog: mark logs from processes in a container
Change-Id: Id10045be42a875ab88f1defb39da41687c8a9a64
Michal Bloch [Tue, 5 Apr 2022 12:14:09 +0000 (14:14 +0200)]
Release 7.0.3
Mostly a safe checkpoint before a larger change.
Change-Id: I529c080514a373c53ff95dacc8fbf95c7517f49b
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Wed, 23 Mar 2022 18:23:52 +0000 (19:23 +0100)]
File reader: add sorting info
Pipe based readers have this buffer-dependent.
Change-Id: Idcc25fa572748aff0215fe01ac287860634d5023
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Fri, 18 Mar 2022 16:33:32 +0000 (17:33 +0100)]
Simplify some unreachable code
The case where `file.path` is not NULL was already handled.
Further commits are going to shuffle this chunk of code around
so it's good to trim it beforehand.
Change-Id: I8ac3e75a6f72a333bcb15450151a392faf08fc38
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Fri, 18 Mar 2022 16:28:01 +0000 (17:28 +0100)]
readers: reduce some copy-paste
Change-Id: Idde6b37cf58f89345fd1808cf8f72b5cfc491e08
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Fri, 18 Mar 2022 16:25:45 +0000 (17:25 +0100)]
readers: make free a member func
Regrettably, some tests had to be deleted because
adding a level of indirection breaks func wrapping.
Change-Id: I24ddd9af32fea7df5f5037a9d4c22b6fd1ff912e
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Fri, 18 Mar 2022 16:22:41 +0000 (17:22 +0100)]
readers: initialize fd entities properly
Set the FD inside to -1 (as opposed to 0).
If something fails during init, that FD gets closed.
Change-Id: Ic50cadabc7ca4ec514e40878d49df027e450e61c
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Fri, 18 Mar 2022 16:19:21 +0000 (17:19 +0100)]
reader: put the service handler into reader common
Change-Id: I963e5d46e4a2bd8af45b30ee319f114ecaad3933
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 15 Mar 2022 18:30:52 +0000 (19:30 +0100)]
readers: put reader_common first
For easy casting into the derived classes.
Change-Id: Icf2d77b855b83b95f7af865bb4787c326cd07671
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 15 Mar 2022 17:27:08 +0000 (18:27 +0100)]
readers: commonize flushing
Change-Id: Ibfdb7d3489ef8ef3f6388dadd18ca966f54a7089
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 8 Mar 2022 17:07:22 +0000 (18:07 +0100)]
Move sub-readers to the common reader
This will allow the pipe reader to also use sub-readers.
Change-Id: Ib03dbab96631ba25ae6654da22e485cb14d2d8e2
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 8 Mar 2022 17:05:56 +0000 (18:05 +0100)]
dlog_logger: rearrange readers (no logic change)
Preparation for a refactoring of the reader code.
Move subreaders away from the Android Logger reader
files since they're going to be generic.
Change-Id: I00fe88e86db1871886a3a0993b141db56101e84c
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Thu, 24 Feb 2022 06:46:37 +0000 (07:46 +0100)]
Refactor NULL check in logmetrics
While the original check was (I think) correct, it was a bit confusing,
and we got a bug report from static analysis.
Change-Id: I54a904d441a4b67434da027fb9c50fcbbbcc8e59
Karol Lewandowski [Tue, 15 Feb 2022 16:03:50 +0000 (17:03 +0100)]
Add generator for logger.ko device dependencies
This will dynamically generate needed systemd unit dependencies when logger.ko
devices are available (/dev/log_* devices are assumed to be used when these are
available due to backend autodetection).
Change-Id: I1b280d3878e6c4db5261f410722d3de84c583b60
Michal Bloch [Wed, 9 Feb 2022 18:03:46 +0000 (19:03 +0100)]
Tests: add minor overflow check
Change-Id: I1dd3280bc6499a855caf436940bd5fb756345080
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Karol Lewandowski [Fri, 21 Jan 2022 13:24:01 +0000 (13:24 +0000)]
Merge "Move to linux-tizen-modules-headers" into tizen
Mateusz Majewski [Wed, 19 Jan 2022 09:31:24 +0000 (10:31 +0100)]
Add timestamp correctness test
We had a bug where Android Logger kernel module accidentally returned
monotonic time instead of realtime time on some kernel versions. This
test checks whether the timestamp of a new log is somewhat close to
actual time in order to detect such bugs more easily.
Change-Id: Icd7ea0d774a15a30c1ef61860648328983f11adf
Mateusz Majewski [Wed, 19 Jan 2022 13:13:50 +0000 (14:13 +0100)]
Fix buffer usage printing in dlogutil
Without converting to unsigned long long, the calculation would overflow
when the buffer usage would get higher than around 42 MB. This doesn't
really happen, since the buffer capacity currently is not even close to
that value. However, there's no reason not to fix this.
Change-Id: Ib1a440b08ac01a1996f1542719070271d0936f79
Mateusz Majewski [Wed, 19 Jan 2022 12:20:19 +0000 (13:20 +0100)]
Fix some invalid function names in dlogutil.h documentation
Change-Id: I50a44e3b27fd913c3d4a15ac9ee14f5e2fbcdb2d
Mateusz Majewski [Thu, 20 Jan 2022 06:56:14 +0000 (07:56 +0100)]
Move gcov directory
Change-Id: Ic89cfac8f8f0ab08aafd15072edac558bc53c62c
Mateusz Majewski [Fri, 14 Jan 2022 18:49:41 +0000 (19:49 +0100)]
Move to linux-tizen-modules-headers
Change-Id: I8a981836b29ddf2c1935a7b8a2b650a71db7ab96
Michal Bloch [Mon, 10 Jan 2022 13:08:23 +0000 (14:08 +0100)]
dlogutil: better error message for disabled kmsg
Shows a hint about the 'handle_kmsg' config entry.
Change-Id: I35e748580dbb22b071bb22088dfa49ee0b5c09e1
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Wed, 29 Dec 2021 08:29:39 +0000 (09:29 +0100)]
Replace a custom loop with a simple strnlen
Change-Id: Ie7fc0a2523a770ecad436be9922325ef01923d7a
Mateusz Majewski [Wed, 29 Dec 2021 07:13:15 +0000 (08:13 +0100)]
Document auto-quit
Change-Id: I4d29565a1c769582a5dc7281acf14069b13d99bf
Karol Lewandowski [Thu, 30 Dec 2021 13:28:45 +0000 (14:28 +0100)]
Release 7.0.1
Additionally, provide a bit more information to the user why dlog_logger
process is terminating on its own.
Change-Id: Ie4e6e80960be2481b8a9dc82dc19ae7d77fc1cb0
Mateusz Majewski [Thu, 16 Dec 2021 12:41:27 +0000 (13:41 +0100)]
Terminate the daemon if it's not needed
Change-Id: Icf8d83ff134ea84c8aa3c7a869bd8394f6c2685e
Karol Lewandowski [Thu, 18 Nov 2021 13:36:36 +0000 (14:36 +0100)]
Release 7.0.0
Change-Id: I39e79ac903c29e9aaaaf14340cc304849af08b78
Michal Bloch [Fri, 19 Nov 2021 11:21:35 +0000 (12:21 +0100)]
Document the autodetector
Change-Id: I44da738539a56fd47f43513c4649d62718790042
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Mateusz Majewski [Fri, 19 Nov 2021 09:21:17 +0000 (10:21 +0100)]
Add autodetection integration test
Change-Id: I0bdf9dca347c9996c8b46d6ab8c469b64609349e
Mateusz Majewski [Thu, 18 Nov 2021 17:19:49 +0000 (18:19 +0100)]
Add some prose on backend autodetection
Change-Id: Ibc37f99cba8f51a3bdd40007928b469c733242eb
Karol Lewandowski [Tue, 16 Nov 2021 16:02:20 +0000 (17:02 +0100)]
Autodetect backend
Rely on backend autodetection if it's not specified explicitly in config.
Logger (/dev/log_main) driver is preferred, pipe is used as second choice.
Additionally, dlog-config-logger-backend package is integrated into regular
dlog package to always have complete configuration available.
Change-Id: I1f76b754db1adfec579b5de577c6f5eafc2ec4ed
Mateusz Majewski [Wed, 17 Nov 2021 08:40:57 +0000 (09:40 +0100)]
Disable problematic tests causing ASAN failures
One of them doesn't match the current implementation at all, but it
works outside of ASAN by accident. The other returns no ASAN issues, but
instead the results change when ASAN is enabled.
Both of these are something we should actually fix, but also something
complex and not really urgent. Let's fix these later, and just disable
them for now.
Change-Id: I643d02f34f35a9d1fab9521fda0d28ebb996a2bb
Mateusz Majewski [Wed, 17 Nov 2021 08:37:25 +0000 (09:37 +0100)]
Add ASAN build flag
Change-Id: I121e3145dd9a2a208c159363b69ef3035cb489ce
Mateusz Majewski [Fri, 12 Nov 2021 13:05:01 +0000 (14:05 +0100)]
Fix fdi_logger_wrap ASAN issue
The wrapped function -- as the name suggests -- is supposed to open the
file, but also returns its path. The tests used to only return the path
conditionally, but the tested function checks the path length, which
might fail if the path is left uninitialized. The solution is to write
the path to the buffer unconditionally.
Change-Id: Iffe4e323c258834fe7f63f2d719ce3c12fd7c60a
Mateusz Majewski [Tue, 2 Nov 2021 18:24:30 +0000 (19:24 +0100)]
Clarify a bit the entry verification
Change-Id: Ie56b714754b983ac35b1fcf224bab5c18669ae62
Mateusz Majewski [Tue, 2 Nov 2021 08:05:07 +0000 (09:05 +0100)]
Hotfix the long log condition
Change-Id: I835d43c905f0f8eb3895f86f606b39f6d17ba6a4
Michal Bloch [Fri, 15 Oct 2021 16:44:21 +0000 (18:44 +0200)]
Add some fuzz tests against garbage logs
Change-Id: Icaa353a0d6b7a9e66edc96e09dd104a79c5a6dfa
Mateusz Majewski [Thu, 28 Oct 2021 10:28:51 +0000 (12:28 +0200)]
Extend the persistent logging tests a bit
Change-Id: Ia55d584b87a0a670a854c72f3c0ab8d51af49590
Mateusz Majewski [Thu, 28 Oct 2021 07:53:04 +0000 (09:53 +0200)]
Fix the persistent log bug
Change-Id: I31a5a2c5266ccfa7d7ab19d02f4ab789f4553851
Michal Bloch [Wed, 29 Sep 2021 18:48:34 +0000 (20:48 +0200)]
Fix the handling of over/undersized logs
Change-Id: Ibdc31f97dd0fd541b4f49f3eea89f8d5888f3737
Signed-off-by: Michal Bloch <m.bloch@samsung.com>