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>
Mateusz Majewski [Tue, 12 Oct 2021 07:41:08 +0000 (09:41 +0200)]
Make error reporting more accurate in logger configuration parsing
Change-Id: I0748813c458213574c6338c1ca7dd03c6a804bfb
Mateusz Majewski [Wed, 29 Sep 2021 11:04:49 +0000 (13:04 +0200)]
Replace strcpy with memcpy in tests
... as strcpy is banned in the Tizen codebase.
Change-Id: I895ad9bdb5ab806fd2f3a8579fa2767661bc8b6b
Mateusz Majewski [Mon, 27 Sep 2021 12:40:01 +0000 (14:40 +0200)]
Hotfix a pipe backend request length issue
The previous patch (and to be exact our modifications and not Hubert's
code) has caused some of the integration tests to fail. This is because
we forgot to count one of the characters. This patch fixes that.
Change-Id: Ia1fa9e2da67de755c363142aaae03c0ba8f5c69b
Hubert Kowalski [Tue, 14 Sep 2021 13:36:15 +0000 (15:36 +0200)]
Enlarged MAX_LOGGER_REQUEST_LEN to 65535 bytes
Also buffer sizes are variable and calculated a priori.
This means that buffer is as small as possible.
Change-Id: Ib26bb02bdb46e85da71a7ef13d87aa462914f4b2
Mateusz Majewski [Thu, 23 Sep 2021 06:55:37 +0000 (08:55 +0200)]
Candidate fix for the nanosecond issue
Change-Id: I768c98f1cb8c7b3b2aebcbf3c62975aaaabfc945
Hubert Kowalski [Fri, 10 Sep 2021 11:33:13 +0000 (13:33 +0200)]
Added additional pointer tests.
Additional tests have been added to libdlogutil_neg.c to check whether
a bad pointer affects dlogutil_config_connect(...).
Change-Id: I52e716bdb1b437ffbeca65ea929a91160f6f1dad
Michal Bloch [Thu, 9 Sep 2021 18:31:00 +0000 (20:31 +0200)]
Candidate fix for the zero-payload log issue
The stdout redirection mode for Android Logger can apparently produce
zero payload logs. Add a check to guard against this and also some
other cases as a safety measure.
Change-Id: I20ea6c9a49ae6b17d902b1cd21e208a949ae409f
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Hubert Kowalski [Thu, 2 Sep 2021 09:34:27 +0000 (11:34 +0200)]
Moved test from test_libdlogutil.c to libdlogutil_neg.c.
negative_main test was moved to libdlogutil_neg as this test didn't really
test anything related to integration. Essentialy it was a misplaced unit test.
So it is moved where it belongs.
Change-Id: Idc8b4b005e7d3cc5a07a771915600d559994abd1
Mateusz Majewski [Mon, 19 Jul 2021 12:59:51 +0000 (14:59 +0200)]
Reduce compiler complaints by adding helpful asserts
Change-Id: I3975c8399cfde2718aa3711d8ad1df46124bd842
Michal Bloch [Tue, 3 Aug 2021 19:11:44 +0000 (21:11 +0200)]
Mark a ton of static vars as such
Change-Id: I9bdd8fde2ee206ea017664f8a286c44bf1956023
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Tue, 3 Aug 2021 18:09:43 +0000 (20:09 +0200)]
Remove some janky unit test code
It was disabled anyway and for good reasons.
Change-Id: Id4f3f8447f1121181b4a50c22c2ee3078fc58a94
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Fri, 30 Jul 2021 11:41:12 +0000 (13:41 +0200)]
Handle timestamp fetching failure on printing
Change-Id: I81dd4ad1893fb50b12a1ce792eded08a9989f955
Michal Bloch [Thu, 5 Aug 2021 14:58:05 +0000 (16:58 +0200)]
Microoptimize a getpid call out of empty QoS check
Change-Id: Id4119faa5cefcf7e4cded2d97c55aa475b2001f2
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Hubert Kowalski [Mon, 9 Aug 2021 06:54:59 +0000 (08:54 +0200)]
Added deep_copy_dlogutil_entry_s() function and tests for it.
The deep_copy_dlogutil_entry_s function was made in effort
to create abstraction layer. Thus make code more readable.
Change-Id: If48246c3aefda46d77cbfbfb66337b7b18787da6
Mateusz Majewski [Tue, 10 Aug 2021 09:09:24 +0000 (11:09 +0200)]
Clarify overview.rst a bit
Change-Id: I63db978712631508dd75b60cfb1df1957d14944f
Mateusz Majewski [Thu, 8 Jul 2021 05:54:23 +0000 (07:54 +0200)]
Enable more redirection tests on logger
Change-Id: I8611ef19184d3c0dd68a874e57f916ed60882724
Michal Bloch [Tue, 20 Jul 2021 20:49:57 +0000 (22:49 +0200)]
Daemon write socket: rename to "conn"
Including socket paths from ".wr" to ".conn", this is done to reduce
confusion because the socket isn't actually the final writing target.
Change-Id: Ief187209ac54eb76cd404c89b208b4a8da7f795e
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
Michal Bloch [Mon, 5 Jul 2021 12:04:23 +0000 (14:04 +0200)]
Fix some resource leaks.
One was O(1) and the other only happened on failure,
so not too impactful, but to be fixed nevertheless.
Change-Id: I069baabbf557934d20ab99ef5fcff9231d3d477e
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
INSUN PYO [Mon, 12 Jul 2021 01:53:49 +0000 (10:53 +0900)]
Rework dlogutil_state_init
Change-Id: I724514b7d9aeca85a3becf55a66cd4f416986879
Mateusz Majewski [Tue, 6 Jul 2021 08:18:22 +0000 (10:18 +0200)]
Add test for multiple dlog_connect_fd calls
Change-Id: I6454d95e5ee3cc7f5269bfcc9d6d670e128cfa8a
Mateusz Majewski [Thu, 1 Jul 2021 11:13:21 +0000 (13:13 +0200)]
Do not create state->enabled if DLOGUTIL_MODE_NONPRINTING
This would be just an array of all 1s, a waste of memory and a worthless
syscall.
Change-Id: I9ef737bcf417547573d0ec264c1607318381b9c4
Hyotaek Shim [Tue, 22 Jun 2021 06:22:53 +0000 (15:22 +0900)]
Remove unused connect_dlog()
Change-Id: Ie88190a9788b3eda5a7d5ce136073ca5f512f0e7
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Mateusz Majewski [Fri, 26 Mar 2021 14:20:36 +0000 (15:20 +0100)]
Make the limiter a self-contained struct
Change-Id: Ic2abf2da2b9e51b596e5612d9ac65044cf4540c4
Mateusz Majewski [Fri, 7 May 2021 10:41:27 +0000 (12:41 +0200)]
Add more useful performance measurements to dlog_cpu
Change-Id: I72353a79666359daf15f5459e7af41284960f716