Interface DataCollector
- All Known Implementing Classes:
DataCollectorDelegate,DataCollectorFactory.AbstractDataCollector,DataCollectorFactory.ManualDataCollector,DataCollectorFactory.StreamingDataCollector,ErroredDataCollector
public interface DataCollector
Provides a contract for interacting with data nodes, managing their lifecycle, and facilitating
operations like data collection, metadata updates, and source changes. The DataCollector
implementation acts as a middleware for handling data-related functionalities across various data
nodes.
-
Method Summary
Modifier and TypeMethodDescriptioncreateNodeSession(QualifiedPath source, DataType dataType, PropertySet configuration) Creates a new session for interacting with a data node.executeDataCollection(CollectionContext context) Executes the data collection process using the provided context.Retrieves the unique identifier for this data collector.shutdown()Initiates an orderly shutdown of thisDataCollector.
-
Method Details
-
createNodeSession
DataNodeSession createNodeSession(QualifiedPath source, DataType dataType, PropertySet configuration) Creates a new session for interacting with a data node. This session allows processing various operations like data changes, metadata updates, and source changes for the specified node. It provides a dedicated context for managing the lifecycle and state of a data node.- Parameters:
source- TheQualifiedPathrepresenting the source of the data node.dataType- TheDataTypespecifying the type of data handled by the session.configuration- APropertySetcontaining the configuration properties for the session.- Returns:
- A
DataNodeSessioninstance for managing operations and observing state changes for the specified data node.
-
executeDataCollection
Executes the data collection process using the provided context. This operation initiates data retrieval or aggregation based on the configuration and parameters specified in theCollectionContextinstance. The process could include handling periodic or one-time data collections, as well as processing heartbeat operations if indicated in the context.- Parameters:
context- TheCollectionContextobject encapsulating all necessary details for the data collection operation, such as identifiers, source, interval, timestamp, and value origin.- Returns:
- A
CompletionStagethat completes when the data collection process is finished. If any errors occur during the operation, theCompletionStagewill complete exceptionally.
-
shutdown
CompletionStage<Void> shutdown()Initiates an orderly shutdown of thisDataCollector. This operation will:- Stop accepting new data points or node sessions
- Process and flush any remaining queued data
- Close all active
DataNodeSessions - Release any system resources
DataCollectorinstance should be considered unusable and any subsequent method calls will result in undefined behavior.- Returns:
- A
CompletionStagethat completes normally when shutdown is finished, or completes exceptionally if errors occurred during shutdown
-
identifier
CollectorId identifier()Retrieves the unique identifier for this data collector. The identifier is used to distinguish between different data collectors and is essential for managing and referencing the collector in various operations.- Returns:
- The
CollectorIdrepresenting the unique identifier of this data collector.
-