blob: 565b092998af30812022a6891d5ee96e44e4d4ec [file] [log] [blame]
Joe Onorato5dcbc6c2017-08-29 15:13:58 -07001# Copyright (C) 2017 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15LOCAL_PATH:= $(call my-dir)
16
Yao Chend54f9dd2017-10-17 17:37:48 +000017statsd_common_src := \
18 ../../core/java/android/os/IStatsCompanionService.aidl \
19 ../../core/java/android/os/IStatsManager.aidl \
20 src/stats_log.proto \
21 src/statsd_config.proto \
Yangster-macd19bcae42018-01-04 15:43:39 -080022 src/statsd_internal.proto \
Joe Onorato62c220b2017-11-18 20:32:56 -080023 src/atoms.proto \
Yangster-mac20877162017-12-22 17:19:39 -080024 src/field_util.cpp \
25 src/stats_log_util.cpp \
26 src/dimension.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070027 src/anomaly/AnomalyMonitor.cpp \
Yangster-mace2cd6d52017-11-09 20:38:30 -080028 src/anomaly/AnomalyTracker.cpp \
Bookatz857aaa52017-12-19 15:29:06 -080029 src/anomaly/DurationAnomalyTracker.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000030 src/condition/CombinationConditionTracker.cpp \
31 src/condition/condition_util.cpp \
32 src/condition/SimpleConditionTracker.cpp \
Yao Chen729093d2017-10-16 10:33:26 -070033 src/condition/ConditionWizard.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070034 src/config/ConfigKey.cpp \
35 src/config/ConfigListener.cpp \
36 src/config/ConfigManager.cpp \
Primiano Tuccie4d44912018-01-10 12:14:50 +000037 src/external/Perfetto.cpp \
Chenjie Yub038b702017-12-18 15:15:34 -080038 src/external/StatsPuller.cpp \
Chenjie Yu5305e1d2017-10-31 13:49:36 -070039 src/external/StatsCompanionServicePuller.cpp \
Chenjie Yuc8b7f222018-01-11 23:25:57 -080040 src/external/SubsystemSleepStatePuller.cpp \
Chenjie Yue33bc3b2017-11-06 17:56:44 -080041 src/external/CpuTimePerUidPuller.cpp \
42 src/external/CpuTimePerUidFreqPuller.cpp \
Chenjie Yu6736c892017-11-09 10:50:09 -080043 src/external/StatsPullerManagerImpl.cpp \
Joe Onoratoc4dfae52017-10-17 23:38:21 -070044 src/logd/LogEvent.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070045 src/logd/LogListener.cpp \
46 src/logd/LogReader.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000047 src/matchers/CombinationLogMatchingTracker.cpp \
48 src/matchers/matcher_util.cpp \
49 src/matchers/SimpleLogMatchingTracker.cpp \
Yao Chenb7041772017-10-20 16:59:25 -070050 src/metrics/MetricProducer.cpp \
Yao Chen5110bed2017-10-23 12:50:02 -070051 src/metrics/EventMetricProducer.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000052 src/metrics/CountMetricProducer.cpp \
Yao Chen729093d2017-10-16 10:33:26 -070053 src/metrics/DurationMetricProducer.cpp \
Yao Chen5154a372017-10-30 22:57:06 -070054 src/metrics/duration_helper/OringDurationTracker.cpp \
55 src/metrics/duration_helper/MaxDurationTracker.cpp \
Chenjie Yub3dda412017-10-24 13:41:59 -070056 src/metrics/ValueMetricProducer.cpp \
Yangster1d4d6862017-10-31 12:58:51 -070057 src/metrics/GaugeMetricProducer.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000058 src/metrics/MetricsManager.cpp \
59 src/metrics/metrics_manager_util.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -070060 src/packages/UidMap.cpp \
Primiano Tuccie4d44912018-01-10 12:14:50 +000061 src/perfetto/perfetto_config.proto \
yro947fbce2017-11-15 22:50:23 -080062 src/storage/StorageManager.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000063 src/StatsLogProcessor.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +000064 src/StatsService.cpp \
Bookatzc6977972018-01-16 16:55:05 -080065 src/subscriber/SubscriberReporter.cpp \
Yao Chend5aa01b32017-12-19 16:46:36 -080066 src/HashableDimensionKey.cpp \
Yao Chenb3561512017-11-21 18:07:17 -080067 src/guardrail/MemoryLeakTrackUtil.cpp \
68 src/guardrail/StatsdStats.cpp
Yao Chenab273e22017-09-06 12:53:50 -070069
Yao Chend54f9dd2017-10-17 17:37:48 +000070statsd_common_c_includes := \
David Chen1481fe12017-10-16 13:16:34 -070071 $(LOCAL_PATH)/src \
72 $(LOCAL_PATH)/../../libs/services/include
Yao Chenab273e22017-09-06 12:53:50 -070073
Yao Chend54f9dd2017-10-17 17:37:48 +000074statsd_common_aidl_includes := \
75 $(LOCAL_PATH)/../../core/java
Yao Chenab273e22017-09-06 12:53:50 -070076
Joe Onorato62c220b2017-11-18 20:32:56 -080077statsd_common_static_libraries := \
78 libplatformprotos
79
Yao Chend54f9dd2017-10-17 17:37:48 +000080statsd_common_shared_libraries := \
81 libbase \
82 libbinder \
83 libcutils \
84 libincident \
85 liblog \
86 libselinux \
87 libutils \
88 libservices \
Chenjie Yu5305e1d2017-10-31 13:49:36 -070089 libprotoutil \
90 libstatslog \
91 libhardware \
92 libhardware_legacy \
93 libhidlbase \
94 libhidltransport \
95 libhwbinder \
96 android.hardware.power@1.0 \
Yao Chen8d9989b2017-11-18 18:54:50 -080097 android.hardware.power@1.1 \
98 libmemunreachable
Yao Chenab273e22017-09-06 12:53:50 -070099
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700100# =========
101# statsd
102# =========
103
104include $(CLEAR_VARS)
105
106LOCAL_MODULE := statsd
107
108LOCAL_SRC_FILES := \
Yao Chend54f9dd2017-10-17 17:37:48 +0000109 $(statsd_common_src) \
110 src/main.cpp
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700111
112LOCAL_CFLAGS += \
113 -Wall \
114 -Werror \
115 -Wno-missing-field-initializers \
116 -Wno-unused-variable \
117 -Wno-unused-function \
118 -Wno-unused-parameter
119
120ifeq (debug,)
121 LOCAL_CFLAGS += \
122 -g -O0
123else
124 # optimize for size (protobuf glop can get big)
125 LOCAL_CFLAGS += \
126 -Os
127endif
Yao Chend54f9dd2017-10-17 17:37:48 +0000128LOCAL_PROTOC_OPTIMIZE_TYPE := lite-static
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700129
David Chen1481fe12017-10-16 13:16:34 -0700130LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
Yao Chend54f9dd2017-10-17 17:37:48 +0000131LOCAL_C_INCLUDES += $(statsd_common_c_includes)
Yao Chenab273e22017-09-06 12:53:50 -0700132
Joe Onorato62c220b2017-11-18 20:32:56 -0800133LOCAL_STATIC_LIBRARIES := $(statsd_common_static_libraries)
134
David Chend6896892017-10-25 11:49:03 -0700135LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
136 libgtest_prod
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700137
138LOCAL_MODULE_CLASS := EXECUTABLES
139
yro181c8352018-01-25 10:55:08 -0800140#LOCAL_INIT_RC := statsd.rc
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700141
142include $(BUILD_EXECUTABLE)
143
Yao Chend54f9dd2017-10-17 17:37:48 +0000144
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700145# ==============
146# statsd_test
147# ==============
148
149include $(CLEAR_VARS)
150
151LOCAL_MODULE := statsd_test
152LOCAL_COMPATIBILITY_SUITE := device-tests
153LOCAL_MODULE_TAGS := tests
154
David Chen1481fe12017-10-16 13:16:34 -0700155LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
Yao Chend54f9dd2017-10-17 17:37:48 +0000156LOCAL_C_INCLUDES += $(statsd_common_c_includes)
David Chendd896942017-09-26 11:44:40 -0700157
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700158LOCAL_CFLAGS += \
159 -Wall \
160 -Werror \
161 -Wno-missing-field-initializers \
162 -Wno-unused-variable \
163 -Wno-unused-function \
164 -Wno-unused-parameter
165
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700166LOCAL_SRC_FILES := \
Yao Chend54f9dd2017-10-17 17:37:48 +0000167 $(statsd_common_src) \
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700168 tests/AnomalyMonitor_test.cpp \
Yang Lu3eba6212017-10-25 19:54:45 -0700169 tests/anomaly/AnomalyTracker_test.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700170 tests/ConfigManager_test.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +0000171 tests/indexed_priority_queue_test.cpp \
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700172 tests/LogEntryMatcher_test.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +0000173 tests/LogReader_test.cpp \
Yangster-mac20877162017-12-22 17:19:39 -0800174 tests/LogEvent_test.cpp \
Yao Chend54f9dd2017-10-17 17:37:48 +0000175 tests/MetricsManager_test.cpp \
David Chend9269e22017-12-05 13:43:51 -0800176 tests/StatsLogProcessor_test.cpp \
Yao Chen5154a372017-10-30 22:57:06 -0700177 tests/UidMap_test.cpp \
Yao Chen967b2052017-11-07 16:36:43 -0800178 tests/condition/CombinationConditionTracker_test.cpp \
179 tests/condition/SimpleConditionTracker_test.cpp \
Yao Chen93fe3a32017-11-02 13:52:59 -0700180 tests/metrics/OringDurationTracker_test.cpp \
181 tests/metrics/MaxDurationTracker_test.cpp \
182 tests/metrics/CountMetricProducer_test.cpp \
Yangsterf2bee6f2017-11-29 12:01:05 -0800183 tests/metrics/DurationMetricProducer_test.cpp \
Chenjie Yu6736c892017-11-09 10:50:09 -0800184 tests/metrics/EventMetricProducer_test.cpp \
Yao Chenb3561512017-11-21 18:07:17 -0800185 tests/metrics/ValueMetricProducer_test.cpp \
Chenjie Yud9dfda72017-12-11 17:41:20 -0800186 tests/metrics/GaugeMetricProducer_test.cpp \
Yao Chend5aa01b32017-12-19 16:46:36 -0800187 tests/guardrail/StatsdStats_test.cpp \
Yangster-mac20877162017-12-22 17:19:39 -0800188 tests/metrics/metrics_test_helper.cpp \
189 tests/statsd_test_util.cpp \
190 tests/e2e/WakelockDuration_e2e_test.cpp \
Yangster-macb5bc7412018-01-06 23:17:45 -0800191 tests/e2e/MetricConditionLink_e2e_test.cpp \
Yangster-mac87718e22018-01-11 16:16:26 -0800192 tests/e2e/Attribution_e2e_test.cpp \
193 tests/e2e/GaugeMetric_e2e_test.cpp
Joe Onorato9fc9edf2017-10-15 20:08:52 -0700194
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700195LOCAL_STATIC_LIBRARIES := \
Joe Onorato62c220b2017-11-18 20:32:56 -0800196 $(statsd_common_static_libraries) \
Yao Chend54f9dd2017-10-17 17:37:48 +0000197 libgmock
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700198
Yao Chend54f9dd2017-10-17 17:37:48 +0000199LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries)
200
201LOCAL_PROTOC_OPTIMIZE_TYPE := lite
202
Joe Onorato62c220b2017-11-18 20:32:56 -0800203include $(BUILD_NATIVE_TEST)
204
Yao Chen459dee62018-01-10 16:47:05 -0800205##############################
206# stats proto static java lib
207##############################
208
209include $(CLEAR_VARS)
210LOCAL_MODULE := statsdprotolite
211
212LOCAL_SRC_FILES := \
213 src/stats_log.proto \
214 src/statsd_config.proto \
Primiano Tuccie4d44912018-01-10 12:14:50 +0000215 src/perfetto/perfetto_config.proto \
Yao Chen459dee62018-01-10 16:47:05 -0800216 src/atoms.proto
217
218LOCAL_PROTOC_OPTIMIZE_TYPE := lite
219
220LOCAL_STATIC_JAVA_LIBRARIES := \
221 platformprotoslite
222
223include $(BUILD_STATIC_JAVA_LIBRARY)
Joe Onorato62c220b2017-11-18 20:32:56 -0800224
Yao Chen48d75182018-01-23 09:40:48 -0800225##############################
226# statsd micro benchmark
227##############################
228
229include $(CLEAR_VARS)
230LOCAL_MODULE := statsd_benchmark
231
232LOCAL_SRC_FILES := $(statsd_common_src) \
233 benchmark/main.cpp \
234 benchmark/hello_world_benchmark.cpp \
235 benchmark/log_event_benchmark.cpp
236
237LOCAL_C_INCLUDES := $(statsd_common_c_includes)
238
239LOCAL_CFLAGS := -Wall \
240 -Werror \
241 -Wno-unused-parameter \
242 -Wno-unused-variable \
243 -Wno-unused-function \
244
245# Bug: http://b/29823425 Disable -Wvarargs for Clang update to r271374
246LOCAL_CFLAGS += -Wno-varargs
247
248LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
249
250LOCAL_STATIC_LIBRARIES := \
251 $(statsd_common_static_libraries)
252
253LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
254 libgtest_prod
255
256LOCAL_PROTOC_OPTIMIZE_TYPE := lite
257
258LOCAL_MODULE_TAGS := eng tests
259
260include $(BUILD_NATIVE_BENCHMARK)
261
262
Yao Chend54f9dd2017-10-17 17:37:48 +0000263statsd_common_src:=
264statsd_common_aidl_includes:=
265statsd_common_c_includes:=
Joe Onorato62c220b2017-11-18 20:32:56 -0800266statsd_common_static_libraries:=
267statsd_common_shared_libraries:=
Joe Onorato5dcbc6c2017-08-29 15:13:58 -0700268
Yao Chen1ff4f432017-11-16 17:01:40 -0800269
Yao Chen459dee62018-01-10 16:47:05 -0800270include $(call all-makefiles-under,$(LOCAL_PATH))