platform/core/system/dlog.git
21 months agoBring dlog-logger.conf.alias closer to dlog-logger.conf.test 42/280742/2
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

21 months agoHack in a graceful shutdown of the daemon in the zero-copy backend 13/280713/2
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

21 months agoEnsure proper access rights for zlogger device 15/280815/1
Karol Lewandowski [Mon, 5 Sep 2022 10:31:40 +0000 (12:31 +0200)]
Ensure proper access rights for zlogger device

Change-Id: Ie3e9e4ee492df5a7a051ad4754f7a80290db17c3

21 months agoAdd zero-copy backend support to log-redirect-stdout 06/280606/1 submit/tizen/20220902.191720
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

21 months agoAdd Zlogutil for reading zero-copy backend logs 34/278734/13
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>
21 months agoAdd a zero-copy backend 33/278733/14
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>
21 months agoReuse -m for memory compression mode 38/280038/2
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>
21 months agoReduce max logger request length 94/279394/2
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>
22 months agoRelease 7.0.5 03/278903/4 accepted/tizen/unified/20220805.131749 submit/tizen/20220804.182348
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>
22 months agoLess harsh thread cancellation prevention 90/277090/7
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>
22 months agoFix insufficient test dir rights 44/279144/1
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>
22 months agolib: avoid a needless rw-lock if possible 01/278901/3
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>
22 months agolimiter: minor cleanup 00/278900/1
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>
22 months agolibdlog: container warning contains PID/TID 26/278826/1
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>
22 months agoMake headers a bit more C++ friendly 42/278642/2
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>
23 months agolibdlog: reduce the "critical" section a bit 43/277043/1
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>
23 months agolibdlog: more careful handling of null function ptrs 42/277042/1
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>
23 months agoCreate units (.service and .socket) directory in the repository 17/276017/1 accepted/tizen/unified/20220610.134735 submit/tizen/20220608.120536 submit/tizen/20220608.235431
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>
23 months agoAdjust dlog backup size and # of backup files 03/276003/5
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>
2 years agoAdd a note on tests to overview.rst 29/274229/4 accepted/tizen/unified/20220525.134532 accepted/tizen/unified/20220526.144134 submit/tizen/20220524.172119 submit/tizen/20220525.001052
Mateusz Majewski [Mon, 25 Apr 2022 05:43:17 +0000 (07:43 +0200)]
Add a note on tests to overview.rst

Change-Id: I0fd44548b48cd85a9ae21b20cd2bc8b30543f47e

2 years agoRelease 7.0.4 96/274796/1
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>
2 years agoImprove dlogutil compression handling / parsing 54/274454/6
Mateusz Majewski [Thu, 28 Apr 2022 11:14:56 +0000 (13:14 +0200)]
Improve dlogutil compression handling / parsing

Change-Id: I3dd8cec078fefed64dc94e7c5d5fb619fcd2b1f3

2 years agoIn-memory compressed log backup 70/271770/9
Michal Bloch [Tue, 26 Apr 2022 14:56:22 +0000 (16:56 +0200)]
In-memory compressed log backup

Change-Id: I87a94908152fab5808a1a6cd4791a171ad225aea

2 years agologutil: terminate error logs properly 55/274455/1
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>
2 years agoAdd a compressed storage struct + tests 32/274232/5
Michal Bloch [Sun, 24 Apr 2022 20:22:48 +0000 (22:22 +0200)]
Add a compressed storage struct + tests

Change-Id: I56cc99f0ac101b810612d1f1e7f95d5da4f6ec6c

2 years agoptrs_list: add find_if (similar to C++ STL) 96/274396/3
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>
2 years agoReader pipe: remove an unused timestamp 95/274395/3
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>
2 years agoImprove pipe reader related function names 94/274394/3
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>
2 years agoExtract pipe reader functionality into subs 52/273652/7
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>
2 years agoSubreaders: methods now return an error code 05/273705/6
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>
2 years agoptrs_list: add list_foreach_ret 04/273704/6
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>
2 years agoreader_pipe now uses subreader_file 03/273703/6
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>
2 years agoAdd some basic tests for FastLZ. 06/274106/5
Michal Bloch [Tue, 19 Apr 2022 08:03:06 +0000 (10:03 +0200)]
Add some basic tests for FastLZ.

