Package backtraceio.library.services
Class BacktraceMetrics
- java.lang.Object
-
- backtraceio.library.services.BacktraceMetrics
-
-
Field Summary
Fields Modifier and Type Field Description protected android.content.Context
context
The application contextprotected java.util.Map<java.lang.String,java.lang.Object>
customReportAttributes
Custom attributes provided by the user to BacktraceBasestatic java.lang.String
defaultBaseUrl
Default submission urlstatic int
defaultTimeBetweenRetriesMs
Default time between retries in millisecondsstatic int
defaultTimeIntervalInMin
Default time interval in minstatic long
defaultTimeIntervalMs
Default time interval in millisecondsjava.lang.String
defaultUniqueEventName
Default unique event name that will be generated on app startupstatic int
maxNumberOfAttempts
Maximum number of attemptsstatic int
maxTimeBetweenRetriesMs
Maximum time between requests in millisecondsprotected BacktraceMetricsSettings
settings
Backtrace metrics settingsSummedEventsHandler
summedEventsHandler
Summed Events handlerUniqueEventsHandler
uniqueEventsHandler
Unique Events handler
-
Constructor Summary
Constructors Constructor Description BacktraceMetrics(android.content.Context context, java.util.Map<java.lang.String,java.lang.Object> customReportAttributes, Api backtraceApi, BacktraceCredentials credentials)
Create new Backtrace metrics instance
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addSummedEvent(java.lang.String metricGroupName)
Add a summed event to the next Backtrace Metrics requestboolean
addSummedEvent(java.lang.String metricGroupName, java.util.Map<java.lang.String,java.lang.Object> attributes)
Add a summed event to the next Backtrace Metrics requestboolean
addUniqueEvent(java.lang.String attributeName)
Add a unique event to the next Backtrace Metrics requestboolean
addUniqueEvent(java.lang.String attributeName, java.util.Map<java.lang.String,java.lang.Object> attributes)
Add a unique event to the next Backtrace Metrics requestint
count()
Get number of stored eventsprotected java.util.Map<java.lang.String,java.lang.Object>
createLocalAttributes(java.util.Map<java.lang.String,java.lang.Object> attributes)
void
enable()
Enables metrics with BacktraceClient's credentials.void
enable(BacktraceMetricsSettings settings)
Enable metricsvoid
enable(BacktraceMetricsSettings settings, java.lang.String uniqueEventName)
Enable metricsvoid
enable(java.lang.String defaultUniqueEventName)
Enables metrics with BacktraceClient's credentials and overrides default unique event name.java.lang.String
getBaseUrl()
protected java.lang.String
getStartupUniqueEventName()
java.util.concurrent.ConcurrentLinkedDeque<SummedEvent>
getSummedEvents()
Get the pending list of summed eventsjava.util.concurrent.ConcurrentLinkedDeque<UniqueEvent>
getUniqueEvents()
Get the pending list of unique eventsvoid
send()
Send all outgoing messages (unique and summed) currently queuedvoid
sendStartupEvent()
Send startup event to Backtracevoid
setMaximumNumberOfEvents(int maximumNumberOfEvents)
Set the maximum number of events to store.void
setStartupUniqueEventName(java.lang.String startupUniqueEventName)
void
setSummedEventsOnServerResponse(EventsOnServerResponseEventListener callback)
Custom callback to be executed on server response to a summed events submission requestvoid
setSummedEventsRequestHandler(EventsRequestHandler eventsRequestHandler)
Custom request handler for sending Backtrace summed events to servervoid
setUniqueEventsOnServerResponse(EventsOnServerResponseEventListener callback)
Custom callback to be executed on server response to a unique events submission requestvoid
setUniqueEventsRequestHandler(EventsRequestHandler eventsRequestHandler)
Custom request handler for sending Backtrace unique events to server
-
-
-
Field Detail
-
defaultTimeIntervalInMin
public static final int defaultTimeIntervalInMin
Default time interval in min- See Also:
- Constant Field Values
-
defaultTimeIntervalMs
public static final long defaultTimeIntervalMs
Default time interval in milliseconds- See Also:
- Constant Field Values
-
maxNumberOfAttempts
public static final int maxNumberOfAttempts
Maximum number of attempts- See Also:
- Constant Field Values
-
defaultTimeBetweenRetriesMs
public static final int defaultTimeBetweenRetriesMs
Default time between retries in milliseconds- See Also:
- Constant Field Values
-
maxTimeBetweenRetriesMs
public static final int maxTimeBetweenRetriesMs
Maximum time between requests in milliseconds- See Also:
- Constant Field Values
-
defaultBaseUrl
public static final java.lang.String defaultBaseUrl
Default submission url- See Also:
- Constant Field Values
-
defaultUniqueEventName
public final java.lang.String defaultUniqueEventName
Default unique event name that will be generated on app startup- See Also:
- Constant Field Values
-
uniqueEventsHandler
public UniqueEventsHandler uniqueEventsHandler
Unique Events handler
-
summedEventsHandler
public SummedEventsHandler summedEventsHandler
Summed Events handler
-
customReportAttributes
protected java.util.Map<java.lang.String,java.lang.Object> customReportAttributes
Custom attributes provided by the user to BacktraceBase
-
context
protected android.content.Context context
The application context
-
settings
protected BacktraceMetricsSettings settings
Backtrace metrics settings
-
-
Constructor Detail
-
BacktraceMetrics
public BacktraceMetrics(android.content.Context context, @NotNull java.util.Map<java.lang.String,java.lang.Object> customReportAttributes, Api backtraceApi, BacktraceCredentials credentials)
Create new Backtrace metrics instance- Parameters:
context
- Application contextcustomReportAttributes
- Backtrace client custom report attributes (must be nonnull)backtraceApi
- Backtrace API for metrics sending
-
-
Method Detail
-
enable
public void enable()
Enables metrics with BacktraceClient's credentials.
-
enable
public void enable(java.lang.String defaultUniqueEventName)
Enables metrics with BacktraceClient's credentials and overrides default unique event name.
-
enable
public void enable(BacktraceMetricsSettings settings)
Enable metrics
-
enable
public void enable(BacktraceMetricsSettings settings, java.lang.String uniqueEventName)
Description copied from interface:Metrics
Enable metrics
-
getStartupUniqueEventName
protected java.lang.String getStartupUniqueEventName()
-
setStartupUniqueEventName
public void setStartupUniqueEventName(java.lang.String startupUniqueEventName)
-
getBaseUrl
public java.lang.String getBaseUrl()
-
sendStartupEvent
public void sendStartupEvent()
Send startup event to Backtrace- Specified by:
sendStartupEvent
in interfaceMetrics
-
send
public void send()
Send all outgoing messages (unique and summed) currently queued
-
addUniqueEvent
public boolean addUniqueEvent(java.lang.String attributeName)
Add a unique event to the next Backtrace Metrics request- Specified by:
addUniqueEvent
in interfaceMetrics
- Parameters:
attributeName
- Attribute name- Returns:
- true if success
-
addUniqueEvent
public boolean addUniqueEvent(java.lang.String attributeName, java.util.Map<java.lang.String,java.lang.Object> attributes)
Add a unique event to the next Backtrace Metrics request- Specified by:
addUniqueEvent
in interfaceMetrics
- Parameters:
attributeName
- Attribute nameattributes
- Event attributes- Returns:
- true if success
-
setMaximumNumberOfEvents
public void setMaximumNumberOfEvents(int maximumNumberOfEvents)
Set the maximum number of events to store. Once the maximum is hit we will send events to the API- Specified by:
setMaximumNumberOfEvents
in interfaceMetrics
- Parameters:
maximumNumberOfEvents
- Maximum number of events to store before sending events to the API
-
count
public int count()
Get number of stored events
-
addSummedEvent
public boolean addSummedEvent(java.lang.String metricGroupName)
Add a summed event to the next Backtrace Metrics request- Specified by:
addSummedEvent
in interfaceMetrics
- Parameters:
metricGroupName
-- Returns:
- true if success
- See Also:
send()
-
addSummedEvent
public boolean addSummedEvent(java.lang.String metricGroupName, java.util.Map<java.lang.String,java.lang.Object> attributes)
Add a summed event to the next Backtrace Metrics request- Specified by:
addSummedEvent
in interfaceMetrics
- Parameters:
metricGroupName
-attributes
-- Returns:
- true if success
- See Also:
send()
-
getUniqueEvents
public java.util.concurrent.ConcurrentLinkedDeque<UniqueEvent> getUniqueEvents()
Description copied from interface:Metrics
Get the pending list of unique events- Specified by:
getUniqueEvents
in interfaceMetrics
- Returns:
- list of pending unique events to send
-
getSummedEvents
public java.util.concurrent.ConcurrentLinkedDeque<SummedEvent> getSummedEvents()
Description copied from interface:Metrics
Get the pending list of summed events- Specified by:
getSummedEvents
in interfaceMetrics
- Returns:
- list of pending summed events to send
-
setUniqueEventsRequestHandler
public void setUniqueEventsRequestHandler(EventsRequestHandler eventsRequestHandler)
Custom request handler for sending Backtrace unique events to server- Specified by:
setUniqueEventsRequestHandler
in interfaceMetrics
- Parameters:
eventsRequestHandler
- object with method which will be executed
-
setSummedEventsRequestHandler
public void setSummedEventsRequestHandler(EventsRequestHandler eventsRequestHandler)
Custom request handler for sending Backtrace summed events to server- Specified by:
setSummedEventsRequestHandler
in interfaceMetrics
- Parameters:
eventsRequestHandler
- object with method which will be executed
-
createLocalAttributes
protected java.util.Map<java.lang.String,java.lang.Object> createLocalAttributes(java.util.Map<java.lang.String,java.lang.Object> attributes)
-
setUniqueEventsOnServerResponse
public void setUniqueEventsOnServerResponse(EventsOnServerResponseEventListener callback)
Custom callback to be executed on server response to a unique events submission request- Specified by:
setUniqueEventsOnServerResponse
in interfaceMetrics
- Parameters:
callback
- object with method which will be executed
-
setSummedEventsOnServerResponse
public void setSummedEventsOnServerResponse(EventsOnServerResponseEventListener callback)
Custom callback to be executed on server response to a summed events submission request- Specified by:
setSummedEventsOnServerResponse
in interfaceMetrics
- Parameters:
callback
- object with method which will be executed
-
-