Interface EventProcessor
- All Superinterfaces:
AutoCloseable,Closeable
Interface for an object that can send or store analytics events.
Application code normally does not need to interact with this interface. It is provided to allow a custom implementation or test fixture to be substituted for the SDK's normal analytics event logic.
- Since:
- 3.3.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int -
Method Summary
Modifier and TypeMethodDescriptionvoidSpecifies that any buffered events should be sent immediately, blocking until done.voidflush()Specifies that any buffered events should be sent as soon as possible, rather than waiting for the next flush interval.voidrecordCustomEvent(LDContext context, String eventKey, LDValue data, Double metricValue) Creates a custom event, as when the SDK'strackmethod is called.voidrecordEvaluationEvent(LDContext context, String flagKey, int flagVersion, int variation, LDValue value, EvaluationReason reason, LDValue defaultValue, boolean requireFullEvent, Long debugEventsUntilDate) Records the action of evaluating a feature flag.voidrecordIdentifyEvent(LDContext context) Registers an evaluation context, as when the SDK'sidentifymethod is called.voidsetInBackground(boolean inBackground) Puts the event processor into background mode if appropriate.voidsetOffline(boolean offline) Puts the event processor into offline mode if appropriate.
-
Field Details
-
NO_VERSION
static final int NO_VERSION- See Also:
-
-
Method Details
-
recordEvaluationEvent
void recordEvaluationEvent(LDContext context, String flagKey, int flagVersion, int variation, LDValue value, EvaluationReason reason, LDValue defaultValue, boolean requireFullEvent, Long debugEventsUntilDate) Records the action of evaluating a feature flag.Depending on the feature flag properties and event properties, this may be transmitted to the events service as an individual event, or may only be added into summary data.
- Parameters:
context- the current evaluation contextflagKey- key of the feature flag that was evaluatedflagVersion- the version of the flag, orNO_VERSIONif the flag was not foundvariation- the result variation index, orEvaluationDetail.NO_VARIATIONif evaluation failedvalue- the result valuereason- the evaluation reason, or null if the reason was not requesteddefaultValue- the default value parameter for the evaluationrequireFullEvent- true if full-fidelity analytics events should be sent for this flagdebugEventsUntilDate- if non-null, debug events are to be generated until this millisecond time
-
recordIdentifyEvent
Registers an evaluation context, as when the SDK'sidentifymethod is called.- Parameters:
context- the evaluation context
-
recordCustomEvent
Creates a custom event, as when the SDK'strackmethod is called.- Parameters:
context- the current evaluation contexteventKey- the event keydata- optional custom data provided for the event, may be null orLDValue.ofNull()if not usedmetricValue- optional numeric metric value provided for the event, or null
-
setInBackground
void setInBackground(boolean inBackground) Puts the event processor into background mode if appropriate.- Parameters:
inBackground- true if we are running in the background
-
setOffline
void setOffline(boolean offline) Puts the event processor into offline mode if appropriate.- Parameters:
offline- true if the SDK has been put offline
-
flush
void flush()Specifies that any buffered events should be sent as soon as possible, rather than waiting for the next flush interval. This method is asynchronous, so events still may not be sent until a later time. However, callingCloseable.close()will synchronously deliver any events that were not yet delivered prior to shutting down. -
blockingFlush
void blockingFlush()Specifies that any buffered events should be sent immediately, blocking until done.
-