public class JournalingUsageTracker extends UsageTracker
UsageTracker.getInstance()
to get access to the UsageTracker. This will automatically be set to the correct instance based
on the user choosing to opt-in to reporting usage analytics to Google or not.
Spool files are binary files protobuf using delimited streams https://developers.google.com/protocol-buffers/docs/techniques#streaming
For unittests please use TestUsageTracker. Only for integration tests that need .trk files to be generated, use the JournalingUsageTracker.
mStartTimeMs, sDateProvider| Constructor and Description |
|---|
JournalingUsageTracker(com.android.tools.analytics.AnalyticsSettings analyticsSettings,
java.util.concurrent.ScheduledExecutorService scheduler,
java.nio.file.Path spoolLocation)
Creates an instance of JournalingUsageTracker.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the UsageTracker (closes current tracker file, disables scheduling of timeout &
disables new logs from
being posted).
|
void |
logDetails(com.google.wireless.android.play.playlog.proto.ClientAnalytics.LogEvent.Builder logEvent)
Logs usage data provided in the @{link ClientAnalytics.LogEvent}.
|
void |
setMaxJournalTime(long duration,
java.util.concurrent.TimeUnit unit)
Sets a timeout at which point logs need to be flushed.
|
cleanAfterTesting, getAnalyticsSettings, getInstance, getMaxJournalSize, getMaxJournalTime, getScheduler, getVersion, initialize, log, setInstanceForTest, setMaxJournalSize, setVersion, updateSettingsAndTrackerpublic JournalingUsageTracker(com.android.tools.analytics.AnalyticsSettings analyticsSettings,
java.util.concurrent.ScheduledExecutorService scheduler,
java.nio.file.Path spoolLocation)
spoolLocation - location to use for spool files.scheduler - used for scheduling writing logs and closing & starting new files on
timeout/size limits.public void logDetails(@NonNull
com.google.wireless.android.play.playlog.proto.ClientAnalytics.LogEvent.Builder logEvent)
UsageTrackerUsageTracker.logDetails(com.google.wireless.android.play.playlog.proto.ClientAnalytics.LogEvent.Builder) instead.logDetails in class UsageTrackerpublic void close()
throws java.lang.Exception
java.lang.Exceptionpublic void setMaxJournalTime(long duration,
java.util.concurrent.TimeUnit unit)
UsageTrackersetMaxJournalTime in class UsageTracker