public final class InProcessTelemetryChannel extends TelemetryChannelBase<java.lang.String>
TelemetryChannel
The channel holds two main entities:
A buffer for incoming Telemetry
instances
A transmitter
The buffer is stores incoming telemetry instances. Every new buffer starts a timer. When the timer expires, or when the buffer is 'full' (whichever happens first), the transmitter will pick up that buffer and will handle its sending to the server. For example, a transmitter will be responsible for compressing, sending and activate a policy in case of failures.
The model here is:
Use application threads to populate the buffer Use channel's threads to send buffers to the server
Created by gupele on 12/17/2014.
DEFAULT_FLUSH_BUFFER_TIMEOUT_IN_SECONDS, DEFAULT_MAX_INSTANT_RETRY, DEFAULT_MAX_TELEMETRY_BUFFER_CAPACITY, DEVELOPER_MODE_NAME, DEVELOPER_MODE_SYSTEM_PROPRETY_NAME, ENDPOINT_ADDRESS_NAME, FLUSH_BUFFER_TIMEOUT_IN_SECONDS_NAME, INSTANT_RETRY_NAME, isInitailized, LOG_TELEMETRY_ITEMS_MODULUS, MAX_FLUSH_BUFFER_TIMEOUT_IN_SECONDS, MAX_MAX_TELEMETRY_BUFFER_CAPACITY, MAX_TELEMETRY_BUFFER_CAPACITY_NAME, MAX_TRANSMISSION_STORAGE_CAPACITY_NAME, MIN_FLUSH_BUFFER_TIMEOUT_IN_SECONDS, MIN_MAX_TELEMETRY_BUFFER_CAPACITY, stopped, telemetriesTransmitter, telemetryBuffer, telemetrySampler, THROTTLING_ENABLED_NAME
Constructor and Description |
---|
InProcessTelemetryChannel()
Deprecated.
|
InProcessTelemetryChannel(java.util.Map<java.lang.String,java.lang.String> namesAndValues)
Deprecated.
|
InProcessTelemetryChannel(java.lang.String endpointAddress,
boolean developerMode,
int maxTelemetryBufferCapacity,
int sendIntervalInMillis)
Deprecated.
|
InProcessTelemetryChannel(java.lang.String endpointAddress,
java.lang.String maxTransmissionStorageCapacity,
boolean developerMode,
int maxTelemetryBufferCapacity,
int sendIntervalInMillis,
boolean throttling,
int maxInstantRetries)
Deprecated.
|
InProcessTelemetryChannel(TelemetryConfiguration configuration) |
InProcessTelemetryChannel(TelemetryConfiguration configuration,
java.util.Map<java.lang.String,java.lang.String> channelConfig) |
InProcessTelemetryChannel(TelemetryConfiguration configuration,
java.lang.String maxTransmissionStorageCapacity,
boolean developerMode,
int maxTelemetryBufferCapacity,
int sendIntervalInMillis,
boolean throttling,
int maxInstantRetries) |
Modifier and Type | Method and Description |
---|---|
protected ConfiguredTransmitterFactory<java.lang.String> |
createTransmitterFactory() |
protected boolean |
doSend(Telemetry telemetry) |
createDefaultMaxTelemetryBufferCapacityEnforcer, createDefaultSendIntervalInSecondsEnforcer, flush, getTransmitterFactory, initialize, initialize, isDeveloperMode, makeSureEndpointAddressIsValid, send, setDeveloperMode, setMaxTelemetriesInBatch, setSampler, setTransmitBufferTimeoutInSeconds, stop
public InProcessTelemetryChannel(TelemetryConfiguration configuration)
public InProcessTelemetryChannel(TelemetryConfiguration configuration, java.lang.String maxTransmissionStorageCapacity, boolean developerMode, int maxTelemetryBufferCapacity, int sendIntervalInMillis, boolean throttling, int maxInstantRetries)
public InProcessTelemetryChannel(TelemetryConfiguration configuration, java.util.Map<java.lang.String,java.lang.String> channelConfig)
@Deprecated public InProcessTelemetryChannel()
@Deprecated public InProcessTelemetryChannel(java.lang.String endpointAddress, boolean developerMode, int maxTelemetryBufferCapacity, int sendIntervalInMillis)
@Deprecated public InProcessTelemetryChannel(java.lang.String endpointAddress, java.lang.String maxTransmissionStorageCapacity, boolean developerMode, int maxTelemetryBufferCapacity, int sendIntervalInMillis, boolean throttling, int maxInstantRetries)
@Deprecated public InProcessTelemetryChannel(java.util.Map<java.lang.String,java.lang.String> namesAndValues)
InProcessTelemetryChannel(TelemetryConfiguration, Map)
protected boolean doSend(Telemetry telemetry)
doSend
in class TelemetryChannelBase<java.lang.String>
protected ConfiguredTransmitterFactory<java.lang.String> createTransmitterFactory()
createTransmitterFactory
in class TelemetryChannelBase<java.lang.String>