Files
frameworks_base/tools/stats_log_api_gen/Android.bp
Yao Chen f7bc6ab7fa Allow StatsLog to directly write to statsd's socket.
+ Reuse the log_event_list from liblog. StatsLog's binary format remains unchanged
+ Copied socket write code from liblog, including the retry logic.
+ Added build flags to control the StatsLog channel (logd, statsd, or both for debugging)

Bug: 78239479
Test: locally tested and saw logs being written to statsd

Change-Id: I7b1f0069ead00bbf3c29e4bd5b7f363a7ce26abe
2018-04-20 14:52:01 -07:00

119 lines
2.7 KiB
Plaintext

//
// Copyright (C) 2017 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ==========================================================
// Build the host executable: stats-log-api-gen
// ==========================================================
cc_binary_host {
name: "stats-log-api-gen",
srcs: [
"Collation.cpp",
"main.cpp",
],
cflags: [
"-Wall",
"-Werror",
],
shared_libs: [
"libstats_proto_host",
"libprotobuf-cpp-full",
],
proto: {
type: "full",
},
}
// ==========================================================
// Build the host test executable: stats-log-api-gen
// ==========================================================
cc_test_host {
name: "stats-log-api-gen-test",
cflags: [
"-Wall",
"-Wextra",
"-Werror",
"-g",
"-DUNIT_TEST",
],
srcs: [
"Collation.cpp",
"test_collation.cpp",
"test.proto",
],
static_libs: [
"libgmock_host",
],
shared_libs: [
"libstats_proto_host",
"libprotobuf-cpp-full",
],
proto: {
type: "full",
include_dirs: [
"external/protobuf/src",
],
},
}
// ==========================================================
// Native library
// ==========================================================
genrule {
name: "statslog.h",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog.h",
out: [
"statslog.h",
],
}
genrule {
name: "statslog.cpp",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog.cpp",
out: [
"statslog.cpp",
],
}
cc_library_shared {
name: "libstatslog",
generated_sources: ["statslog.cpp"],
generated_headers: ["statslog.h"],
srcs: [
"stats_event_list.cpp",
"statsd_writer.cpp",
],
cflags: [
"-Wall",
"-Werror",
"-DLIBLOG_LOG_TAG=1006",
"-DWRITE_TO_STATSD=1",
"-DWRITE_TO_LOGD=0",
],
export_generated_headers: ["statslog.h"],
shared_libs: [
"liblog",
"libutils",
],
}