No description
Find a file
Tom Cherry f74503dd46 logd: optionally track the full size of log buffers
ChattyLogBuffer ignores the metadata (timestamp, pid, std::list<>
iterators, etc) of log entries when calculating the size used by a
given log buffer. For example, if 1MB is the specified size of the
'main' log buffer, logd will use between ~1.3MB and ~2MB of overall
memory for 'main' log buffer.  LogStatistics does track the overall
memory used and labels it 'Overhead', however this 'Overhead' is only
informative and is not used for Pruning or Chatty calculations.

This is problematic, since it makes logd's memory usage inconsistent:
depending on the pattern of logging, there can be substantially more
memory used than the specified log buffer size.  This is further
complicated by the fact that chatty messages are entirely metadata and
therefore not counted as contributing to the log buffer size.

This change would switch logd to always track the full size of log
buffers, but there are two problems with this approach:
1) Unless users double their buffer sizes, then they'd have
   substantially fewer logs after the change
2) Chatty logic would change and it's difficult to evaluate.

Therefore this change only provides the framework to track the full
size of log buffers.  This allows an apples to apples comparison of
ChattyLogBuffer and SerializedLogBuffer.  With this option enabled,
logd reports the following values:

ChattyLogBuffer:
Total log size (logcat -g), 'Total' / 'Now' (logcat -S), and
'Overhead' (logcat -S) all report the full size of log entries
including metadata.

SerializedLogBuffer:
Total log size (logcat -g) and 'Overhead' (logcat -S) report the
compressed size of the log entries including metadata.
'Total' / 'Now' (logcat -S) reports the uncompressed size of the log
entries that are available including metadata.

