Package com.atlassian.jira.analytics
Class AnalyticsEvent
java.lang.Object
com.atlassian.jira.analytics.AnalyticsEvent
- Direct Known Subclasses:
AvatarManagerStatsAnalyticsEvent
,IndexingLimitsStatsAnalyticsEvent
,LabelSuggesterStats.AnalyticsEvent
,SecureDefaultsStats.AnalyticsEvent
,StreamAttachmentStoreStatsAnalyticsEvent
Base class that can be extended for use as a simplistic, low boilerplate way to send parts of actual stats data
to jira analytics.
Can be applied whenever an analytics event you want to send has the same data with the same structure as the stats you already have.
- create regular analytics event that extends
AnalyticsEvent
(usingEventName
annotation) with 1 or 2 (depends whether you need snapshot data total data or both seeJiraStats
) Map type fields - explicitly declare the parts of nested map(convention of key names "mapFieldname.key1level.key2level") you want to go through the analytics filters
in
jira-analytics-whitelist-plugin-whitelist.json
. Be extra careful not to whitelist anything that will become useless after analytics safety filters (cutting out strings values and such) or might expose some customer internal data - Use
AnalyticsSender.registerAnalyticsSender(com.atlassian.jira.util.stats.ManagedStats, com.atlassian.event.api.EventPublisher, java.util.function.BiFunction<java.util.Map, java.util.Map, com.atlassian.jira.analytics.AnalyticsEvent>)
to register your event with theManagedStats
implementation of your interest. Eg.Optional.ofNullable(register.getComponent(IndexingLimitsStats.class)) .ifPresent(stats -> AnalyticsSender.registerAnalyticsSender(stats, eventPublisher, IndexingLimitsStatsAnalyticsEvent::new));
- Since:
- 9.11
- See Also:
-
JiraStats
ManagedStats
JiraStatsListener
for an example usage
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
AnalyticsEvent
Create an analytics event- Parameters:
snapshot
- snapshot of stats values from recent periodtotal
- stats values accumulated since the stat was instantiated- See Also:
-
for more information
-
-
Method Details
-
addDurationAsLong
-
getTotal
-
getSnapshot
-