diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto index d78de75a60bdc..49cc3c4c059e6 100644 --- a/cmds/statsd/src/atoms.proto +++ b/cmds/statsd/src/atoms.proto @@ -340,6 +340,8 @@ message Atom { PerfettoUploaded perfetto_uploaded = 229 [(log_from_module) = "perfetto"]; VmsClientConnectionStateChanged vms_client_connection_state_changed = 230; + GpsLocationStatusReported gps_location_status_reported = 231; + GpsTimeToFirstFixReported gps_time_to_first_fix_reported = 232; } // Pulled events will start at field 10000. @@ -734,6 +736,27 @@ message GpsSignalQualityChanged { optional android.server.location.GpsSignalQualityEnum level = 1; } +/** + * Gps location status report + * + * Logged from: + * /frameworks/base/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java + */ +message GpsLocationStatusReported { + // Boolean stating if location was acquired + optional bool location_success = 1; +} + +/** + * Gps log time to first fix report + * + * Logged from: + * /frameworks/base/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java + */ +message GpsTimeToFirstFixReported { + // int32 reporting the time to first fix in milliseconds + optional int32 time_to_first_fix_millis = 1; +} /** * Logs when a sync manager sync state changes. diff --git a/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java b/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java index e0bff74fd5883..c20dc615529b1 100644 --- a/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java +++ b/location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java @@ -114,6 +114,7 @@ public class GnssMetrics { * Logs the status of a location report received from the HAL */ public void logReceivedLocationStatus(boolean isSuccessful) { + StatsLog.write(StatsLog.GPS_LOCATION_STATUS_REPORTED, isSuccessful); if (!isSuccessful) { mLocationFailureStatistics.addItem(1.0); return; @@ -130,6 +131,7 @@ public class GnssMetrics { DEFAULT_TIME_BETWEEN_FIXES_MILLISECS, desiredTimeBetweenFixesMilliSeconds)) - 1; if (numReportMissed > 0) { for (int i = 0; i < numReportMissed; i++) { + StatsLog.write(StatsLog.GPS_LOCATION_STATUS_REPORTED, false); mLocationFailureStatistics.addItem(1.0); } } @@ -140,6 +142,7 @@ public class GnssMetrics { */ public void logTimeToFirstFixMilliSecs(int timeToFirstFixMilliSeconds) { mTimeToFirstFixSecStatistics.addItem((double) (timeToFirstFixMilliSeconds / 1000)); + StatsLog.write(StatsLog.GPS_TIME_TO_FIRST_FIX_REPORTED, timeToFirstFixMilliSeconds); } /**