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() |
InProcessTelemetryChannel(java.util.Map<java.lang.String,java.lang.String> namesAndValues) |
InProcessTelemetryChannel(java.lang.String endpointAddress,
boolean developerMode,
int maxTelemetryBufferCapacity,
int sendIntervalInMillis) |
InProcessTelemetryChannel(java.lang.String endpointAddress,
java.lang.String maxTransmissionStorageCapacity,
boolean developerMode,
int maxTelemetryBufferCapacity,
int sendIntervalInMillis,
boolean throttling,
int maxInstantRetries) |
| Modifier and Type | Method and Description |
|---|---|
protected TransmitterFactory<java.lang.String> |
createTransmitterFactory() |
protected boolean |
doSend(Telemetry telemetry) |
createDefaultMaxTelemetryBufferCapacityEnforcer, createDefaultSendIntervalInSecondsEnforcer, flush, getTransmitterFactory, initialize, isDeveloperMode, makeSureEndpointAddressIsValid, send, setDeveloperMode, setMaxTelemetriesInBatch, setSampler, setTransmitBufferTimeoutInSeconds, stoppublic InProcessTelemetryChannel()
public InProcessTelemetryChannel(java.lang.String endpointAddress,
boolean developerMode,
int maxTelemetryBufferCapacity,
int sendIntervalInMillis)
public InProcessTelemetryChannel(java.lang.String endpointAddress,
java.lang.String maxTransmissionStorageCapacity,
boolean developerMode,
int maxTelemetryBufferCapacity,
int sendIntervalInMillis,
boolean throttling,
int maxInstantRetries)
public InProcessTelemetryChannel(java.util.Map<java.lang.String,java.lang.String> namesAndValues)
protected boolean doSend(Telemetry telemetry)
doSend in class TelemetryChannelBase<java.lang.String>protected TransmitterFactory<java.lang.String> createTransmitterFactory()
createTransmitterFactory in class TelemetryChannelBase<java.lang.String>