Convert statsd and incidentd to Android.bp

See build/soong/README.md for more information.

Test: m checkbuild
Merged-In: I8c80878cec46c9299234c6f4c1e0e19efc0a221e
Change-Id: I8c80878cec46c9299234c6f4c1e0e19efc0a221e
This commit is contained in:
Colin Cross
2018-10-26 22:34:06 -07:00
parent 0d63da86e2
commit 05c9e5c24a
14 changed files with 563 additions and 644 deletions

View File

@@ -223,8 +223,7 @@ java_defaults {
"core/java/android/os/IDeviceIdentifiersPolicyService.aidl",
"core/java/android/os/IDeviceIdleController.aidl",
"core/java/android/os/IHardwarePropertiesManager.aidl",
"core/java/android/os/IIncidentManager.aidl",
"core/java/android/os/IIncidentReportStatusListener.aidl",
":libincident_aidl",
"core/java/android/os/IMaintenanceActivityListener.aidl",
"core/java/android/os/IMessenger.aidl",
"core/java/android/os/INetworkActivityListener.aidl",
@@ -237,8 +236,7 @@ java_defaults {
"core/java/android/os/IRecoverySystemProgressListener.aidl",
"core/java/android/os/IRemoteCallback.aidl",
"core/java/android/os/ISchedulingPolicyService.aidl",
"core/java/android/os/IStatsCompanionService.aidl",
"core/java/android/os/IStatsManager.aidl",
":statsd_aidl",
"core/java/android/os/ISystemUpdateManager.aidl",
"core/java/android/os/IThermalEventListener.aidl",
"core/java/android/os/IThermalService.aidl",
@@ -707,6 +705,22 @@ java_defaults {
}
filegroup {
name: "libincident_aidl",
srcs: [
"core/java/android/os/IIncidentManager.aidl",
"core/java/android/os/IIncidentReportStatusListener.aidl",
],
}
filegroup {
name: "statsd_aidl",
srcs: [
"core/java/android/os/IStatsCompanionService.aidl",
"core/java/android/os/IStatsManager.aidl",
],
}
java_library {
name: "framework",
defaults: ["framework-defaults"],
@@ -913,12 +927,14 @@ gensrcs {
"core/proto/android/os/batterytype.proto",
"core/proto/android/os/cpufreq.proto",
"core/proto/android/os/cpuinfo.proto",
"core/proto/android/os/data.proto",
"core/proto/android/os/kernelwake.proto",
"core/proto/android/os/pagetypeinfo.proto",
"core/proto/android/os/procrank.proto",
"core/proto/android/os/ps.proto",
"core/proto/android/os/system_properties.proto",
"core/proto/android/util/event_log_tags.proto",
"core/proto/android/util/log.proto",
],
// Append protoc-gen-cppstream tool's PATH otherwise aprotoc can't find the plugin tool

46
cmds/incident/Android.bp Normal file
View File

@@ -0,0 +1,46 @@
// Copyright (C) 2016 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.
cc_binary {
name: "incident",
srcs: [
"main.cpp",
":incident_sections",
],
shared_libs: [
"libbase",
"libbinder",
"libcutils",
"liblog",
"libutils",
"libincident",
],
cflags: [
"-Wall",
"-Werror",
"-Wno-missing-field-initializers",
"-Wno-unused-variable",
"-Wunused-parameter",
],
}
genrule {
name: "incident_sections",
tools: ["incident-section-gen"],
out: ["incident_sections.cpp"],
cmd: "$(location incident-section-gen) incident > $(out)",
}

View File

@@ -1,48 +0,0 @@
# Copyright (C) 2016 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.
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
main.cpp
LOCAL_MODULE := incident
LOCAL_SHARED_LIBRARIES := \
libbase \
libbinder \
libcutils \
liblog \
libutils \
libincident
LOCAL_CFLAGS += \
-Wall -Werror -Wno-missing-field-initializers -Wno-unused-variable -Wunused-parameter
LOCAL_MODULE_CLASS := EXECUTABLES
gen_src_dir := $(local-generated-sources-dir)
gen := $(gen_src_dir)/incident_sections.cpp
$(gen): $(HOST_OUT_EXECUTABLES)/incident-section-gen
$(gen): PRIVATE_CUSTOM_TOOL = \
$(HOST_OUT_EXECUTABLES)/incident-section-gen incident > $@
$(gen): $(HOST_OUT_EXECUTABLES)/incident-section-gen
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(gen)
gen_src_dir:=
gen:=
include $(BUILD_EXECUTABLE)

117
cmds/incidentd/Android.bp Normal file
View File

@@ -0,0 +1,117 @@
// Copyright (C) 2016 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.
// =========
// incidentd
// =========
cc_binary {
name: "incidentd",
srcs: [
"src/**/*.cpp",
":incidentd_section_list",
],
cflags: [
"-Wall",
"-Werror",
"-Wno-missing-field-initializers",
"-Wno-unused-variable",
"-Wunused-parameter",
// Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
"-Wno-error=implicit-fallthrough",
// optimize for size (protobuf glop can get big)
"-Os",
//"-g",
//"-O0",
],
local_include_dirs: ["src"],
generated_headers: ["gen-platform-proto-constants"],
shared_libs: [
"libbase",
"libbinder",
"libdebuggerd_client",
"libdumputils",
"libincident",
"liblog",
"libprotoutil",
"libservices",
"libutils",
],
init_rc: ["incidentd.rc"],
}
// ==============
// incidentd_test
// ==============
cc_test {
name: "incidentd_test",
test_suites: ["device-tests"],
cflags: [
"-Werror",
"-Wall",
"-Wno-unused-variable",
"-Wunused-parameter",
// Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
"-Wno-error=implicit-fallthrough",
],
local_include_dirs: ["src"],
generated_headers: ["gen-platform-proto-constants"],
srcs: [
"tests/**/*.cpp",
"src/PrivacyBuffer.cpp",
"src/FdBuffer.cpp",
"src/Privacy.cpp",
"src/Reporter.cpp",
"src/Section.cpp",
"src/Throttler.cpp",
"src/incidentd_util.cpp",
"src/report_directory.cpp",
],
data: ["testdata/**/*"],
static_libs: ["libgmock"],
shared_libs: [
"libbase",
"libbinder",
"libdebuggerd_client",
"libdumputils",
"libincident",
"liblog",
"libprotobuf-cpp-lite",
"libprotoutil",
"libservices",
"libutils",
],
}
genrule {
name: "incidentd_section_list",
tools: ["incident-section-gen"],
out: ["section_list.cpp"],
cmd: "$(location incident-section-gen) incidentd > $(out)",
}

View File

@@ -1,156 +0,0 @@
# Copyright (C) 2016 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.
LOCAL_PATH:= $(call my-dir)
# proto files used in incidentd to generate cppstream proto headers.
PROTO_FILES:= \
frameworks/base/core/proto/android/os/backtrace.proto \
frameworks/base/core/proto/android/os/data.proto \
frameworks/base/core/proto/android/util/log.proto
# ========= #
# incidentd #
# ========= #
include $(CLEAR_VARS)
LOCAL_MODULE := incidentd
LOCAL_SRC_FILES := $(call all-cpp-files-under, src) \
LOCAL_CFLAGS += \
-Wall -Werror -Wno-missing-field-initializers -Wno-unused-variable -Wunused-parameter
# Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
ifeq (debug,)
LOCAL_CFLAGS += \
-g -O0
else
# optimize for size (protobuf glop can get big)
LOCAL_CFLAGS += \
-Os
endif
LOCAL_C_INCLUDES += $(LOCAL_PATH)/src
LOCAL_SHARED_LIBRARIES := \
libbase \
libbinder \
libdebuggerd_client \
libdumputils \
libincident \
liblog \
libprotoutil \
libservices \
libutils
LOCAL_MODULE_CLASS := EXECUTABLES
gen_src_dir := $(local-generated-sources-dir)
# generate section_list.cpp
GEN_LIST := $(gen_src_dir)/src/section_list.cpp
$(GEN_LIST): $(HOST_OUT_EXECUTABLES)/incident-section-gen
$(GEN_LIST): PRIVATE_CUSTOM_TOOL = \
$(HOST_OUT_EXECUTABLES)/incident-section-gen incidentd > $@
$(GEN_LIST): $(HOST_OUT_EXECUTABLES)/incident-section-gen
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN_LIST)
GEN_LIST:=
# generate cppstream proto, add proto files to PROTO_FILES
GEN_PROTO := $(gen_src_dir)/proto.timestamp
$(GEN_PROTO): $(HOST_OUT_EXECUTABLES)/aprotoc $(HOST_OUT_EXECUTABLES)/protoc-gen-cppstream $(PROTO_FILES)
$(GEN_PROTO): PRIVATE_GEN_SRC_DIR := $(gen_src_dir)
$(GEN_PROTO): PRIVATE_CUSTOM_TOOL = \
$(HOST_OUT_EXECUTABLES)/aprotoc --plugin=protoc-gen-cppstream=$(HOST_OUT_EXECUTABLES)/protoc-gen-cppstream \
--cppstream_out=$(PRIVATE_GEN_SRC_DIR) -Iexternal/protobuf/src -I . \
$(PROTO_FILES) \
&& touch $@
$(GEN_PROTO): $(HOST_OUT_EXECUTABLES)/aprotoc
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN_PROTO)
GEN_PROTO:=
gen_src_dir:=
LOCAL_INIT_RC := incidentd.rc
include $(BUILD_EXECUTABLE)
# ============== #
# incidentd_test #
# ============== #
include $(CLEAR_VARS)
LOCAL_MODULE := incidentd_test
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_MODULE_TAGS := tests
LOCAL_CFLAGS := -Werror -Wall -Wno-unused-variable -Wunused-parameter
# Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
LOCAL_C_INCLUDES += $(LOCAL_PATH)/src
LOCAL_SRC_FILES := $(call all-cpp-files-under, tests) \
src/PrivacyBuffer.cpp \
src/FdBuffer.cpp \
src/Privacy.cpp \
src/Reporter.cpp \
src/Section.cpp \
src/Throttler.cpp \
src/incidentd_util.cpp \
src/report_directory.cpp \
LOCAL_STATIC_LIBRARIES := \
libgmock \
LOCAL_SHARED_LIBRARIES := \
libbase \
libbinder \
libdebuggerd_client \
libdumputils \
libincident \
liblog \
libprotobuf-cpp-lite \
libprotoutil \
libservices \
libutils \
LOCAL_TEST_DATA := $(call find-test-data-in-subdirs, $(LOCAL_PATH), *, testdata)
LOCAL_MODULE_CLASS := NATIVE_TESTS
gen_src_dir := $(local-generated-sources-dir)
# generate cppstream proto for testing
GEN_PROTO := $(gen_src_dir)/test.proto.timestamp
$(GEN_PROTO): $(HOST_OUT_EXECUTABLES)/aprotoc $(HOST_OUT_EXECUTABLES)/protoc-gen-cppstream $(PROTO_FILES)
$(GEN_PROTO): PRIVATE_GEN_SRC_DIR := $(gen_src_dir)
$(GEN_PROTO): PRIVATE_CUSTOM_TOOL = \
$(HOST_OUT_EXECUTABLES)/aprotoc --plugin=protoc-gen-cppstream=$(HOST_OUT_EXECUTABLES)/protoc-gen-cppstream \
--cppstream_out=$(PRIVATE_GEN_SRC_DIR) -Iexternal/protobuf/src -I . \
$(PROTO_FILES) \
&& touch $@
$(GEN_PROTO): $(HOST_OUT_EXECUTABLES)/aprotoc
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN_PROTO)
GEN_PROTO:=
gen_src_dir:=
include $(BUILD_NATIVE_TEST)