Change-Id: I245de78a9b5b5d3fec80979351cc493700b4dbd3

2 years agoDLog-specific tweaks to FastLZ 05/274105/4
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>
2 years agoImport FastLZ compression sources 71/273971/7
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

2 years agolibdlog: mark logs from processes in a container 23/274123/1 accepted/tizen/unified/20220424.221508 submit/tizen/20220422.012056
Michal Bloch [Thu, 21 Apr 2022 15:49:49 +0000 (17:49 +0200)]
libdlog: mark logs from processes in a container

Change-Id: Id10045be42a875ab88f1defb39da41687c8a9a64

2 years agoRelease 7.0.3 25/273425/1 submit/tizen/20220405.121801
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>
2 years agoFile reader: add sorting info 12/273012/2
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>
2 years agoSimplify some unreachable code 11/273011/2
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>
2 years agoreaders: reduce some copy-paste 10/273010/2
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>
2 years agoreaders: make free a member func 09/273009/2
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>
2 years agoreaders: initialize fd entities properly 08/273008/2
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>
2 years agoreader: put the service handler into reader common 07/273007/2
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>
2 years agoreaders: put reader_common first 06/273006/2
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>
2 years agoreaders: commonize flushing 05/273005/2
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>
2 years agoMove sub-readers to the common reader 32/272232/1
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>
2 years agodlog_logger: rearrange readers (no logic change) 31/272231/1
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>
2 years agoRefactor NULL check in logmetrics 57/271657/1
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

2 years agoAdd generator for logger.ko device dependencies 30/271130/8 accepted/tizen/unified/20220221.224807 submit/tizen/20220217.170359 submit/tizen/20220220.125013
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

2 years agoTests: add minor overflow check 24/270824/1
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>
2 years agoMerge "Move to linux-tizen-modules-headers" into tizen
Karol Lewandowski [Fri, 21 Jan 2022 13:24:01 +0000 (13:24 +0000)]
Merge "Move to linux-tizen-modules-headers" into tizen

2 years agoAdd timestamp correctness test 35/269635/2 accepted/tizen/unified/20220121.122943 submit/tizen/20220120.173647
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

2 years agoFix buffer usage printing in dlogutil 48/269648/2
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

2 years agoFix some invalid function names in dlogutil.h documentation 45/269645/2
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

2 years agoMove gcov directory 98/269798/4
Mateusz Majewski [Thu, 20 Jan 2022 06:56:14 +0000 (07:56 +0100)]
Move gcov directory

Change-Id: Ic89cfac8f8f0ab08aafd15072edac558bc53c62c

2 years agoMove to linux-tizen-modules-headers 77/269477/1
Mateusz Majewski [Fri, 14 Jan 2022 18:49:41 +0000 (19:49 +0100)]
Move to linux-tizen-modules-headers

Change-Id: I8a981836b29ddf2c1935a7b8a2b650a71db7ab96

2 years agodlogutil: better error message for disabled kmsg 27/269227/2
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>
2 years agoReplace a custom loop with a simple strnlen 75/268675/3
Mateusz Majewski [Wed, 29 Dec 2021 08:29:39 +0000 (09:29 +0100)]
Replace a custom loop with a simple strnlen

Change-Id: Ie7fc0a2523a770ecad436be9922325ef01923d7a

2 years agoDocument auto-quit 69/268669/3
Mateusz Majewski [Wed, 29 Dec 2021 07:13:15 +0000 (08:13 +0100)]
Document auto-quit

Change-Id: I4d29565a1c769582a5dc7281acf14069b13d99bf

2 years agoRelease 7.0.1 28/268728/2 accepted/tizen/unified/20211231.161253 submit/tizen/20211230.133842
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

2 years agoTerminate the daemon if it's not needed 46/268246/3
Mateusz Majewski [Thu, 16 Dec 2021 12:41:27 +0000 (13:41 +0100)]
Terminate the daemon if it's not needed

Change-Id: Icf8d83ff134ea84c8aa3c7a869bd8394f6c2685e

