1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef SRC_ANDROID_STATS_STATSD_LOGGING_HELPER_H_ 18 #define SRC_ANDROID_STATS_STATSD_LOGGING_HELPER_H_ 19 20 #include <stdint.h> 21 #include <optional> 22 #include <string> 23 #include <vector> 24 25 #include "src/android_stats/perfetto_atoms.h" 26 27 namespace perfetto { 28 namespace android_stats { 29 30 // Functions in this file are only active on built in the Android 31 // tree. On other platforms (including Android standalone and Chromium 32 // on Android) these functions are a noop. 33 34 // Logs the upload event to statsd if built in the Android tree. 35 void MaybeLogUploadEvent(PerfettoStatsdAtom atom, 36 int64_t uuid_lsb, 37 int64_t uuid_msb, 38 const std::string& trigger_name = ""); 39 40 // Logs the trigger events to statsd if built in the Android tree. 41 void MaybeLogTriggerEvent(PerfettoTriggerAtom atom, const std::string& trigger); 42 43 // Logs the trigger events to statsd if built in the Android tree. 44 void MaybeLogTriggerEvents(PerfettoTriggerAtom atom, 45 const std::vector<std::string>& triggers); 46 47 } // namespace android_stats 48 } // namespace perfetto 49 50 #endif // SRC_ANDROID_STATS_STATSD_LOGGING_HELPER_H_ 51