logd: liblog: logcat: enable prune features for user
- Enable whitelist, blacklist and logsize tuneables for user
Change-Id: Id0c283844c71c5263a8cfbebf2e550f7ac415858
diff --git a/liblog/Android.mk b/liblog/Android.mk
index a23de2d..5e01903 100644
--- a/liblog/Android.mk
+++ b/liblog/Android.mk
@@ -22,10 +22,6 @@
liblog_sources := logd_write_kern.c
endif
-ifneq ($(filter userdebug eng,$(TARGET_BUILD_VARIANT)),)
-liblog_cflags := -DUSERDEBUG_BUILD=1
-endif
-
# some files must not be compiled when building against Mingw
# they correspond to features not used by our host development tools
# which are also hard or even impossible to port to native Win32
diff --git a/liblog/log_read.c b/liblog/log_read.c
index 2dd07e6..15be748 100644
--- a/liblog/log_read.c
+++ b/liblog/log_read.c
@@ -340,8 +340,6 @@
return atol(buf);
}
-#ifdef USERDEBUG_BUILD
-
int android_logger_set_log_size(struct logger *logger, unsigned long size)
{
char buf[512];
@@ -352,8 +350,6 @@
return check_log_success(buf, send_log_msg(NULL, NULL, buf, sizeof(buf)));
}
-#endif /* USERDEBUG_BUILD */
-
/*
* returns the readable size of the log's ring buffer (that is, amount of the
* log consumed)
@@ -408,8 +404,6 @@
return send_log_msg(NULL, NULL, buf, len);
}
-#ifdef USERDEBUG_BUILD
-
ssize_t android_logger_get_prune_list(struct logger_list *logger_list UNUSED,
char *buf, size_t len)
{
@@ -432,8 +426,6 @@
return check_log_success(buf, send_log_msg(NULL, NULL, buf, len));
}
-#endif /* USERDEBUG_BUILD */
-
struct logger_list *android_logger_list_alloc(int mode,
unsigned int tail,
pid_t pid)
diff --git a/liblog/log_read_kern.c b/liblog/log_read_kern.c
index 9cccb1d..d9a6b2e 100644
--- a/liblog/log_read_kern.c
+++ b/liblog/log_read_kern.c
@@ -232,16 +232,12 @@
return logger_ioctl(logger, LOGGER_GET_LOG_BUF_SIZE, O_RDWR);
}
-#ifdef USERDEBUG_BUILD
-
int android_logger_set_log_size(struct logger *logger UNUSED,
unsigned long size UNUSED)
{
return -ENOTSUP;
}
-#endif /* USERDEBUG_BUILD */
-
/*
* returns the readable size of the log's ring buffer (that is, amount of the
* log consumed)
@@ -272,8 +268,6 @@
return -ENOTSUP;
}
-#ifdef USERDEBUG_BUILD
-
ssize_t android_logger_get_prune_list(struct logger_list *logger_list UNUSED,
char *buf, size_t len)
{
@@ -289,8 +283,6 @@
return -ENOTSUP;
}
-#endif /* USERDEBUG_BUILD */
-
struct logger_list *android_logger_list_alloc(int mode,
unsigned int tail,
pid_t pid)
diff --git a/logcat/Android.mk b/logcat/Android.mk
index dd15cb3..b5e27eb 100644
--- a/logcat/Android.mk
+++ b/logcat/Android.mk
@@ -3,10 +3,6 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
-ifneq ($(filter userdebug eng,$(TARGET_BUILD_VARIANT)),)
-LOCAL_CFLAGS += -DUSERDEBUG_BUILD=1
-endif
-
LOCAL_SRC_FILES:= logcat.cpp event.logtags
LOCAL_SHARED_LIBRARIES := liblog
diff --git a/logcat/logcat.cpp b/logcat/logcat.cpp
index 5a80efe..00a60bd 100644
--- a/logcat/logcat.cpp
+++ b/logcat/logcat.cpp
@@ -232,17 +232,10 @@
" -B output the log in binary.\n"
" -S output statistics.\n");
-#ifdef USERDEBUG_BUILD
-
- fprintf(stderr, "--------------------- eng & userdebug builds only ---------------------------\n"
- " -G <count> set size of log's ring buffer and exit\n"
+ fprintf(stderr, " -G <count> set size of log's ring buffer and exit\n"
" -p output prune white and ~black list\n"
" -P '<list> ...' set prune white and ~black list; UID, /PID or !(worst UID)\n"
- " default is ~!, prune worst UID.\n"
- "-----------------------------------------------------------------------------\n"
- );
-
-#endif
+ " default is ~!, prune worst UID.\n");
fprintf(stderr,"\nfilterspecs are a series of \n"
" <tag>[:priority]\n\n"
@@ -291,11 +284,9 @@
int hasSetLogFormat = 0;
int clearLog = 0;
int getLogSize = 0;
-#ifdef USERDEBUG_BUILD
unsigned long setLogSize = 0;
int getPruneList = 0;
char *setPruneList = NULL;
-#endif
int printStatistics = 0;
int mode = O_RDONLY;
const char *forceFilters = NULL;
@@ -323,13 +314,7 @@
for (;;) {
int ret;
- ret = getopt(argc, argv,
-#ifdef USERDEBUG_BUILD
- "cdt:T:gG:sQf:r::n:v:b:BSpP:"
-#else
- "cdt:T:gsQf:r::n:v:b:BS"
-#endif
- );
+ ret = getopt(argc, argv, "cdt:T:gG:sQf:r::n:v:b:BSpP:");
if (ret < 0) {
break;
@@ -386,8 +371,6 @@
getLogSize = 1;
break;
-#ifdef USERDEBUG_BUILD
-
case 'G': {
// would use atol if not for the multiplier
char *cp = optarg;
@@ -433,8 +416,6 @@
setPruneList = optarg;
break;
-#endif
-
case 'b': {
if (strcmp(optarg, "all") == 0) {
while (devices) {
@@ -704,15 +685,11 @@
}
}
-#ifdef USERDEBUG_BUILD
-
if (setLogSize && android_logger_set_log_size(dev->logger, setLogSize)) {
perror("failed to set the log size");
exit(EXIT_FAILURE);
}
-#endif
-
if (getLogSize) {
long size, readable;
@@ -737,8 +714,6 @@
dev = dev->next;
}
-#ifdef USERDEBUG_BUILD
-
if (setPruneList) {
size_t len = strlen(setPruneList) + 32; // margin to allow rc
char *buf = (char *) malloc(len);
@@ -753,30 +728,18 @@
}
}
-#endif
-
- if (
-#ifdef USERDEBUG_BUILD
- printStatistics || getPruneList
-#else
- printStatistics
-#endif
- ) {
+ if (printStatistics || getPruneList) {
size_t len = 8192;
char *buf;
for(int retry = 32;
(retry >= 0) && ((buf = new char [len]));
delete [] buf, --retry) {
-#ifdef USERDEBUG_BUILD
if (getPruneList) {
android_logger_get_prune_list(logger_list, buf, len);
} else {
android_logger_get_statistics(logger_list, buf, len);
}
-#else
- android_logger_get_statistics(logger_list, buf, len);
-#endif
buf[len-1] = '\0';
size_t ret = atol(buf) + 1;
if (ret < 4) {
@@ -824,11 +787,9 @@
if (getLogSize) {
exit(0);
}
-#ifdef USERDEBUG_BUILD
if (setLogSize || setPruneList) {
exit(0);
}
-#endif
if (clearLog) {
exit(0);
}
diff --git a/logcat/tests/Android.mk b/logcat/tests/Android.mk
index 733af31..d42b3d0 100644
--- a/logcat/tests/Android.mk
+++ b/logcat/tests/Android.mk
@@ -30,10 +30,6 @@
-Werror \
-fno-builtin
-ifneq ($(filter userdebug eng,$(TARGET_BUILD_VARIANT)),)
-test_c_flags += -DUSERDEBUG_BUILD=1
-endif
-
test_src_files := \
logcat_test.cpp \
diff --git a/logcat/tests/logcat_test.cpp b/logcat/tests/logcat_test.cpp
index 0165073..b07cc8b 100644
--- a/logcat/tests/logcat_test.cpp
+++ b/logcat/tests/logcat_test.cpp
@@ -609,7 +609,6 @@
EXPECT_EQ(1, signals);
}
-#ifdef USERDEBUG_BUILD
static bool get_white_black(char **list) {
FILE *fp;
@@ -705,4 +704,3 @@
free(list);
list = NULL;
}
-#endif // USERDEBUG_BUILD
diff --git a/logd/Android.mk b/logd/Android.mk
index b0bc746..ad747dd 100644
--- a/logd/Android.mk
+++ b/logd/Android.mk
@@ -4,10 +4,6 @@
LOCAL_MODULE:= logd
-ifneq ($(filter userdebug eng,$(TARGET_BUILD_VARIANT)),)
-LOCAL_CFLAGS += -DUSERDEBUG_BUILD=1
-endif
-
LOCAL_SRC_FILES := \
main.cpp \
LogCommand.cpp \
diff --git a/logd/CommandListener.cpp b/logd/CommandListener.cpp
index 12b10ca..0bb233a 100644
--- a/logd/CommandListener.cpp
+++ b/logd/CommandListener.cpp
@@ -37,15 +37,11 @@
// registerCmd(new ShutdownCmd(buf, writer, swl));
registerCmd(new ClearCmd(buf));
registerCmd(new GetBufSizeCmd(buf));
-#ifdef USERDEBUG_BUILD
registerCmd(new SetBufSizeCmd(buf));
-#endif
registerCmd(new GetBufSizeUsedCmd(buf));
registerCmd(new GetStatisticsCmd(buf));
-#ifdef USERDEBUG_BUILD
registerCmd(new SetPruneListCmd(buf));
registerCmd(new GetPruneListCmd(buf));
-#endif
}
CommandListener::ShutdownCmd::ShutdownCmd(LogBuffer *buf, LogReader *reader,
@@ -117,8 +113,6 @@
return 0;
}
-#ifdef USERDEBUG_BUILD
-
CommandListener::SetBufSizeCmd::SetBufSizeCmd(LogBuffer *buf)
: LogCommand("setLogSize")
, mBuf(*buf)
@@ -152,8 +146,6 @@
return 0;
}
-#endif // USERDEBUG_BUILD
-
CommandListener::GetBufSizeUsedCmd::GetBufSizeUsedCmd(LogBuffer *buf)
: LogCommand("getLogSizeUsed")
, mBuf(*buf)
@@ -236,8 +228,6 @@
return 0;
}
-#ifdef USERDEBUG_BUILD
-
CommandListener::GetPruneListCmd::GetPruneListCmd(LogBuffer *buf)
: LogCommand("getPruneList")
, mBuf(*buf)
@@ -293,5 +283,3 @@
return 0;
}
-
-#endif // USERDEBUG_BUILD
diff --git a/logd/CommandListener.h b/logd/CommandListener.h
index de1dcb9..1290519 100644
--- a/logd/CommandListener.h
+++ b/logd/CommandListener.h
@@ -53,15 +53,11 @@
LogBufferCmd(Clear)
LogBufferCmd(GetBufSize)
-#ifdef USERDEBUG_BUILD
LogBufferCmd(SetBufSize)
-#endif
LogBufferCmd(GetBufSizeUsed)
LogBufferCmd(GetStatistics)
-#ifdef USERDEBUG_BUILD
LogBufferCmd(GetPruneList)
LogBufferCmd(SetPruneList)
-#endif
};
#endif
diff --git a/logd/LogBuffer.cpp b/logd/LogBuffer.cpp
index 81eb091..70f3e91 100644
--- a/logd/LogBuffer.cpp
+++ b/logd/LogBuffer.cpp
@@ -28,22 +28,16 @@
// Default
#define LOG_BUFFER_SIZE (256 * 1024) // Tuned on a per-platform basis here?
-#ifdef USERDEBUG_BUILD
#define log_buffer_size(id) mMaxSize[id]
-#else
-#define log_buffer_size(id) LOG_BUFFER_SIZE
-#endif
LogBuffer::LogBuffer(LastLogTimes *times)
: mTimes(*times) {
pthread_mutex_init(&mLogElementsLock, NULL);
dgram_qlen_statistics = false;
-#ifdef USERDEBUG_BUILD
log_id_for_each(i) {
mMaxSize[i] = LOG_BUFFER_SIZE;
}
-#endif
}
void LogBuffer::log(log_id_t log_id, log_time realtime,
@@ -171,10 +165,7 @@
size_t worst_sizes = 0;
size_t second_worst_sizes = 0;
-#ifdef USERDEBUG_BUILD
- if (mPrune.worstUidEnabled())
-#endif
- {
+ if (mPrune.worstUidEnabled()) {
LidStatistics &l = stats.id(id);
UidStatisticsCollection::iterator iu;
for (iu = l.begin(); iu != l.end(); ++iu) {
@@ -217,9 +208,7 @@
break;
}
worst_sizes -= len;
- }
-#ifdef USERDEBUG_BUILD
- else if (mPrune.naughty(e)) { // BlackListed
+ } else if (mPrune.naughty(e)) { // BlackListed
it = mLogElements.erase(it);
stats.subtract(e->getMsgLen(), id, uid, e->getPid());
delete e;
@@ -227,34 +216,23 @@
if (pruneRows == 0) {
break;
}
- }
-#endif
- else {
+ } else {
++it;
}
}
- if (!kick
-#ifdef USERDEBUG_BUILD
- || !mPrune.worstUidEnabled()
-#endif
- ) {
+ if (!kick || !mPrune.worstUidEnabled()) {
break; // the following loop will ask bad clients to skip/drop
}
}
-#ifdef USERDEBUG_BUILD
bool whitelist = false;
-#endif
it = mLogElements.begin();
while((pruneRows > 0) && (it != mLogElements.end())) {
LogBufferElement *e = *it;
if (e->getLogId() == id) {
if (oldest && (oldest->mStart <= e->getMonotonicTime())) {
-#ifdef USERDEBUG_BUILD
- if (!whitelist)
-#endif
- {
+ if (!whitelist) {
if (stats.sizes(id) > (2 * log_buffer_size(id))) {
// kick a misbehaving log reader client off the island
oldest->release_Locked();
@@ -264,13 +242,13 @@
}
break;
}
-#ifdef USERDEBUG_BUILD
+
if (mPrune.nice(e)) { // WhiteListed
whitelist = true;
it++;
continue;
}
-#endif
+
it = mLogElements.erase(it);
stats.subtract(e->getMsgLen(), id, e->getUid(), e->getPid());
delete e;
@@ -280,7 +258,6 @@
}
}
-#ifdef USERDEBUG_BUILD
if (whitelist && (pruneRows > 0)) {
it = mLogElements.begin();
while((it != mLogElements.end()) && (pruneRows > 0)) {
@@ -304,7 +281,6 @@
}
}
}
-#endif
LogTimeEntry::unlock();
}
@@ -324,8 +300,6 @@
return retval;
}
-#ifdef USERDEBUG_BUILD
-
// set the total space allocated to "id"
int LogBuffer::setSize(log_id_t id, unsigned long size) {
// Reasonable limits ...
@@ -346,15 +320,6 @@
return retval;
}
-#else // ! USERDEBUG_BUILD
-
-// get the total space allocated to "id"
-unsigned long LogBuffer::getSize(log_id_t /*id*/) {
- return log_buffer_size(id);
-}
-
-#endif
-
log_time LogBuffer::flushTo(
SocketClient *reader, const log_time start, bool privileged,
bool (*filter)(const LogBufferElement *element, void *arg), void *arg) {
diff --git a/logd/LogBuffer.h b/logd/LogBuffer.h
index c3460ca..dd02009 100644
--- a/logd/LogBuffer.h
+++ b/logd/LogBuffer.h
@@ -38,11 +38,9 @@
bool dgram_qlen_statistics;
-#ifdef USERDEBUG_BUILD
PruneList mPrune;
unsigned long mMaxSize[LOG_ID_MAX];
-#endif
public:
LastLogTimes &mTimes;
@@ -59,9 +57,7 @@
void clear(log_id_t id);
unsigned long getSize(log_id_t id);
-#ifdef USERDEBUG_BUILD
int setSize(log_id_t id, unsigned long size);
-#endif
unsigned long getSizeUsed(log_id_t id);
// *strp uses malloc, use free to release.
void formatStatistics(char **strp, uid_t uid, unsigned int logMask);
@@ -71,11 +67,9 @@
dgram_qlen_statistics = true;
}
-#ifdef USERDEBUG_BUILD
int initPrune(char *cp) { return mPrune.init(cp); }
// *strp uses malloc, use free to release.
void formatPrune(char **strp) { mPrune.format(strp); }
-#endif
private:
void maybePrune(log_id_t id);
diff --git a/logd/LogWhiteBlackList.cpp b/logd/LogWhiteBlackList.cpp
index 5f8173f..c6c7b23 100644
--- a/logd/LogWhiteBlackList.cpp
+++ b/logd/LogWhiteBlackList.cpp
@@ -14,8 +14,6 @@
* limitations under the License.
*/
-#ifdef USERDEBUG_BUILD
-
#include <ctype.h>
#include <utils/String8.h>
@@ -239,5 +237,3 @@
}
return false;
}
-
-#endif // USERDEBUG_BUILD