2 years agoRelease 7.0.0 88/266788/6 accepted/tizen/unified/20211125.144711 accepted/tizen/unified/20211213.132445 submit/tizen/20211119.132203 submit/tizen/20211124.010953 submit/tizen/20211124.100111 submit/tizen/20211126.122044 submit/tizen/20211203.141009
Karol Lewandowski [Thu, 18 Nov 2021 13:36:36 +0000 (14:36 +0100)]
Release 7.0.0

Change-Id: I39e79ac903c29e9aaaaf14340cc304849af08b78

2 years agoDocument the autodetector 47/266847/1
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>
2 years agoAdd autodetection integration test 45/266845/1
Mateusz Majewski [Fri, 19 Nov 2021 09:21:17 +0000 (10:21 +0100)]
Add autodetection integration test

Change-Id: I0bdf9dca347c9996c8b46d6ab8c469b64609349e

2 years agoAdd some prose on backend autodetection 92/266792/1
Mateusz Majewski [Thu, 18 Nov 2021 17:19:49 +0000 (18:19 +0100)]
Add some prose on backend autodetection

Change-Id: Ibc37f99cba8f51a3bdd40007928b469c733242eb

2 years agoAutodetect backend 49/266649/10
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

2 years agoDisable problematic tests causing ASAN failures 94/266694/3
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

2 years agoAdd ASAN build flag 93/266693/1
Mateusz Majewski [Wed, 17 Nov 2021 08:37:25 +0000 (09:37 +0100)]
Add ASAN build flag

Change-Id: I121e3145dd9a2a208c159363b69ef3035cb489ce

2 years agoFix fdi_logger_wrap ASAN issue 95/266495/2 accepted/tizen/unified/20211116.130446 submit/tizen/20211115.105406
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

2 years agoClarify a bit the entry verification 67/265967/3
Mateusz Majewski [Tue, 2 Nov 2021 18:24:30 +0000 (19:24 +0100)]
Clarify a bit the entry verification

Change-Id: Ie56b714754b983ac35b1fcf224bab5c18669ae62

2 years agoHotfix the long log condition 47/265947/1 accepted/tizen/unified/20211105.130439 submit/tizen/20211102.155418
Mateusz Majewski [Tue, 2 Nov 2021 08:05:07 +0000 (09:05 +0100)]
Hotfix the long log condition

Change-Id: I835d43c905f0f8eb3895f86f606b39f6d17ba6a4

2 years agoAdd some fuzz tests against garbage logs 92/265092/8
Michal Bloch [Fri, 15 Oct 2021 16:44:21 +0000 (18:44 +0200)]
Add some fuzz tests against garbage logs

Change-Id: Icaa353a0d6b7a9e66edc96e09dd104a79c5a6dfa

2 years agoExtend the persistent logging tests a bit 84/265784/1
Mateusz Majewski [Thu, 28 Oct 2021 10:28:51 +0000 (12:28 +0200)]
Extend the persistent logging tests a bit

Change-Id: Ia55d584b87a0a670a854c72f3c0ab8d51af49590

2 years agoFix the persistent log bug 73/265773/1
Mateusz Majewski [Thu, 28 Oct 2021 07:53:04 +0000 (09:53 +0200)]
Fix the persistent log bug

Change-Id: I31a5a2c5266ccfa7d7ab19d02f4ab789f4553851

2 years agoFix the handling of over/undersized logs 91/265091/3
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>
2 years agoMake error reporting more accurate in logger configuration parsing 65/265165/1
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

2 years agoReplace strcpy with memcpy in tests 75/264775/2
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

2 years agoHotfix a pipe backend request length issue 43/264643/1 accepted/tizen/6.5/unified/20211028.114416 accepted/tizen/unified/20210928.212633 submit/tizen/20210927.231439 submit/tizen_6.5/20211028.162501 tizen_6.5.m2_release
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

2 years agoEnlarged MAX_LOGGER_REQUEST_LEN to 65535 bytes 45/264145/17 accepted/tizen/unified/20210927.120919 submit/tizen/20210923.232435
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

2 years agoCandidate fix for the nanosecond issue 92/264492/1
Mateusz Majewski [Thu, 23 Sep 2021 06:55:37 +0000 (08:55 +0200)]
Candidate fix for the nanosecond issue

