Package com.wavefront.agent.data
Class EventDataSubmissionTask
- java.lang.Object
-
- com.wavefront.agent.data.EventDataSubmissionTask
-
- All Implemented Interfaces:
DataSubmissionTask<EventDataSubmissionTask>
,Serializable
public class EventDataSubmissionTask extends Object
ADataSubmissionTask
that handles event payloads.- Author:
- [email protected]
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int
attempts
protected TaskQueue<T>
backlog
protected long
enqueuedTimeMillis
protected com.wavefront.data.ReportableEntityType
entityType
protected String
handle
protected Boolean
limitRetries
protected EntityProperties
properties
protected int
serverErrors
protected Supplier<Long>
timeProvider
protected com.yammer.metrics.core.Histogram
timeSpentInQueue
-
Constructor Summary
Constructors Constructor Description EventDataSubmissionTask(com.wavefront.api.EventAPI api, UUID proxyId, EntityProperties properties, TaskQueue<EventDataSubmissionTask> backlog, String handle, List<com.wavefront.dto.Event> events, Supplier<Long> timeProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.ws.rs.core.Response
doExecute()
void
enqueue(QueueingReason reason)
Persist task in the queueTaskResult
execute()
Execute this tasklong
getEnqueuedMillis()
Returns task enqueue time in milliseconds.com.wavefront.data.ReportableEntityType
getEntityType()
Returns entity type handled.void
injectMembers(com.wavefront.api.EventAPI api, UUID proxyId, EntityProperties properties, TaskQueue<EventDataSubmissionTask> backlog)
List<com.wavefront.dto.Event>
payload()
List<EventDataSubmissionTask>
splitTask(int minSplitSize, int maxSplitSize)
Split the task into smaller tasks.int
weight()
Returns a task weight.
-
-
-
Field Detail
-
enqueuedTimeMillis
protected long enqueuedTimeMillis
-
attempts
protected int attempts
-
serverErrors
protected int serverErrors
-
handle
protected String handle
-
entityType
protected com.wavefront.data.ReportableEntityType entityType
-
limitRetries
protected Boolean limitRetries
-
timeSpentInQueue
protected transient com.yammer.metrics.core.Histogram timeSpentInQueue
-
properties
protected transient EntityProperties properties
-
backlog
protected transient TaskQueue<T extends DataSubmissionTask<T>> backlog
-
-
Constructor Detail
-
EventDataSubmissionTask
public EventDataSubmissionTask(com.wavefront.api.EventAPI api, UUID proxyId, EntityProperties properties, TaskQueue<EventDataSubmissionTask> backlog, String handle, @Nonnull List<com.wavefront.dto.Event> events, @Nullable Supplier<Long> timeProvider)
- Parameters:
api
- API endpoint.proxyId
- Proxy identifier. Used to authenticate proxy with the API.properties
- entity-specific wrapper over mutable proxy settings' container.backlog
- task queue.handle
- Handle (usually port number) of the pipeline where the data came from.events
- Data payload.timeProvider
- Time provider (in millis).
-
-
Method Detail
-
doExecute
public javax.ws.rs.core.Response doExecute()
-
splitTask
public List<EventDataSubmissionTask> splitTask(int minSplitSize, int maxSplitSize)
Description copied from interface:DataSubmissionTask
Split the task into smaller tasks.- Parameters:
minSplitSize
- Don't split the task if its weight is smaller than this number.maxSplitSize
- Split tasks size cap.- Returns:
- tasks
-
payload
public List<com.wavefront.dto.Event> payload()
-
weight
public int weight()
Description copied from interface:DataSubmissionTask
Returns a task weight.- Returns:
- task weight
-
injectMembers
public void injectMembers(com.wavefront.api.EventAPI api, UUID proxyId, EntityProperties properties, TaskQueue<EventDataSubmissionTask> backlog)
-
getEnqueuedMillis
public long getEnqueuedMillis()
Description copied from interface:DataSubmissionTask
Returns task enqueue time in milliseconds.- Specified by:
getEnqueuedMillis
in interfaceDataSubmissionTask<T extends DataSubmissionTask<T>>
- Returns:
- enqueue time in milliseconds
-
getEntityType
public com.wavefront.data.ReportableEntityType getEntityType()
Description copied from interface:DataSubmissionTask
Returns entity type handled.- Specified by:
getEntityType
in interfaceDataSubmissionTask<T extends DataSubmissionTask<T>>
- Returns:
- entity type
-
execute
public TaskResult execute()
Description copied from interface:DataSubmissionTask
Execute this task- Specified by:
execute
in interfaceDataSubmissionTask<T extends DataSubmissionTask<T>>
- Returns:
- operation result
-
enqueue
public void enqueue(@Nullable QueueingReason reason)
Description copied from interface:DataSubmissionTask
Persist task in the queue- Specified by:
enqueue
in interfaceDataSubmissionTask<T extends DataSubmissionTask<T>>
- Parameters:
reason
- reason for queueing. used to increment metrics, if specified.
-
-