1 /****************************************************************************** 2 * 3 * Copyright 2018 Google, Inc. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19 #include <bluetooth/log.h> 20 21 #include "common/metrics.h" 22 #include "types/raw_address.h" 23 24 // TODO(b/369381361) Enfore -Wmissing-prototypes 25 #pragma GCC diagnostic ignored "-Wmissing-prototypes" 26 27 namespace bluetooth { 28 29 namespace common { 30 Update(const A2dpSessionMetrics &)31 void A2dpSessionMetrics::Update(const A2dpSessionMetrics& /* metrics */) {} 32 operator ==(const A2dpSessionMetrics &) const33 bool A2dpSessionMetrics::operator==(const A2dpSessionMetrics& /* rhs */) const { 34 log::info("UNIMPLEMENTED"); 35 return true; 36 } 37 38 struct BluetoothMetricsLogger::impl { implbluetooth::common::BluetoothMetricsLogger::impl39 impl(size_t /* max_bluetooth_session */, size_t /* max_pair_event */, size_t /* max_wake_event */, 40 size_t /* max_scan_event */) {} 41 }; 42 BluetoothMetricsLogger()43 BluetoothMetricsLogger::BluetoothMetricsLogger() 44 : pimpl_(new impl(kMaxNumBluetoothSession, kMaxNumPairEvent, kMaxNumWakeEvent, 45 kMaxNumScanEvent)) {} 46 LogPairEvent(uint32_t,uint64_t,uint32_t,device_type_t)47 void BluetoothMetricsLogger::LogPairEvent(uint32_t /* disconnect_reason */, 48 uint64_t /* timestamp_ms */, uint32_t /* device_class */, 49 device_type_t /* device_type */) {} 50 LogWakeEvent(wake_event_type_t,const std::string &,const std::string &,uint64_t)51 void BluetoothMetricsLogger::LogWakeEvent(wake_event_type_t /* type */, 52 const std::string& /* requestor */, 53 const std::string& /* name */, 54 uint64_t /* timestamp_ms */) {} 55 LogScanEvent(bool,const std::string &,scan_tech_t,uint32_t,uint64_t)56 void BluetoothMetricsLogger::LogScanEvent(bool /* start */, const std::string& /* initiator */, 57 scan_tech_t /* type */, uint32_t /* results */, 58 uint64_t /* timestamp_ms */) {} 59 LogBluetoothSessionStart(connection_tech_t,uint64_t)60 void BluetoothMetricsLogger::LogBluetoothSessionStart(connection_tech_t /* connection_tech_type */, 61 uint64_t /* timestamp_ms */) {} 62 LogBluetoothSessionEnd(disconnect_reason_t,uint64_t)63 void BluetoothMetricsLogger::LogBluetoothSessionEnd(disconnect_reason_t /* disconnect_reason */, 64 uint64_t /* timestamp_ms */) {} 65 LogBluetoothSessionDeviceInfo(uint32_t,device_type_t)66 void BluetoothMetricsLogger::LogBluetoothSessionDeviceInfo(uint32_t /* device_class */, 67 device_type_t /* device_type */) {} 68 LogA2dpSession(const A2dpSessionMetrics &)69 void BluetoothMetricsLogger::LogA2dpSession(const A2dpSessionMetrics& /* a2dp_session_metrics */) {} 70 LogHeadsetProfileRfcConnection(tBTA_SERVICE_ID)71 void BluetoothMetricsLogger::LogHeadsetProfileRfcConnection(tBTA_SERVICE_ID /* service_id */) {} 72 WriteString(std::string *)73 void BluetoothMetricsLogger::WriteString(std::string* /* serialized */) {} 74 WriteBase64String(std::string *)75 void BluetoothMetricsLogger::WriteBase64String(std::string* /* serialized */) {} 76 WriteBase64(int)77 void BluetoothMetricsLogger::WriteBase64(int /* fd */) {} 78 CutoffSession()79 void BluetoothMetricsLogger::CutoffSession() {} 80 Build()81 void BluetoothMetricsLogger::Build() {} 82 ResetSession()83 void BluetoothMetricsLogger::ResetSession() {} 84 ResetLog()85 void BluetoothMetricsLogger::ResetLog() {} 86 Reset()87 void BluetoothMetricsLogger::Reset() {} 88 LogClassicPairingEvent(const RawAddress &,uint16_t,uint32_t,uint16_t,uint16_t,uint16_t,int64_t)89 void LogClassicPairingEvent(const RawAddress& /* address */, uint16_t /* handle */, 90 uint32_t /* hci_cmd */, uint16_t /* hci_event */, 91 uint16_t /* cmd_status */, uint16_t /* reason_code */, 92 int64_t /* event_value */) {} 93 LogSocketConnectionState(const RawAddress &,int,int,android::bluetooth::SocketConnectionstateEnum,int64_t,int64_t,int,int,android::bluetooth::SocketRoleEnum)94 void LogSocketConnectionState(const RawAddress& /* address */, int /* port */, int /* type */, 95 android::bluetooth::SocketConnectionstateEnum /* connection_state */, 96 int64_t /* tx_bytes */, int64_t /* rx_bytes */, int /* uid */, 97 int /* server_port */, 98 android::bluetooth::SocketRoleEnum /* socket_role */) {} 99 LogHciTimeoutEvent(uint32_t)100 void LogHciTimeoutEvent(uint32_t /* hci_cmd */) {} 101 LogA2dpAudioUnderrunEvent(const RawAddress &,uint64_t,int)102 void LogA2dpAudioUnderrunEvent(const RawAddress& /* address */, 103 uint64_t /* encoding_interval_millis */, 104 int /* num_missing_pcm_bytes */) {} 105 LogA2dpAudioOverrunEvent(const RawAddress &,uint64_t,int,int,int)106 void LogA2dpAudioOverrunEvent(const RawAddress& /* address */, 107 uint64_t /* encoding_interval_millis */, 108 int /* num_dropped_buffers */, int /* num_dropped_encoded_frames */, 109 int /* num_dropped_encoded_bytes */) {} 110 LogA2dpPlaybackEvent(const RawAddress &,int,int)111 void LogA2dpPlaybackEvent(const RawAddress& /* address */, int /* playback_state */, 112 int /* audio_coding_mode */) {} 113 LogBluetoothHalCrashReason(const RawAddress &,uint32_t,uint32_t)114 void LogBluetoothHalCrashReason(const RawAddress& /* address */, uint32_t /* error_code */, 115 uint32_t /* vendor_error_code */) {} 116 LogReadRssiResult(const RawAddress &,uint16_t,uint32_t,int8_t)117 void LogReadRssiResult(const RawAddress& /* address */, uint16_t /* handle */, 118 uint32_t /* cmd_status */, int8_t /* rssi */) {} 119 LogReadFailedContactCounterResult(const RawAddress &,uint16_t,uint32_t,int32_t)120 void LogReadFailedContactCounterResult(const RawAddress& /* address */, uint16_t /* handle */, 121 uint32_t /* cmd_status */, 122 int32_t /* failed_contact_counter */) {} 123 LogReadTxPowerLevelResult(const RawAddress &,uint16_t,uint32_t,int32_t)124 void LogReadTxPowerLevelResult(const RawAddress& /* address */, uint16_t /* handle */, 125 uint32_t /* cmd_status */, int32_t /* transmit_power_level */) {} 126 LogRemoteVersionInfo(uint16_t,uint8_t,uint8_t,uint16_t,uint16_t)127 void LogRemoteVersionInfo(uint16_t /* handle */, uint8_t /* status */, uint8_t /* version */, 128 uint16_t /* manufacturer_name */, uint16_t /* subversion */) {} 129 LogLinkLayerConnectionEvent(const RawAddress *,uint32_t,android::bluetooth::DirectionEnum,uint16_t,uint32_t,uint16_t,uint16_t,uint16_t,uint16_t)130 void LogLinkLayerConnectionEvent(const RawAddress* /* address */, uint32_t /* connection_handle */, 131 android::bluetooth::DirectionEnum /* direction */, 132 uint16_t /* link_type */, uint32_t /* hci_cmd */, 133 uint16_t /* hci_event */, uint16_t /* hci_ble_event */, 134 uint16_t /* cmd_status */, uint16_t /* reason_code */) {} 135 LogManufacturerInfo(const RawAddress &,android::bluetooth::DeviceInfoSrcEnum,const std::string &,std::string &,const std::string &,const std::string &,const std::string &)136 void LogManufacturerInfo(const RawAddress& /* address */, 137 android::bluetooth::DeviceInfoSrcEnum /* source_type */, 138 const std::string& /* source_name */, 139 /* const */ std::string& /* manufacturer */, 140 const std::string& /* model */, const std::string& /* hardware_version */, 141 const std::string& /* software_version */) {} 142 LogSdpAttribute(const RawAddress &,uint16_t,uint16_t,size_t,const char *)143 void LogSdpAttribute(const RawAddress& /* address */, uint16_t /* protocol_uuid */, 144 uint16_t /* attribute_id */, size_t /* attribute_size */, 145 const char* /* attribute_value */) {} 146 LogSmpPairingEvent(const RawAddress &,uint8_t,android::bluetooth::DirectionEnum,uint8_t)147 void LogSmpPairingEvent(const RawAddress& /* address */, uint8_t /* smp_cmd */, 148 android::bluetooth::DirectionEnum /* direction */, 149 uint8_t /* smp_fail_reason */) {} 150 LogLeAudioConnectionSessionReported(int32_t,int32_t,int64_t,const std::vector<int64_t> &,const std::vector<int64_t> &,const std::vector<int64_t> &,const std::vector<int32_t> &,const std::vector<int32_t> &,const std::vector<RawAddress> &,const std::vector<int64_t> &,const std::vector<int64_t> &,const std::vector<int32_t> &)151 void LogLeAudioConnectionSessionReported( 152 int32_t /* group_size */, int32_t /* group_metric_id */, 153 int64_t /* connection_duration_nanos */, 154 const std::vector<int64_t>& /* device_connecting_offset_nanos */, 155 const std::vector<int64_t>& /* device_connected_offset_nanos */, 156 const std::vector<int64_t>& /* device_connection_duration_nanos */, 157 const std::vector<int32_t>& /* device_connection_status */, 158 const std::vector<int32_t>& /* device_disconnection_status */, 159 const std::vector<RawAddress>& /* device_address */, 160 const std::vector<int64_t>& /* streaming_offset_nanos */, 161 const std::vector<int64_t>& /* streaming_duration_nanos */, 162 const std::vector<int32_t>& /* streaming_context_type */) {} 163 LogLeAudioBroadcastSessionReported(int64_t)164 void LogLeAudioBroadcastSessionReported(int64_t /* duration_nanos */) {} 165 166 } // namespace common 167 168 } // namespace bluetooth 169