Change-Id: I768c98f1cb8c7b3b2aebcbf3c62975aaaabfc945

2 years agoAdded additional pointer tests. 34/263834/4 submit/tizen/20210917.212514
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

2 years agoCandidate fix for the zero-payload log issue 63/263763/4 accepted/tizen/unified/20210917.124807 submit/tizen/20210911.232819 submit/tizen/20210916.011737
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>
2 years agoMoved test from test_libdlogutil.c to libdlogutil_neg.c. 90/263490/14
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

2 years agoReduce compiler complaints by adding helpful asserts 69/261469/4
Mateusz Majewski [Mon, 19 Jul 2021 12:59:51 +0000 (14:59 +0200)]
Reduce compiler complaints by adding helpful asserts

Change-Id: I3975c8399cfde2718aa3711d8ad1df46124bd842

2 years agoMark a ton of static vars as such 24/262224/4
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>
2 years agoRemove some janky unit test code 23/262223/5
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>
2 years agoHandle timestamp fetching failure on printing 13/262013/6
Michal Bloch [Fri, 30 Jul 2021 11:41:12 +0000 (13:41 +0200)]
Handle timestamp fetching failure on printing

Change-Id: I81dd4ad1893fb50b12a1ce792eded08a9989f955

2 years agoMicrooptimize a getpid call out of empty QoS check 71/262271/4
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>
2 years agoAdded deep_copy_dlogutil_entry_s() function and tests for it. 69/262369/11
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

2 years agoClarify overview.rst a bit 27/262427/1
Mateusz Majewski [Tue, 10 Aug 2021 09:09:24 +0000 (11:09 +0200)]
Clarify overview.rst a bit

Change-Id: I63db978712631508dd75b60cfb1df1957d14944f

2 years agoEnable more redirection tests on logger 35/261235/2
Mateusz Majewski [Thu, 8 Jul 2021 05:54:23 +0000 (07:54 +0200)]
Enable more redirection tests on logger

Change-Id: I8611ef19184d3c0dd68a874e57f916ed60882724

2 years agoDaemon write socket: rename to "conn" 43/261543/3 submit/tizen/20210722.222608
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>
2 years agoFix some resource leaks. 45/260845/5
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>
2 years agoRework dlogutil_state_init 94/261094/4
INSUN PYO [Mon, 12 Jul 2021 01:53:49 +0000 (10:53 +0900)]
Rework dlogutil_state_init

Change-Id: I724514b7d9aeca85a3becf55a66cd4f416986879

2 years agoAdd test for multiple dlog_connect_fd calls 82/260882/4
Mateusz Majewski [Tue, 6 Jul 2021 08:18:22 +0000 (10:18 +0200)]
Add test for multiple dlog_connect_fd calls

Change-Id: I6454d95e5ee3cc7f5269bfcc9d6d670e128cfa8a

2 years agoDo not create state->enabled if DLOGUTIL_MODE_NONPRINTING 12/260712/2
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

2 years agoRemove unused connect_dlog() 14/260214/1 accepted/tizen/unified/20210623.125322 submit/tizen/20210622.065044
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>
3 years agoMake the limiter a self-contained struct 14/258014/5
Mateusz Majewski [Fri, 26 Mar 2021 14:20:36 +0000 (15:20 +0100)]
Make the limiter a self-contained struct

Change-Id: Ic2abf2da2b9e51b596e5612d9ac65044cf4540c4

3 years agoAdd more useful performance measurements to dlog_cpu 08/258008/6
Mateusz Majewski [Fri, 7 May 2021 10:41:27 +0000 (12:41 +0200)]
Add more useful performance measurements to dlog_cpu

Change-Id: I72353a79666359daf15f5459e7af41284960f716

3 years agoImplement stdout benchmark 07/258007/6
Mateusz Majewski [Fri, 7 May 2021 10:41:11 +0000 (12:41 +0200)]
Implement stdout benchmark

Change-Id: Ia0fdf1abfbe24db49f65c4ce8b24d1e7fd65279c
Co-authored-by: MichaƂ Bloch <m.bloch@samsung.com>