View File

@@ -1,5 +1,5 @@
//
// Copyright (C) 2015 The Android Open Source Project
// 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.
@@ -42,6 +42,261 @@ cc_library_host_shared {
}
cc_defaults {
name: "statsd_defaults",
aidl: {
include_dirs: ["frameworks/base/core/java"],
},
srcs: [
":statsd_aidl",
"src/statsd_config.proto",
"src/FieldValue.cpp",
"src/hash.cpp",
"src/stats_log_util.cpp",
"src/anomaly/AlarmMonitor.cpp",
"src/anomaly/AlarmTracker.cpp",
"src/anomaly/AnomalyTracker.cpp",
"src/anomaly/DurationAnomalyTracker.cpp",
"src/anomaly/subscriber_util.cpp",
"src/condition/CombinationConditionTracker.cpp",
"src/condition/condition_util.cpp",
"src/condition/SimpleConditionTracker.cpp",
"src/condition/ConditionWizard.cpp",
"src/condition/StateTracker.cpp",
"src/config/ConfigKey.cpp",
"src/config/ConfigListener.cpp",
"src/config/ConfigManager.cpp",
"src/external/Perfetto.cpp",
"src/external/StatsPuller.cpp",
"src/external/StatsCompanionServicePuller.cpp",
"src/external/SubsystemSleepStatePuller.cpp",
"src/external/ResourceHealthManagerPuller.cpp",
"src/external/ResourceThermalManagerPuller.cpp",
"src/external/StatsPullerManagerImpl.cpp",
"src/external/puller_util.cpp",
"src/logd/LogEvent.cpp",
"src/logd/LogListener.cpp",
"src/logd/LogReader.cpp",
"src/matchers/CombinationLogMatchingTracker.cpp",
"src/matchers/matcher_util.cpp",
"src/matchers/SimpleLogMatchingTracker.cpp",
"src/metrics/MetricProducer.cpp",
"src/metrics/EventMetricProducer.cpp",
"src/metrics/CountMetricProducer.cpp",
"src/metrics/DurationMetricProducer.cpp",
"src/metrics/duration_helper/OringDurationTracker.cpp",
"src/metrics/duration_helper/MaxDurationTracker.cpp",
"src/metrics/ValueMetricProducer.cpp",
"src/metrics/GaugeMetricProducer.cpp",
"src/metrics/MetricsManager.cpp",
"src/metrics/metrics_manager_util.cpp",
"src/packages/UidMap.cpp",
"src/perfetto/perfetto_config.proto",
"src/storage/StorageManager.cpp",
"src/StatsLogProcessor.cpp",
"src/StatsService.cpp",
"src/statscompanion_util.cpp",
"src/subscriber/IncidentdReporter.cpp",
"src/subscriber/SubscriberReporter.cpp",
"src/HashableDimensionKey.cpp",
"src/guardrail/StatsdStats.cpp",
"src/socket/StatsSocketListener.cpp",
],
local_include_dirs: [
"src",
],
static_libs: [
"libhealthhalutils",
"libplatformprotos",
],
shared_libs: [
"libbase",
"libbinder",
"libincident",
"liblog",
"libutils",
"libservices",
"libprotoutil",
"libstatslog",
"libhardware",
"libhardware_legacy",
"libhidlbase",
"libhidltransport",
"libhwbinder",
"android.hardware.health@2.0",
"android.hardware.power@1.0",
"android.hardware.power@1.1",
"android.hardware.thermal@1.0",
"libpackagelistparser",
"libsysutils",
"libcutils",
],
}
// =========
// statsd
// =========
cc_binary {
name: "statsd",
defaults: ["statsd_defaults"],
srcs: ["src/main.cpp"],
cflags: [
"-Wall",
"-Wextra",
"-Werror",
"-Wno-unused-parameter",
// optimize for size (protobuf glop can get big)
"-Os",
// "-g",
// "-O0",
],
product_variables: {
eng: {
// Enable sanitizer and allow very verbose printing on eng builds
cflags: ["-DVERY_VERBOSE_PRINTING"],
sanitize: {
address: true,
},
},
},
proto: {
type: "lite",
},
shared_libs: ["libgtest_prod"],
init_rc: ["statsd.rc"],
}
// ==============
// statsd_test
// ==============
cc_test {
name: "statsd_test",
defaults: ["statsd_defaults"],
test_suites: ["device-tests"],
cflags: [
"-Wall",
"-Werror",
"-Wno-missing-field-initializers",
"-Wno-unused-variable",
"-Wno-unused-function",
"-Wno-unused-parameter",
],
srcs: [
"src/atom_field_options.proto",
"src/atoms.proto",
"src/stats_log.proto",
"tests/AlarmMonitor_test.cpp",
"tests/anomaly/AlarmTracker_test.cpp",
"tests/anomaly/AnomalyTracker_test.cpp",
"tests/ConfigManager_test.cpp",
"tests/external/puller_util_test.cpp",
"tests/indexed_priority_queue_test.cpp",
"tests/LogEntryMatcher_test.cpp",
"tests/LogReader_test.cpp",
"tests/LogEvent_test.cpp",
"tests/MetricsManager_test.cpp",
"tests/StatsLogProcessor_test.cpp",
"tests/StatsService_test.cpp",
"tests/UidMap_test.cpp",
"tests/FieldValue_test.cpp",
"tests/condition/CombinationConditionTracker_test.cpp",
"tests/condition/SimpleConditionTracker_test.cpp",
"tests/condition/StateTracker_test.cpp",
"tests/metrics/OringDurationTracker_test.cpp",
"tests/metrics/MaxDurationTracker_test.cpp",
"tests/metrics/CountMetricProducer_test.cpp",
"tests/metrics/DurationMetricProducer_test.cpp",
"tests/metrics/EventMetricProducer_test.cpp",
"tests/metrics/ValueMetricProducer_test.cpp",
"tests/metrics/GaugeMetricProducer_test.cpp",
"tests/guardrail/StatsdStats_test.cpp",
"tests/metrics/metrics_test_helper.cpp",
"tests/statsd_test_util.cpp",
"tests/e2e/WakelockDuration_e2e_test.cpp",
"tests/e2e/MetricConditionLink_e2e_test.cpp",
"tests/e2e/Alarm_e2e_test.cpp",
"tests/e2e/Attribution_e2e_test.cpp",
"tests/e2e/GaugeMetric_e2e_push_test.cpp",
"tests/e2e/GaugeMetric_e2e_pull_test.cpp",
"tests/e2e/ValueMetric_pull_e2e_test.cpp",
"tests/e2e/DimensionInCondition_e2e_combination_AND_cond_test.cpp",
"tests/e2e/DimensionInCondition_e2e_combination_OR_cond_test.cpp",
"tests/e2e/DimensionInCondition_e2e_simple_cond_test.cpp",
"tests/e2e/Anomaly_count_e2e_test.cpp",
"tests/e2e/Anomaly_duration_sum_e2e_test.cpp",
"tests/e2e/ConfigTtl_e2e_test.cpp",
"tests/e2e/PartialBucket_e2e_test.cpp",
],
static_libs: ["libgmock"],
proto: {
type: "full",
include_dirs: ["external/protobuf/src"],
},
shared_libs: ["libprotobuf-cpp-full"],
}
//#############################
// statsd micro benchmark
//#############################
cc_benchmark {
name: "statsd_benchmark",
defaults: ["statsd_defaults"],
srcs: [
"src/atom_field_options.proto",
"src/atoms.proto",
"src/stats_log.proto",
"benchmark/main.cpp",
"benchmark/hello_world_benchmark.cpp",
"benchmark/log_event_benchmark.cpp",
"benchmark/stats_write_benchmark.cpp",
"benchmark/filter_value_benchmark.cpp",
"benchmark/get_dimensions_for_condition_benchmark.cpp",
"benchmark/metric_util.cpp",
"benchmark/duration_metric_benchmark.cpp",
],
proto: {
type: "full",
include_dirs: ["external/protobuf/src"],
},
cflags: [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
"-Wno-unused-variable",
"-Wno-unused-function",
// Bug: http://b/29823425 Disable -Wvarargs for Clang update to r271374
"-Wno-varargs"
],
shared_libs: [
"libgtest_prod",
"libstatslog",
"libprotobuf-cpp-full",
],
}
// ==== java proto device library (for test only) ==============================
java_library {

View File

@@ -1,306 +0,0 @@
# 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.
LOCAL_PATH:= $(call my-dir)
statsd_common_src := \
../../core/java/android/os/IStatsCompanionService.aidl \
../../core/java/android/os/IStatsManager.aidl \
src/statsd_config.proto \
src/FieldValue.cpp \
src/hash.cpp \
src/stats_log_util.cpp \
src/anomaly/AlarmMonitor.cpp \
src/anomaly/AlarmTracker.cpp \
src/anomaly/AnomalyTracker.cpp \
src/anomaly/DurationAnomalyTracker.cpp \
src/anomaly/subscriber_util.cpp \
src/condition/CombinationConditionTracker.cpp \
src/condition/condition_util.cpp \
src/condition/SimpleConditionTracker.cpp \
src/condition/ConditionWizard.cpp \
src/condition/StateTracker.cpp \
src/config/ConfigKey.cpp \
src/config/ConfigListener.cpp \
src/config/ConfigManager.cpp \
src/external/Perfetto.cpp \
src/external/StatsPuller.cpp \
src/external/StatsCompanionServicePuller.cpp \
src/external/SubsystemSleepStatePuller.cpp \
src/external/ResourceHealthManagerPuller.cpp \
src/external/ResourceThermalManagerPuller.cpp \
src/external/StatsPullerManagerImpl.cpp \
src/external/puller_util.cpp \
src/logd/LogEvent.cpp \
src/logd/LogListener.cpp \
src/logd/LogReader.cpp \
src/matchers/CombinationLogMatchingTracker.cpp \
src/matchers/matcher_util.cpp \
src/matchers/SimpleLogMatchingTracker.cpp \
src/metrics/MetricProducer.cpp \
src/metrics/EventMetricProducer.cpp \
src/metrics/CountMetricProducer.cpp \
src/metrics/DurationMetricProducer.cpp \
src/metrics/duration_helper/OringDurationTracker.cpp \
src/metrics/duration_helper/MaxDurationTracker.cpp \
src/metrics/ValueMetricProducer.cpp \
src/metrics/GaugeMetricProducer.cpp \
src/metrics/MetricsManager.cpp \
src/metrics/metrics_manager_util.cpp \
src/packages/UidMap.cpp \
src/perfetto/perfetto_config.proto \
src/storage/StorageManager.cpp \
src/StatsLogProcessor.cpp \
src/StatsService.cpp \
src/statscompanion_util.cpp \
src/subscriber/IncidentdReporter.cpp \
src/subscriber/SubscriberReporter.cpp \
src/HashableDimensionKey.cpp \
src/guardrail/StatsdStats.cpp \
src/socket/StatsSocketListener.cpp
statsd_common_c_includes := \
$(LOCAL_PATH)/src \
$(LOCAL_PATH)/../../libs/services/include
statsd_common_aidl_includes := \
$(LOCAL_PATH)/../../core/java
statsd_common_static_libraries := \
libhealthhalutils \
libplatformprotos \
statsd_common_shared_libraries := \
libbase \
libbinder \
libincident \
liblog \
libutils \
libservices \
libprotoutil \
libstatslog \
libhardware \
libhardware_legacy \
libhidlbase \
libhidltransport \
libhwbinder \
android.hardware.health@2.0 \
android.hardware.power@1.0 \
android.hardware.power@1.1 \
android.hardware.thermal@1.0 \
libpackagelistparser \
libsysutils \
libcutils
# =========
# statsd
# =========
include $(CLEAR_VARS)
LOCAL_MODULE := statsd
LOCAL_SRC_FILES := \
$(statsd_common_src) \
src/main.cpp
LOCAL_CFLAGS += \
-Wall \
-Wextra \
-Werror \
-Wno-unused-parameter
ifeq (debug,)
LOCAL_CFLAGS += \
-g -O0
else
# optimize for size (protobuf glop can get big)
LOCAL_CFLAGS += \
-Os
endif
LOCAL_PROTOC_OPTIMIZE_TYPE := lite
LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
LOCAL_C_INCLUDES += $(statsd_common_c_includes)
LOCAL_STATIC_LIBRARIES := $(statsd_common_static_libraries)
LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
libgtest_prod
LOCAL_MODULE_CLASS := EXECUTABLES
# Enable sanitizer and allow very verbose printing on eng builds
ifeq ($(TARGET_BUILD_VARIANT),eng)
LOCAL_CLANG := true
LOCAL_SANITIZE := address
LOCAL_CFLAGS += \
-DVERY_VERBOSE_PRINTING
endif
LOCAL_INIT_RC := statsd.rc
include $(BUILD_EXECUTABLE)
# ==============
# statsd_test
# ==============
include $(CLEAR_VARS)
LOCAL_MODULE := statsd_test
LOCAL_COMPATIBILITY_SUITE := device-tests
LOCAL_MODULE_TAGS := tests
LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
LOCAL_C_INCLUDES += $(statsd_common_c_includes)
LOCAL_CFLAGS += \
-Wall \
-Werror \
-Wno-missing-field-initializers \
-Wno-unused-variable \
-Wno-unused-function \
-Wno-unused-parameter
LOCAL_SRC_FILES := \
$(statsd_common_src) \
src/atom_field_options.proto \
src/atoms.proto \
src/stats_log.proto \
tests/AlarmMonitor_test.cpp \
tests/anomaly/AlarmTracker_test.cpp \
tests/anomaly/AnomalyTracker_test.cpp \
tests/ConfigManager_test.cpp \
tests/external/puller_util_test.cpp \
tests/indexed_priority_queue_test.cpp \
tests/LogEntryMatcher_test.cpp \
tests/LogReader_test.cpp \
tests/LogEvent_test.cpp \
tests/MetricsManager_test.cpp \
tests/StatsLogProcessor_test.cpp \
tests/StatsService_test.cpp \
tests/UidMap_test.cpp \
tests/FieldValue_test.cpp \
tests/condition/CombinationConditionTracker_test.cpp \
tests/condition/SimpleConditionTracker_test.cpp \
tests/condition/StateTracker_test.cpp \
tests/metrics/OringDurationTracker_test.cpp \
tests/metrics/MaxDurationTracker_test.cpp \
tests/metrics/CountMetricProducer_test.cpp \
tests/metrics/DurationMetricProducer_test.cpp \
tests/metrics/EventMetricProducer_test.cpp \
tests/metrics/ValueMetricProducer_test.cpp \
tests/metrics/GaugeMetricProducer_test.cpp \
tests/guardrail/StatsdStats_test.cpp \
tests/metrics/metrics_test_helper.cpp \
tests/statsd_test_util.cpp \
tests/e2e/WakelockDuration_e2e_test.cpp \
tests/e2e/MetricConditionLink_e2e_test.cpp \
tests/e2e/Alarm_e2e_test.cpp \
tests/e2e/Attribution_e2e_test.cpp \
tests/e2e/GaugeMetric_e2e_push_test.cpp \
tests/e2e/GaugeMetric_e2e_pull_test.cpp \
tests/e2e/ValueMetric_pull_e2e_test.cpp \
tests/e2e/DimensionInCondition_e2e_combination_AND_cond_test.cpp \
tests/e2e/DimensionInCondition_e2e_combination_OR_cond_test.cpp \
tests/e2e/DimensionInCondition_e2e_simple_cond_test.cpp \
tests/e2e/Anomaly_count_e2e_test.cpp \
tests/e2e/Anomaly_duration_sum_e2e_test.cpp \
tests/e2e/ConfigTtl_e2e_test.cpp \
tests/e2e/PartialBucket_e2e_test.cpp
LOCAL_STATIC_LIBRARIES := \
$(statsd_common_static_libraries) \
libgmock
LOCAL_PROTOC_OPTIMIZE_TYPE := full
LOCAL_PROTOC_FLAGS := \
-Iexternal/protobuf/src
LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
libprotobuf-cpp-full
include $(BUILD_NATIVE_TEST)
##############################
# statsd micro benchmark
##############################
include $(CLEAR_VARS)
LOCAL_MODULE := statsd_benchmark
LOCAL_SRC_FILES := $(statsd_common_src) \
src/atom_field_options.proto \
src/atoms.proto \
src/stats_log.proto \
benchmark/main.cpp \
benchmark/hello_world_benchmark.cpp \
benchmark/log_event_benchmark.cpp \
benchmark/stats_write_benchmark.cpp \
benchmark/filter_value_benchmark.cpp \
benchmark/get_dimensions_for_condition_benchmark.cpp \
benchmark/metric_util.cpp \
benchmark/duration_metric_benchmark.cpp
LOCAL_STATIC_LIBRARIES := \
$(statsd_common_static_libraries)
LOCAL_PROTOC_OPTIMIZE_TYPE := full
LOCAL_PROTOC_FLAGS := \
-Iexternal/protobuf/src
LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
libprotobuf-cpp-full
LOCAL_STATIC_JAVA_LIBRARIES := \
platformprotoslite
LOCAL_C_INCLUDES := $(statsd_common_c_includes)
LOCAL_CFLAGS := -Wall \
-Werror \
-Wno-unused-parameter \
-Wno-unused-variable \
-Wno-unused-function \
# Bug: http://b/29823425 Disable -Wvarargs for Clang update to r271374
LOCAL_CFLAGS += -Wno-varargs
LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
LOCAL_STATIC_LIBRARIES := \
$(statsd_common_static_libraries)
LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
libgtest_prod \
libstatslog
LOCAL_MODULE_TAGS := eng tests
include $(BUILD_NATIVE_BENCHMARK)
statsd_common_src:=
statsd_common_aidl_includes:=
statsd_common_c_includes:=
statsd_common_static_libraries:=
statsd_common_shared_libraries:=
include $(call all-makefiles-under,$(LOCAL_PATH))

View File

@@ -1,20 +0,0 @@
# 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.
#
#
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#Include the sub-makefiles
include $(call all-makefiles-under,$(LOCAL_PATH))

View File

@@ -0,0 +1,37 @@
// 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.
//
//
android_app {
name: "StatsdDogfood",
platform_apis: true,
srcs: ["src/**/*.java"],
resource_dirs: ["res"],
static_libs: [
"platformprotoslite",
"statsdprotolite",
],
privileged: true,
dex_preopt: {
enabled: false,
},
certificate: "platform",
optimize: {
enabled: false,
},
}

View File

@@ -1,33 +0,0 @@
# 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.
#
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PACKAGE_NAME := StatsdDogfood
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_STATIC_JAVA_LIBRARIES := platformprotoslite \
statsdprotolite
LOCAL_PRIVILEGED_MODULE := true
LOCAL_DEX_PREOPT := false
LOCAL_CERTIFICATE := platform
LOCAL_PROGUARD_ENABLED := disabled
include $(BUILD_PACKAGE)

View File

@@ -0,0 +1,37 @@
// 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.
//
//
android_app {
name: "StatsdLoadtest",
platform_apis: true,
srcs: ["src/**/*.java"],
resource_dirs: ["res"],
static_libs: [
"platformprotoslite",
"statsdprotolite",
],
certificate: "platform",
privileged: true,
dex_preopt: {
enabled: false,
},
optimize: {
enabled: false,
},
}

View File

@@ -1,33 +0,0 @@
# 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.
#
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_PACKAGE_NAME := StatsdLoadtest
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_STATIC_JAVA_LIBRARIES := platformprotoslite \
statsdprotolite
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_DEX_PREOPT := false
LOCAL_PROGUARD_ENABLED := disabled
include $(BUILD_PACKAGE)

50
libs/incident/Android.bp Normal file
View File

@@ -0,0 +1,50 @@
// Copyright (C) 2016 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.
cc_library_shared {
name: "libincident",
cflags: [
"-Wall",
"-Werror",
"-Wno-missing-field-initializers",
"-Wno-unused-variable",
"-Wunused-parameter",
],
shared_libs: [
"libbinder",
"liblog",
"libutils",
],
aidl: {
include_dirs: ["frameworks/base/core/java"],
export_aidl_headers: true,
},
srcs: [
":libincident_aidl",
"proto/android/os/header.proto",
"proto/android/os/metadata.proto",
"src/IncidentReportArgs.cpp",
],
proto: {
type: "lite",
export_proto_headers: true,
},
export_include_dirs: ["include"],
}

View File

@@ -1,43 +0,0 @@
# Copyright (C) 2016 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.
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libincident
LOCAL_CFLAGS := \
-Wall -Werror -Wno-missing-field-initializers -Wno-unused-variable -Wunused-parameter
LOCAL_SHARED_LIBRARIES := \
libbinder \
liblog \
libutils
LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/../../core/java
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/include
LOCAL_SRC_FILES := \
../../core/java/android/os/IIncidentManager.aidl \
../../core/java/android/os/IIncidentReportStatusListener.aidl \
proto/android/os/header.proto \
proto/android/os/metadata.proto \
src/IncidentReportArgs.cpp
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
LOCAL_PROTO_OPTIMIZE_TYPE := lite
include $(BUILD_SHARED_LIBRARY)