Show / Hide Table of Contents

Class EventProcessorBuilder

Contains methods for configuring delivery of analytics events.

Inheritance
System.Object
EventProcessorBuilder
Implements
IComponentConfigurer<IEventProcessor>
IDiagnosticDescription
Namespace: LaunchDarkly.Sdk.Client.Integrations
Assembly: LaunchDarkly.ClientSdk.dll
Syntax
public sealed class EventProcessorBuilder : Object, IComponentConfigurer<IEventProcessor>, IDiagnosticDescription
Remarks

The SDK normally buffers analytics events and sends them to LaunchDarkly at intervals. If you want to customize this behavior, create a builder with SendEvents(), change its properties with the methods of this class, and pass it to Events(IComponentConfigurer<IEventProcessor>).

Examples
    var config = Configuration.Builder(sdkKey)
        .Events(
            Components.SendEvents().Capacity(5000).FlushInterval(TimeSpan.FromSeconds(2))
        )
        .Build();

Constructors

EventProcessorBuilder()

Declaration
public EventProcessorBuilder()

Fields

DefaultCapacity

The default value for Capacity(Int32).

Declaration
public const int DefaultCapacity = 100
Field Value
Type Description
System.Int32

DefaultDiagnosticRecordingInterval

The default value for DiagnosticRecordingInterval(TimeSpan).

Declaration
public static readonly TimeSpan DefaultDiagnosticRecordingInterval
Field Value
Type Description
System.TimeSpan

DefaultFlushInterval

The default value for FlushInterval(TimeSpan).

Declaration
public static readonly TimeSpan DefaultFlushInterval
Field Value
Type Description
System.TimeSpan
Remarks

For Android and iOS, this is 30 seconds. For all other platforms, it is 5 seconds. The difference is because the extra HTTP requests for sending events more frequently are undesirable in a mobile application as opposed to a desktop application.

MinimumDiagnosticRecordingInterval

The minimum value for DiagnosticRecordingInterval(TimeSpan): 5 minutes.

Declaration
public static readonly TimeSpan MinimumDiagnosticRecordingInterval
Field Value
Type Description
System.TimeSpan

Methods

AllAttributesPrivate(Boolean)

Sets whether or not all optional user attributes should be hidden from LaunchDarkly.

Declaration
public EventProcessorBuilder AllAttributesPrivate(bool allAttributesPrivate)
Parameters
Type Name Description
System.Boolean allAttributesPrivate

true if all user attributes should be private

Returns
Type Description
EventProcessorBuilder

the builder

Remarks

If this is true, all user attribute values (other than the key) will be private, not just the attributes specified in PrivateAttributes(String[]) or on a per-user basis with LaunchDarkly.Sdk.UserBuilder methods. By default, it is false.

Build(LdClientContext)

Called internally by the SDK to create an implementation instance. Applications should not need to call this method.

Declaration
public IEventProcessor Build(LdClientContext context)
Parameters
Type Name Description
LdClientContext context

provides configuration properties and other components from the current SDK client instance

Returns
Type Description
IEventProcessor

a instance of the component type

Capacity(Int32)

Sets the capacity of the events buffer.

Declaration
public EventProcessorBuilder Capacity(int capacity)
Parameters
Type Name Description
System.Int32 capacity

the capacity of the event buffer

Returns
Type Description
EventProcessorBuilder

the builder

Remarks

The client buffers up to this many events in memory before flushing. If the capacity is exceeded before the buffer is flushed (see FlushInterval(TimeSpan)), events will be discarded. Increasing the capacity means that events are less likely to be discarded, at the cost of consuming more memory.

The default value is DefaultCapacity. A zero or negative value will be changed to the default.

DescribeConfiguration(LdClientContext)

Called internally by the SDK to inspect the configuration. Applications do not need to call this method.

Declaration
public LdValue DescribeConfiguration(LdClientContext context)
Parameters
Type Name Description
LdClientContext context

the context object that may provide relevant configuration details

Returns
Type Description
LdValue

a JSON value

DiagnosticRecordingInterval(TimeSpan)

Sets the interval at which periodic diagnostic data is sent.

Declaration
public EventProcessorBuilder DiagnosticRecordingInterval(TimeSpan diagnosticRecordingInterval)
Parameters
Type Name Description
System.TimeSpan diagnosticRecordingInterval

the diagnostics interval

Returns
Type Description
EventProcessorBuilder

the builder

Remarks

The default value is DefaultDiagnosticRecordingInterval; the minimum value is MinimumDiagnosticRecordingInterval. This property is ignored if DiagnosticOptOut(Boolean) is set to true.

FlushInterval(TimeSpan)

Sets the interval between flushes of the event buffer.

Declaration
public EventProcessorBuilder FlushInterval(TimeSpan flushInterval)
Parameters
Type Name Description
System.TimeSpan flushInterval

the flush interval

Returns
Type Description
EventProcessorBuilder

the builder

Remarks

Decreasing the flush interval means that the event buffer is less likely to reach capacity. The default value is DefaultFlushInterval. A zero or negative value will be changed to the default.

PrivateAttributes(String[])

Marks a set of attribute names as private.

Declaration
public EventProcessorBuilder PrivateAttributes(params string[] attributes)
Parameters
Type Name Description
System.String[] attributes

a set of attributes that will be removed from context data set to LaunchDarkly

Returns
Type Description
EventProcessorBuilder

the builder

Remarks

Any contexts sent to LaunchDarkly with this configuration active will have attributes with these names removed. This is in addition to any attributes that were marked as private for an individual context with ContextBuilder methods.

Implements

IComponentConfigurer<T>
IDiagnosticDescription
In This Article
Back to top Generated by DocFX