Loading system/btif/include/btif_metrics_logging.h +7 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,13 @@ void log_a2dp_audio_overrun_event(const RawAddress& address, void log_a2dp_playback_event(const RawAddress& address, int playback_state, int audio_coding_mode); void log_a2dp_session_metrics_event( const RawAddress& address, int64_t audio_duration_ms, int media_timer_min_ms, int media_timer_max_ms, int media_timer_avg_ms, int total_scheduling_count, int buffer_overruns_max_count, int buffer_overruns_total, float buffer_underruns_average, int buffer_underruns_count, int64_t codec_index, bool is_a2dp_offload); void log_read_rssi_result(const RawAddress& address, uint16_t handle, uint32_t cmd_status, int8_t rssi); Loading system/btif/src/btif_a2dp_source.cc +10 −0 Original line number Diff line number Diff line Loading @@ -1359,6 +1359,16 @@ static void btif_a2dp_source_update_metrics(void) { } } BluetoothMetricsLogger::GetInstance()->LogA2dpSession(metrics); if (metrics.audio_duration_ms != -1) { log_a2dp_session_metrics_event( btif_av_source_active_peer(), metrics.audio_duration_ms, metrics.media_timer_min_ms, metrics.media_timer_max_ms, metrics.media_timer_avg_ms, metrics.total_scheduling_count, metrics.buffer_overruns_max_count, metrics.buffer_overruns_total, metrics.buffer_underruns_average, metrics.buffer_underruns_count, metrics.codec_index, metrics.is_a2dp_offload); } } void btif_a2dp_source_set_dynamic_audio_buffer_size( Loading system/btif/src/btif_metrics_logging.cc +13 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,19 @@ void log_a2dp_playback_event(const RawAddress& address, int playback_state, audio_coding_mode); } void log_a2dp_session_metrics_event( const RawAddress& address, int64_t audio_duration_ms, int media_timer_min_ms, int media_timer_max_ms, int media_timer_avg_ms, int total_scheduling_count, int buffer_overruns_max_count, int buffer_overruns_total, float buffer_underruns_average, int buffer_underruns_count, int64_t codec_index, bool is_a2dp_offload) { bluetooth::shim::LogMetricA2dpSessionMetricsEvent( address, audio_duration_ms, media_timer_min_ms, media_timer_max_ms, media_timer_avg_ms, total_scheduling_count, buffer_overruns_max_count, buffer_overruns_total, buffer_underruns_average, buffer_underruns_count, codec_index, is_a2dp_offload); } void log_read_rssi_result(const RawAddress& address, uint16_t handle, uint32_t cmd_status, int8_t rssi) { bluetooth::shim::LogMetricReadRssiResult(address, handle, cmd_status, rssi); Loading system/gd/os/android/metrics.cc +14 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,20 @@ void LogMetricA2dpPlaybackEvent(const Address& address, int playback_state, int } } void LogMetricA2dpSessionMetricsEvent( const hci::Address& /* address */, int64_t /* audio_duration_ms */, int /* media_timer_min_ms */, int /* media_timer_max_ms */, int /* media_timer_avg_ms */, int /* total_scheduling_count */, int /* buffer_overruns_max_count */, int /* buffer_overruns_total */, float /* buffer_underruns_average */, int /* buffer_underruns_count */, int64_t /* codec_index */, bool /* is_a2dp_offload */) {} void LogMetricHfpPacketLossStats( const Address& /* address */, int /* num_decoded_frames */, Loading system/gd/os/chromeos/metrics.cc +53 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,59 @@ void LogMetricSmpPairingEvent( void LogMetricA2dpPlaybackEvent(const Address& address, int playback_state, int audio_coding_mode) { } void LogMetricA2dpSessionMetricsEvent( const hci::Address& address, int64_t audio_duration_ms, int media_timer_min_ms, int media_timer_max_ms, int media_timer_avg_ms, int total_scheduling_count, int buffer_overruns_max_count, int buffer_overruns_total, float buffer_underruns_average, int buffer_underruns_count, int64_t codec_index, bool is_a2dp_offload) { std::string boot_id; std::string addr_string; if (!metrics::GetBootId(&boot_id)) return; addr_string = address.ToString(); LOG_DEBUG( "A2dpSessionMetrics: %s, %s, %lld, %d, %d, %d, %d, %d, %d, %f, %d, %lld, %d", boot_id.c_str(), addr_string.c_str(), (long long int)audio_duration_ms, media_timer_min_ms, media_timer_max_ms, media_timer_avg_ms, total_scheduling_count, buffer_overruns_max_count, buffer_overruns_total, buffer_underruns_average, buffer_underruns_count, codec_index, is_a2dp_offload); ::metrics::structured::events::bluetooth::BluetoothA2dpSession() .SetBootId(boot_id) .SetDeviceId(addr_string) .SetAudioDuration(audio_duration_ms) .SetMediaTimerMin(media_timer_min_ms) .SetMediaTimerMax(media_timer_max_ms) .SetMediaTimerAvg(media_timer_avg_ms) .SetTotalSchedulingCount(total_scheduling_count) .SetBufferOverrunsMaxCount(buffer_overruns_max_count) .SetBufferOverrunsTotal(buffer_overruns_total) .SetBufferUnderrunsAvg(buffer_underruns_average) .SetBufferUnderrunsCount(buffer_underruns_count) .SetCodecIndex(codec_index) .SetIsA2dpOffload(is_a2dp_offload) .Record(); } void LogMetricBluetoothHalCrashReason( const Address& address, uint32_t error_code, uint32_t vendor_error_code) {} Loading Loading
system/btif/include/btif_metrics_logging.h +7 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,13 @@ void log_a2dp_audio_overrun_event(const RawAddress& address, void log_a2dp_playback_event(const RawAddress& address, int playback_state, int audio_coding_mode); void log_a2dp_session_metrics_event( const RawAddress& address, int64_t audio_duration_ms, int media_timer_min_ms, int media_timer_max_ms, int media_timer_avg_ms, int total_scheduling_count, int buffer_overruns_max_count, int buffer_overruns_total, float buffer_underruns_average, int buffer_underruns_count, int64_t codec_index, bool is_a2dp_offload); void log_read_rssi_result(const RawAddress& address, uint16_t handle, uint32_t cmd_status, int8_t rssi); Loading
system/btif/src/btif_a2dp_source.cc +10 −0 Original line number Diff line number Diff line Loading @@ -1359,6 +1359,16 @@ static void btif_a2dp_source_update_metrics(void) { } } BluetoothMetricsLogger::GetInstance()->LogA2dpSession(metrics); if (metrics.audio_duration_ms != -1) { log_a2dp_session_metrics_event( btif_av_source_active_peer(), metrics.audio_duration_ms, metrics.media_timer_min_ms, metrics.media_timer_max_ms, metrics.media_timer_avg_ms, metrics.total_scheduling_count, metrics.buffer_overruns_max_count, metrics.buffer_overruns_total, metrics.buffer_underruns_average, metrics.buffer_underruns_count, metrics.codec_index, metrics.is_a2dp_offload); } } void btif_a2dp_source_set_dynamic_audio_buffer_size( Loading
system/btif/src/btif_metrics_logging.cc +13 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,19 @@ void log_a2dp_playback_event(const RawAddress& address, int playback_state, audio_coding_mode); } void log_a2dp_session_metrics_event( const RawAddress& address, int64_t audio_duration_ms, int media_timer_min_ms, int media_timer_max_ms, int media_timer_avg_ms, int total_scheduling_count, int buffer_overruns_max_count, int buffer_overruns_total, float buffer_underruns_average, int buffer_underruns_count, int64_t codec_index, bool is_a2dp_offload) { bluetooth::shim::LogMetricA2dpSessionMetricsEvent( address, audio_duration_ms, media_timer_min_ms, media_timer_max_ms, media_timer_avg_ms, total_scheduling_count, buffer_overruns_max_count, buffer_overruns_total, buffer_underruns_average, buffer_underruns_count, codec_index, is_a2dp_offload); } void log_read_rssi_result(const RawAddress& address, uint16_t handle, uint32_t cmd_status, int8_t rssi) { bluetooth::shim::LogMetricReadRssiResult(address, handle, cmd_status, rssi); Loading
system/gd/os/android/metrics.cc +14 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,20 @@ void LogMetricA2dpPlaybackEvent(const Address& address, int playback_state, int } } void LogMetricA2dpSessionMetricsEvent( const hci::Address& /* address */, int64_t /* audio_duration_ms */, int /* media_timer_min_ms */, int /* media_timer_max_ms */, int /* media_timer_avg_ms */, int /* total_scheduling_count */, int /* buffer_overruns_max_count */, int /* buffer_overruns_total */, float /* buffer_underruns_average */, int /* buffer_underruns_count */, int64_t /* codec_index */, bool /* is_a2dp_offload */) {} void LogMetricHfpPacketLossStats( const Address& /* address */, int /* num_decoded_frames */, Loading
system/gd/os/chromeos/metrics.cc +53 −0 Original line number Diff line number Diff line Loading @@ -187,6 +187,59 @@ void LogMetricSmpPairingEvent( void LogMetricA2dpPlaybackEvent(const Address& address, int playback_state, int audio_coding_mode) { } void LogMetricA2dpSessionMetricsEvent( const hci::Address& address, int64_t audio_duration_ms, int media_timer_min_ms, int media_timer_max_ms, int media_timer_avg_ms, int total_scheduling_count, int buffer_overruns_max_count, int buffer_overruns_total, float buffer_underruns_average, int buffer_underruns_count, int64_t codec_index, bool is_a2dp_offload) { std::string boot_id; std::string addr_string; if (!metrics::GetBootId(&boot_id)) return; addr_string = address.ToString(); LOG_DEBUG( "A2dpSessionMetrics: %s, %s, %lld, %d, %d, %d, %d, %d, %d, %f, %d, %lld, %d", boot_id.c_str(), addr_string.c_str(), (long long int)audio_duration_ms, media_timer_min_ms, media_timer_max_ms, media_timer_avg_ms, total_scheduling_count, buffer_overruns_max_count, buffer_overruns_total, buffer_underruns_average, buffer_underruns_count, codec_index, is_a2dp_offload); ::metrics::structured::events::bluetooth::BluetoothA2dpSession() .SetBootId(boot_id) .SetDeviceId(addr_string) .SetAudioDuration(audio_duration_ms) .SetMediaTimerMin(media_timer_min_ms) .SetMediaTimerMax(media_timer_max_ms) .SetMediaTimerAvg(media_timer_avg_ms) .SetTotalSchedulingCount(total_scheduling_count) .SetBufferOverrunsMaxCount(buffer_overruns_max_count) .SetBufferOverrunsTotal(buffer_overruns_total) .SetBufferUnderrunsAvg(buffer_underruns_average) .SetBufferUnderrunsCount(buffer_underruns_count) .SetCodecIndex(codec_index) .SetIsA2dpOffload(is_a2dp_offload) .Record(); } void LogMetricBluetoothHalCrashReason( const Address& address, uint32_t error_code, uint32_t vendor_error_code) {} Loading