15dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# Copyright (C) 2017 The Android Open Source Project
25dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato#
35dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# Licensed under the Apache License, Version 2.0 (the "License");
45dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# you may not use this file except in compliance with the License.
55dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# You may obtain a copy of the License at
65dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato#
75dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato#      http://www.apache.org/licenses/LICENSE-2.0
85dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato#
95dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# Unless required by applicable law or agreed to in writing, software
105dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# distributed under the License is distributed on an "AS IS" BASIS,
115dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# See the License for the specific language governing permissions and
135dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# limitations under the License.
145dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
155dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_PATH:= $(call my-dir)
165dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
17d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_src := \
18d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    ../../core/java/android/os/IStatsCompanionService.aidl \
19d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    ../../core/java/android/os/IStatsManager.aidl \
20d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/statsd_config.proto \
218a8d16ceea1e5b7a2f8c41e17b5d993035f50f5dYao Chen    src/FieldValue.cpp \
229def8e3995b1034d943a0fd22b6e512bfacdab77Yangster-mac    src/hash.cpp \
232087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    src/stats_log_util.cpp \
24932ececa1674c59a8da9f3e32d2651e781b86fc4Yangster-mac    src/anomaly/AlarmMonitor.cpp \
25932ececa1674c59a8da9f3e32d2651e781b86fc4Yangster-mac    src/anomaly/AlarmTracker.cpp \
26e2cd6d509b17894b95d14523ae3e7c4c7a9a74e3Yangster-mac    src/anomaly/AnomalyTracker.cpp \
27857aaa520804d846a050e1eeb85d82977c983666Bookatz    src/anomaly/DurationAnomalyTracker.cpp \
28932ececa1674c59a8da9f3e32d2651e781b86fc4Yangster-mac    src/anomaly/subscriber_util.cpp \
29d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/condition/CombinationConditionTracker.cpp \
30d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/condition/condition_util.cpp \
31d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/condition/SimpleConditionTracker.cpp \
32729093df0dd7d7038ad43b16ecdb59a1404f3b50Yao Chen    src/condition/ConditionWizard.cpp \
33580ea321b16c71ddec515553761d6f37359bd3a0Yao Chen    src/condition/StateTracker.cpp \
349fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/config/ConfigKey.cpp \
359fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/config/ConfigListener.cpp \
369fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/config/ConfigManager.cpp \
37e4d44919aa90f16285a9966dcc632c128b932374Primiano Tucci    src/external/Perfetto.cpp \
38b038b709566c191164bd23539175df8aadeb2f94Chenjie Yu    src/external/StatsPuller.cpp \
395305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    src/external/StatsCompanionServicePuller.cpp \
40c8b7f2277c7d05dc0a1225dbed13ee85f18a6031Chenjie Yu    src/external/SubsystemSleepStatePuller.cpp \
41bf972d99a9ee383b984137c49ad45a17df0c73d2Tej Singh    src/external/ResourceHealthManagerPuller.cpp \
424029831e36ef1e4a017bf55e1ec8f8b64849c5a3Tej Singh    src/external/ResourceThermalManagerPuller.cpp \
436736c893a73c567d3794d88ae0d17abab34b7a6fChenjie Yu    src/external/StatsPullerManagerImpl.cpp \
4480f9112aecf08845ef0b2b132d721b7ce850970fChenjie Yu    src/external/puller_util.cpp \
45c4dfae56c10a1dd571baa78c750f2e68c919d74fJoe Onorato    src/logd/LogEvent.cpp \
469fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/logd/LogListener.cpp \
479fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/logd/LogReader.cpp \
48d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/matchers/CombinationLogMatchingTracker.cpp \
49d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/matchers/matcher_util.cpp \
50d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/matchers/SimpleLogMatchingTracker.cpp \
51b704177d401de895c3b00d258885dc4243a7b3a7Yao Chen    src/metrics/MetricProducer.cpp \
525110bedd787835d4dbc809b7977285cac364bdefYao Chen    src/metrics/EventMetricProducer.cpp \
53d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/CountMetricProducer.cpp \
54729093df0dd7d7038ad43b16ecdb59a1404f3b50Yao Chen    src/metrics/DurationMetricProducer.cpp \
555154a379303ab90a2b2914676a4441917a329b5dYao Chen    src/metrics/duration_helper/OringDurationTracker.cpp \
565154a379303ab90a2b2914676a4441917a329b5dYao Chen    src/metrics/duration_helper/MaxDurationTracker.cpp \
57b3dda41a5a48ddfa44dc8fa939ab495926a0195dChenjie Yu    src/metrics/ValueMetricProducer.cpp \
581d4d686001b220e114df737154f143ffabc212f1Yangster    src/metrics/GaugeMetricProducer.cpp \
59d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/MetricsManager.cpp \
60d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/metrics/metrics_manager_util.cpp \
619fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    src/packages/UidMap.cpp \
62e4d44919aa90f16285a9966dcc632c128b932374Primiano Tucci    src/perfetto/perfetto_config.proto \
63947fbce521d9e8377df03e3c1c31884ed5577f32yro    src/storage/StorageManager.cpp \
64d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/StatsLogProcessor.cpp \
65d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/StatsService.cpp \
66aa5b2010152c4042786b558a44a89d25229d8962Chenjie Yu    src/statscompanion_util.cpp \
67afb36062d5e6d36700147226b5776b4ca8abf922Yi Jin    src/subscriber/IncidentdReporter.cpp \
68c697797d43b6932fc7cca1c8d7d850c3fb4d1452Bookatz    src/subscriber/SubscriberReporter.cpp \
69d5aa01b3716e07463019fa772f07a40613f9e39eYao Chen    src/HashableDimensionKey.cpp \
7049954cd681fc4c1013c39cd502408af770286730Yao Chen    src/guardrail/StatsdStats.cpp \
7149954cd681fc4c1013c39cd502408af770286730Yao Chen    src/socket/StatsSocketListener.cpp
72ab273e2e13f87d57f66395c52df424710b8066e1Yao Chen
73d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_c_includes := \
741481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid Chen    $(LOCAL_PATH)/src \
751481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid Chen    $(LOCAL_PATH)/../../libs/services/include
76ab273e2e13f87d57f66395c52df424710b8066e1Yao Chen
77d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_aidl_includes := \
78d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    $(LOCAL_PATH)/../../core/java
79931945399859ab91545ba2c2a914f044092d5e2eJoe Onorato
8062c220b20b3fc431c27feac29a71d040fc8e2626Joe Onoratostatsd_common_static_libraries := \
81bf972d99a9ee383b984137c49ad45a17df0c73d2Tej Singh    libhealthhalutils \
82bf972d99a9ee383b984137c49ad45a17df0c73d2Tej Singh    libplatformprotos \
8362c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato
84d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_shared_libraries := \
85d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libbase \
86d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libbinder \
87d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libincident \
88d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    liblog \
89d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libutils \
90d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libservices \
915305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libprotoutil \
925305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libstatslog \
935305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhardware \
945305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhardware_legacy \
955305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhidlbase \
965305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhidltransport \
975305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    libhwbinder \
98bf972d99a9ee383b984137c49ad45a17df0c73d2Tej Singh    android.hardware.health@2.0 \
995305e1ddc22bfe9ad941cb2550987aaba8de234cChenjie Yu    android.hardware.power@1.0 \
1008d9989bb376f3937d9c8fef07c9cc65ef78cbcaeYao Chen    android.hardware.power@1.1 \
10149954cd681fc4c1013c39cd502408af770286730Yao Chen    android.hardware.thermal@1.0 \
10249954cd681fc4c1013c39cd502408af770286730Yao Chen    libpackagelistparser \
10349954cd681fc4c1013c39cd502408af770286730Yao Chen    libsysutils \
10449954cd681fc4c1013c39cd502408af770286730Yao Chen    libcutils
105ab273e2e13f87d57f66395c52df424710b8066e1Yao Chen
1065dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# =========
1075dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# statsd
1085dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# =========
1095dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1105dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(CLEAR_VARS)
1115dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1125dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE := statsd
1135dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1145dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_SRC_FILES := \
115d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    $(statsd_common_src) \
116d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    src/main.cpp
1175dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1185dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_CFLAGS += \
1195dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wall \
1204c959cb99eb7e71e5417a61f5429c5fa0073e826Yao Chen    -Wextra \
1215dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Werror \
1225dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-parameter
1235dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1245dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoifeq (debug,)
1255dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    LOCAL_CFLAGS += \
1265dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato            -g -O0
1275dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoelse
1285dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    # optimize for size (protobuf glop can get big)
1295dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    LOCAL_CFLAGS += \
1305dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato            -Os
1315dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoendif
13220e9e6231a1aba79b4e5ae47f3ccfb066920e60fYao ChenLOCAL_PROTOC_OPTIMIZE_TYPE := lite
1335dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1341481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid ChenLOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
135d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_C_INCLUDES += $(statsd_common_c_includes)
136931945399859ab91545ba2c2a914f044092d5e2eJoe Onorato
13762c220b20b3fc431c27feac29a71d040fc8e2626Joe OnoratoLOCAL_STATIC_LIBRARIES := $(statsd_common_static_libraries)
13862c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato
139d6896898912eb1fc2c8976dce4340ab8d4e8d22fDavid ChenLOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
140d6896898912eb1fc2c8976dce4340ab8d4e8d22fDavid Chen    libgtest_prod
1415dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1425dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE_CLASS := EXECUTABLES
1435dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
144876889cb760e99221c2fd77c7d67d5409bda0bc7Yao Chen# Enable sanitizer and allow very verbose printing on eng builds
145cd7f90053dab8d50120d09949b758978c5dbc37aYao Chenifeq ($(TARGET_BUILD_VARIANT),eng)
146cd7f90053dab8d50120d09949b758978c5dbc37aYao Chen    LOCAL_CLANG := true
147461a75f26998667bb3226dfd74235eb3fd55c024Yao Chen    LOCAL_SANITIZE := address
148876889cb760e99221c2fd77c7d67d5409bda0bc7Yao Chen    LOCAL_CFLAGS += \
149876889cb760e99221c2fd77c7d67d5409bda0bc7Yao Chen        -DVERY_VERBOSE_PRINTING
150cd7f90053dab8d50120d09949b758978c5dbc37aYao Chenendif
151cd7f90053dab8d50120d09949b758978c5dbc37aYao Chen
1529b97976e7619f79b37e5e1ab62274862eccefea5yroLOCAL_INIT_RC := statsd.rc
1535dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1545dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(BUILD_EXECUTABLE)
1555dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
156d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
1575dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# ==============
1585dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# statsd_test
1595dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato# ==============
1605dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1615dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratoinclude $(CLEAR_VARS)
1625dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1635dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE := statsd_test
1645dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_COMPATIBILITY_SUITE := device-tests
1655dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_MODULE_TAGS := tests
1665dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1671481fe142d36d5f0b36eeebc358d5a8aef7bf28aDavid ChenLOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
168d54f9dd6251c7bd7033630b7afa770190d41c409Yao ChenLOCAL_C_INCLUDES += $(statsd_common_c_includes)
169dd89694f5e843963b992a09317aa58fa4a9d7a8dDavid Chen
1705dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_CFLAGS += \
1715dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wall \
1725dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Werror \
1735dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-missing-field-initializers \
1745dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-variable \
1755dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-function \
1765dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato    -Wno-unused-parameter
1775dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
1785dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_SRC_FILES := \
179d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    $(statsd_common_src) \
1809c1debe330006b2b4d5c08a55905789c57369609Yao Chen    src/atom_field_options.proto \
1819c1debe330006b2b4d5c08a55905789c57369609Yao Chen    src/atoms.proto \
1829c1debe330006b2b4d5c08a55905789c57369609Yao Chen    src/stats_log.proto \
183932ececa1674c59a8da9f3e32d2651e781b86fc4Yangster-mac    tests/AlarmMonitor_test.cpp \
184932ececa1674c59a8da9f3e32d2651e781b86fc4Yangster-mac    tests/anomaly/AlarmTracker_test.cpp \
1853eba62186592382ed3d97cecca0c547487e4b2e4Yang Lu    tests/anomaly/AnomalyTracker_test.cpp \
1869fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    tests/ConfigManager_test.cpp \
18780f9112aecf08845ef0b2b132d721b7ce850970fChenjie Yu    tests/external/puller_util_test.cpp \
188d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    tests/indexed_priority_queue_test.cpp \
1899fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato    tests/LogEntryMatcher_test.cpp \
190d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    tests/LogReader_test.cpp \
1912087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    tests/LogEvent_test.cpp \
192d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    tests/MetricsManager_test.cpp \
193d9269e2ee70b01cad3dda14c786e0e4434192248David Chen    tests/StatsLogProcessor_test.cpp \
1949fdd40302e0f4409b2fd4e5a418037c07b42bbe5David Chen    tests/StatsService_test.cpp \
1955154a379303ab90a2b2914676a4441917a329b5dYao Chen    tests/UidMap_test.cpp \
1968a8d16ceea1e5b7a2f8c41e17b5d993035f50f5dYao Chen    tests/FieldValue_test.cpp \
197967b2051fe17fa3c38d248a556f8c4ff21a573a7Yao Chen    tests/condition/CombinationConditionTracker_test.cpp \
198967b2051fe17fa3c38d248a556f8c4ff21a573a7Yao Chen    tests/condition/SimpleConditionTracker_test.cpp \
199580ea321b16c71ddec515553761d6f37359bd3a0Yao Chen    tests/condition/StateTracker_test.cpp \
20093fe3a34a02c673eaee4a2d18565ba8df20685cbYao Chen    tests/metrics/OringDurationTracker_test.cpp \
20193fe3a34a02c673eaee4a2d18565ba8df20685cbYao Chen    tests/metrics/MaxDurationTracker_test.cpp \
20293fe3a34a02c673eaee4a2d18565ba8df20685cbYao Chen    tests/metrics/CountMetricProducer_test.cpp \
203f2bee6fec965fd42ab223f1a3aa705f07ba79aeaYangster    tests/metrics/DurationMetricProducer_test.cpp \
2046736c893a73c567d3794d88ae0d17abab34b7a6fChenjie Yu    tests/metrics/EventMetricProducer_test.cpp \
205b356151e63140085cb96fa16804ee18b3862a4fcYao Chen    tests/metrics/ValueMetricProducer_test.cpp \
206d9dfda76e0aa8b8aa4d2562a7ff4259f4500e355Chenjie Yu    tests/metrics/GaugeMetricProducer_test.cpp \
207d5aa01b3716e07463019fa772f07a40613f9e39eYao Chen    tests/guardrail/StatsdStats_test.cpp \
2082087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    tests/metrics/metrics_test_helper.cpp \
2092087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    tests/statsd_test_util.cpp \
2102087716f2bdca90c7c3034d556ac12911bd8018eYangster-mac    tests/e2e/WakelockDuration_e2e_test.cpp \
211b5bc74122fb95c81bedad625160fb8d144a863cdYangster-mac    tests/e2e/MetricConditionLink_e2e_test.cpp \
212684d195227bf9eaeb21698cbdcf865afb570c454Yangster-mac    tests/e2e/Alarm_e2e_test.cpp \
21387718e283a62660eaa0e39fd780c97a290da988fYangster-mac    tests/e2e/Attribution_e2e_test.cpp \
2143fa5d7fb236f263125bc6364ea693e5e9f122976Yangster-mac    tests/e2e/GaugeMetric_e2e_push_test.cpp \
21515f6bbc24f4d7a3d4481d90a18df33d402ddacbaYangster-mac    tests/e2e/GaugeMetric_e2e_pull_test.cpp \
21615f6bbc24f4d7a3d4481d90a18df33d402ddacbaYangster-mac    tests/e2e/ValueMetric_pull_e2e_test.cpp \
21713fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster    tests/e2e/DimensionInCondition_e2e_combination_AND_cond_test.cpp \
21813fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster    tests/e2e/DimensionInCondition_e2e_combination_OR_cond_test.cpp \
219be10ddfe46ba6371bcd02cb57a06782e6b18d371Yangster-mac    tests/e2e/DimensionInCondition_e2e_simple_cond_test.cpp \
220be10ddfe46ba6371bcd02cb57a06782e6b18d371Yangster-mac    tests/e2e/Anomaly_count_e2e_test.cpp \
221b142cc8add29c8c97f6134d35873d23db666027cYangster-mac    tests/e2e/Anomaly_duration_sum_e2e_test.cpp \
222bd12527c90d55eefa657e6a71cfdd287ecdb4ab3David Chen    tests/e2e/ConfigTtl_e2e_test.cpp \
223bd12527c90d55eefa657e6a71cfdd287ecdb4ab3David Chen    tests/e2e/PartialBucket_e2e_test.cpp
2249fc9edf95a308f5884bf541cac81ce1f41aba0baJoe Onorato
2255dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe OnoratoLOCAL_STATIC_LIBRARIES := \
22662c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato    $(statsd_common_static_libraries) \
227d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen    libgmock
228b81d1a7b9a38dcb4d356ae3435a82fb52ba7d585Joe Onorato
2299c1debe330006b2b4d5c08a55905789c57369609Yao ChenLOCAL_PROTOC_OPTIMIZE_TYPE := full
230d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
2319c1debe330006b2b4d5c08a55905789c57369609Yao ChenLOCAL_PROTOC_FLAGS := \
2329c1debe330006b2b4d5c08a55905789c57369609Yao Chen    -Iexternal/protobuf/src
2339c1debe330006b2b4d5c08a55905789c57369609Yao Chen
2349c1debe330006b2b4d5c08a55905789c57369609Yao ChenLOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
2359c1debe330006b2b4d5c08a55905789c57369609Yao Chen                        libprotobuf-cpp-full
236d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chen
23762c220b20b3fc431c27feac29a71d040fc8e2626Joe Onoratoinclude $(BUILD_NATIVE_TEST)
23862c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato
239459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen##############################
240459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen# stats proto static java lib
241459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen##############################
242459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen
243459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Cheninclude $(CLEAR_VARS)
244459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao ChenLOCAL_MODULE := statsdprotolite
245459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen
246459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao ChenLOCAL_SRC_FILES := \
247459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen    src/stats_log.proto \
248459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen    src/statsd_config.proto \
249e4d44919aa90f16285a9966dcc632c128b932374Primiano Tucci    src/perfetto/perfetto_config.proto \
250459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen    src/atoms.proto
251459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen
252459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao ChenLOCAL_PROTOC_OPTIMIZE_TYPE := lite
253459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen
254459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao ChenLOCAL_STATIC_JAVA_LIBRARIES := \
255459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen    platformprotoslite
256459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Chen
2579c1debe330006b2b4d5c08a55905789c57369609Yao ChenLOCAL_PROTOC_FLAGS := \
2589c1debe330006b2b4d5c08a55905789c57369609Yao Chen    -Iexternal/protobuf/src
2599c1debe330006b2b4d5c08a55905789c57369609Yao Chen
260459dee6c51adc82d6dbcdcb47b5a8f1490d59868Yao Cheninclude $(BUILD_STATIC_JAVA_LIBRARY)
26162c220b20b3fc431c27feac29a71d040fc8e2626Joe Onorato
26248d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen##############################
26348d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen# statsd micro benchmark
26448d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen##############################
26548d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
26648d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Cheninclude $(CLEAR_VARS)
26748d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao ChenLOCAL_MODULE := statsd_benchmark
26848d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
26948d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao ChenLOCAL_SRC_FILES := $(statsd_common_src) \
27013fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster                    src/atom_field_options.proto \
27113fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster                    src/atoms.proto \
27213fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster                    src/stats_log.proto \
27348d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen                   benchmark/main.cpp \
27448d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen                   benchmark/hello_world_benchmark.cpp \
2753410634f2c6454626b1ec4b11f5b6f036a1141e2Tej Singh                   benchmark/log_event_benchmark.cpp \
276f520492279ce5c0a029c36b5251031a66f1413fbYangster-mac                   benchmark/stats_write_benchmark.cpp \
27713fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster                   benchmark/filter_value_benchmark.cpp \
27813fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster                   benchmark/get_dimensions_for_condition_benchmark.cpp \
27913fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster                   benchmark/metric_util.cpp \
28013fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster                   benchmark/duration_metric_benchmark.cpp
28113fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster
28213fb7e4eeaf7aee408821afe7ee55a5167e49e59YangsterLOCAL_STATIC_LIBRARIES := \
28313fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster    $(statsd_common_static_libraries)
28413fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster
28513fb7e4eeaf7aee408821afe7ee55a5167e49e59YangsterLOCAL_PROTOC_OPTIMIZE_TYPE := full
28613fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster
28713fb7e4eeaf7aee408821afe7ee55a5167e49e59YangsterLOCAL_PROTOC_FLAGS := \
28813fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster    -Iexternal/protobuf/src
28913fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster
29013fb7e4eeaf7aee408821afe7ee55a5167e49e59YangsterLOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
29113fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster                        libprotobuf-cpp-full
29213fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster
29313fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster
29413fb7e4eeaf7aee408821afe7ee55a5167e49e59YangsterLOCAL_STATIC_JAVA_LIBRARIES := \
29513fb7e4eeaf7aee408821afe7ee55a5167e49e59Yangster    platformprotoslite
29648d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
29748d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao ChenLOCAL_C_INCLUDES := $(statsd_common_c_includes)
29848d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
29948d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao ChenLOCAL_CFLAGS := -Wall \
30048d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen                -Werror \
30148d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen                -Wno-unused-parameter \
30248d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen                -Wno-unused-variable \
30348d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen                -Wno-unused-function \
30448d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
30548d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen# Bug: http://b/29823425 Disable -Wvarargs for Clang update to r271374
30648d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao ChenLOCAL_CFLAGS += -Wno-varargs
30748d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
30848d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao ChenLOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
30948d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
31048d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao ChenLOCAL_STATIC_LIBRARIES := \
31148d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen    $(statsd_common_static_libraries)
31248d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
31348d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao ChenLOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
3143410634f2c6454626b1ec4b11f5b6f036a1141e2Tej Singh    libgtest_prod \
3153410634f2c6454626b1ec4b11f5b6f036a1141e2Tej Singh    libstatslog
31648d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
31748d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao ChenLOCAL_MODULE_TAGS := eng tests
31848d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
31948d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Cheninclude $(BUILD_NATIVE_BENCHMARK)
32048d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
32148d75189ccbfc06f24f315ff5b8a1a42cf8207c5Yao Chen
322d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_src:=
323d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_aidl_includes:=
324d54f9dd6251c7bd7033630b7afa770190d41c409Yao Chenstatsd_common_c_includes:=
32562c220b20b3fc431c27feac29a71d040fc8e2626Joe Onoratostatsd_common_static_libraries:=
32662c220b20b3fc431c27feac29a71d040fc8e2626Joe Onoratostatsd_common_shared_libraries:=
3275dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato
3281ff4f4325882d812ded4f75ee6c2b6d352a85c9eYao Chen
329b19425e01113f3341c48f5283affd386658281b0Yao Cheninclude $(call all-makefiles-under,$(LOCAL_PATH))
330