Package backtraceio.library.services
Class BacktraceMetrics
- java.lang.Object
-
- backtraceio.library.services.BacktraceMetrics
-
-
Field Summary
Fields Modifier and Type Field Description protected android.content.ContextcontextThe application contextprotected java.util.Map<java.lang.String,java.lang.Object>customReportAttributesCustom attributes provided by the user to BacktraceBasestatic java.lang.StringdefaultBaseUrlDefault submission urlstatic intdefaultTimeBetweenRetriesMsDefault time between retries in millisecondsstatic intdefaultTimeIntervalInMinDefault time interval in minstatic longdefaultTimeIntervalMsDefault time interval in millisecondsjava.lang.StringdefaultUniqueEventNameDefault unique event name that will be generated on app startupstatic intmaxNumberOfAttemptsMaximum number of attemptsstatic intmaxTimeBetweenRetriesMsMaximum time between requests in millisecondsprotected BacktraceMetricsSettingssettingsBacktrace metrics settingsSummedEventsHandlersummedEventsHandlerSummed Events handlerUniqueEventsHandleruniqueEventsHandlerUnique 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 booleanaddSummedEvent(java.lang.String metricGroupName)Add a summed event to the next Backtrace Metrics requestbooleanaddSummedEvent(java.lang.String metricGroupName, java.util.Map<java.lang.String,java.lang.Object> attributes)Add a summed event to the next Backtrace Metrics requestbooleanaddUniqueEvent(java.lang.String attributeName)Add a unique event to the next Backtrace Metrics requestbooleanaddUniqueEvent(java.lang.String attributeName, java.util.Map<java.lang.String,java.lang.Object> attributes)Add a unique event to the next Backtrace Metrics requestintcount()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)voidenable()Enables metrics with BacktraceClient's credentials.voidenable(BacktraceMetricsSettings settings)Enable metricsvoidenable(BacktraceMetricsSettings settings, java.lang.String uniqueEventName)Enable metricsvoidenable(java.lang.String defaultUniqueEventName)Enables metrics with BacktraceClient's credentials and overrides default unique event name.java.lang.StringgetBaseUrl()protected java.lang.StringgetStartupUniqueEventName()java.util.concurrent.ConcurrentLinkedDeque<SummedEvent>getSummedEvents()Get the pending list of summed eventsjava.util.concurrent.ConcurrentLinkedDeque<UniqueEvent>getUniqueEvents()Get the pending list of unique eventsvoidsend()Send all outgoing messages (unique and summed) currently queuedvoidsendStartupEvent()Send startup event to BacktracevoidsetMaximumNumberOfEvents(int maximumNumberOfEvents)Set the maximum number of events to store.voidsetStartupUniqueEventName(java.lang.String startupUniqueEventName)voidsetSummedEventsOnServerResponse(EventsOnServerResponseEventListener callback)Custom callback to be executed on server response to a summed events submission requestvoidsetSummedEventsRequestHandler(EventsRequestHandler eventsRequestHandler)Custom request handler for sending Backtrace summed events to servervoidsetUniqueEventsOnServerResponse(EventsOnServerResponseEventListener callback)Custom callback to be executed on server response to a unique events submission requestvoidsetUniqueEventsRequestHandler(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:MetricsEnable 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:
sendStartupEventin 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:
addUniqueEventin 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:
addUniqueEventin 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:
setMaximumNumberOfEventsin 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:
addSummedEventin 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:
addSummedEventin interfaceMetrics- Parameters:
metricGroupName-attributes-- Returns:
- true if success
- See Also:
send()
-
getUniqueEvents
public java.util.concurrent.ConcurrentLinkedDeque<UniqueEvent> getUniqueEvents()
Description copied from interface:MetricsGet the pending list of unique events- Specified by:
getUniqueEventsin interfaceMetrics- Returns:
- list of pending unique events to send
-
getSummedEvents
public java.util.concurrent.ConcurrentLinkedDeque<SummedEvent> getSummedEvents()
Description copied from interface:MetricsGet the pending list of summed events- Specified by:
getSummedEventsin 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:
setUniqueEventsRequestHandlerin 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:
setSummedEventsRequestHandlerin 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:
setUniqueEventsOnServerResponsein 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:
setSummedEventsOnServerResponsein interfaceMetrics- Parameters:
callback- object with method which will be executed
-
-