Test: logging statistics are correct
Change-Id: If17682af8bb605f31387d7b210b69a301dd48f07
2020-07-01 14:35:33 -07:00
adb Explicitly show the destination filename for a bugreport. 2020-06-18 11:05:38 -07:00
bootstat Improve logging in bootstat. 2020-04-02 13:03:21 +01:00
cli-test cli-test: a tool for testing command-line programs. 2019-12-13 12:23:51 -08:00
code_coverage build code_coverage.policy with Android.bp 2020-02-11 10:33:38 -08:00
cpio Remove EXCLUDE_FS_CONFIG_STRUCTURES 2020-03-04 15:34:09 -08:00
debuggerd Add stack trace coverage to MTE tests. 2020-05-08 10:14:47 -07:00
deprecated-adf remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
diagnose_usb Revert "Revert "Set apex_available property"" 2020-03-26 00:23:56 +00:00
fastboot fastboot: copy AVB footer on boot image to end of partition 2020-06-18 21:56:14 -07:00
fs_mgr Merge "Don't call block checkpoint functions above dm-default-key" 2020-06-18 21:56:10 +00:00
gatekeeperd Use optional for nullable types 2020-02-24 09:31:47 +09:00
healthd BatteryMonitor: report current_now in uA 2020-04-08 16:24:17 -07:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init Reboot sequence: Unmount active apexes before unmounting /data 2020-06-13 00:13:11 +01:00
janitors Add the two best build system janitors. 2019-03-25 10:25:13 -07:00
libappfuse Fix Deadlock Issue On AppFuseBridge 2020-02-18 04:33:06 +00:00
libasyncio Revert "Revert "Set apex_available property"" 2020-03-26 00:23:56 +00:00
libbacktrace Make libbacktrace buildable for native_bridge 2020-06-18 22:02:46 +02:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils Set apex_available property 2020-03-09 16:38:02 +09:00
libcutils libcutils: reimplement system property functions with libbase. 2020-05-21 16:20:16 -07:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage gralloc: Set min_sdk_version 2020-04-23 23:50:08 +09:00
libkeyutils Stop using varargs in libkeyutils. 2020-06-08 09:27:17 -07:00
liblog Merge "Use standard colors in logcat color output" 2020-06-22 21:43:14 +00:00
libmodprobe libmodprobe: remove unused EnableVerbose() method 2020-06-26 22:30:21 +00:00
libnetutils libnetutils/packet.c - create socket with close-on-exec 2020-05-08 22:34:37 -07:00
libpackagelistparser Add require_root to adbd_test and libpackagelistparser_test 2019-09-24 09:13:32 -07:00
libpixelflinger Remove mips pixelflinger. 2020-03-07 05:51:52 +00:00
libprocessgroup libprocessgroup: support for cgroup v2 hierarchy 2020-06-10 09:14:00 -07:00
libprocinfo Make libbacktrace buildable for native_bridge 2020-06-18 22:02:46 +02:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse libsparse: Limit block size to 64 MB 2020-06-03 11:45:17 +08:00
libstats Revert "Make libstatssocket a shared_lib" 2020-05-08 07:57:09 +00:00
libsuspend Remove libsuspend from VNDK. 2018-08-14 13:39:55 -07:00
libsync Make libsync a stubs library 2020-06-05 17:13:57 +09:00
libsystem Set min_sdk_version to be part of mainline modules 2020-05-13 08:18:06 +09:00
libsysutils Set min_sdk_version to be part of mainline modules 2020-05-13 08:18:06 +09:00
libunwindstack Make libbacktrace buildable for native_bridge 2020-06-18 22:02:46 +02:00
libusbhost Prevent infinite loop on zero length USB descriptors 2020-02-21 11:11:02 -08:00
libutils Make libbacktrace buildable for native_bridge 2020-06-18 22:02:46 +02:00
libvndksupport remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
llkd llkd: Use more inclusive language 2020-06-16 10:28:14 -07:00
logcat Merge "Use standard colors in logcat color output" 2020-06-22 21:43:14 +00:00
logd logd: optionally track the full size of log buffers 2020-07-01 14:35:33 -07:00
logwrapper logwrap: add missing O_CLOEXEC 2020-02-26 10:29:04 -08:00
property_service Rename ro.device_owner system property 2020-02-19 10:34:36 +00:00
qemu_pipe Revert "Revert "Set apex_available property"" 2020-03-26 00:23:56 +00:00
reboot adb: replace reboot service with exec of /system/bin/reboot. 2019-10-23 14:33:36 -07:00
rootdir Explicitly call restorecon_recursive on /metadata/apex 2020-06-24 16:30:03 +01:00
run-as run-as: improve error messages. 2020-03-04 18:11:18 -08:00
sdcard Move layout_version to /data/misc/installd 2019-08-21 10:12:18 -07:00
set-verity-state set-verity-state: Link to libfs_mgr_binder. 2019-12-30 13:42:57 -08:00
shell_and_utilities shell_and_utilities_recovery: Fix required dependencies 2020-06-10 07:58:04 +00:00
storaged storaged: ignore SIGPIPE 2020-03-17 09:31:01 -07:00
toolbox modprobe: add -s/--syslog flag 2020-06-26 10:31:07 -07:00
trusty trusty:storageproxyd: Fix in_cdb.length setting on send_ufs_rpmb_req 2020-06-12 15:30:08 -07:00
usbd Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
watchdogd Move watchdogd out of init 2018-08-02 12:25:58 -07:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.clang-format-4 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
base Migrate system/core/base to system/libbase. 2020-05-19 21:32:42 +00:00
CleanSpec.mk snapshotctl don't auto-merge. 2020-03-03 13:19:49 -08:00
METADATA Add METADATA to system/core: Apache2+BSD=NOTICE 2020-04-29 13:16:41 -07:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
OWNERS Move per-file OWNERS directives to their directories. 2018-06-06 11:49:40 +09:00
PREUPLOAD.cfg Add AOSP preupload hook. 2020-04-23 11:02:00 -07:00
TEST_MAPPING Update TEST_MAPPING. 2020-05-21 14:26:34 -07:00