NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
NES::Statistic::StatisticSink Class Reference

Physical sink that receives a tuple buffer, extracts statistics, and writes these statistics to the statisticStore. More...

#include <StatisticSink.hpp>

Collaboration diagram for NES::Statistic::StatisticSink:
[legend]

Public Member Functions

 StatisticSink (const SinkFormatPtr &sinkFormat, const Runtime::NodeEnginePtr &nodeEngine, uint32_t numOfProducers, SharedQueryId sharedQueryId, DecomposedQueryId decomposedQueryId, DecomposedQueryPlanVersion decomposedQueryVersion, uint64_t numberOfOrigins, StatisticStorePtr statisticStore, StatisticFormatPtr statisticSinkFormat)
 
void setup () override
 virtual method to setup sink @Note this method will be overwritten by derived classes More...
 
void shutdown () override
 virtual method to shutdown sink @Note this method will be overwritten by derived classes More...
 
bool writeData (Runtime::TupleBuffer &inputBuffer, Runtime::WorkerContext &workerContext) override
 method to write a TupleBuffer More...
 
std::string toString () const override
 virtual function to get a string describing the particular sink @Note this function is overwritten by the particular data sink More...
 
SinkMediumTypes getSinkMediumType () override
 method to return the type of medium More...
 
- Public Member Functions inherited from NES::SinkMedium
 SinkMedium (SinkFormatPtr sinkFormat, Runtime::NodeEnginePtr nodeEngine, uint32_t numOfProducers, SharedQueryId sharedQueryId, DecomposedQueryId decomposedQueryId, DecomposedQueryPlanVersion decomposedQueryVersion)
 public constructor for data sink More...
 
 SinkMedium (SinkFormatPtr sinkFormat, Runtime::NodeEnginePtr nodeEngine, uint32_t numOfProducers, SharedQueryId sharedQueryId, DecomposedQueryId decomposedQueryId, DecomposedQueryPlanVersion decomposedQueryVersion, uint64_t numberOfOrigins)
 public constructor for data sink More...
 
SharedQueryId getSharedQueryId () const
 get the id of the owning plan More...
 
DecomposedQueryId getParentPlanId () const
 get the subplan id of the owning plan More...
 
DecomposedQueryPlanVersion getParentPlanVersion () const
 get the subplan version of the owning plan More...
 
uint64_t getNumberOfWrittenOutBuffers ()
 debug function for testing to get number of written buffers More...
 
uint64_t getNumberOfWrittenOutTuples ()
 debug function for testing to get number of written tuples More...
 
SchemaPtr getSchemaPtr () const
 method to return the current schema of the sink More...
 
std::string getSinkFormat ()
 method to get the format as string More...
 
void reconfigure (Runtime::ReconfigurationMessage &message, Runtime::WorkerContext &context) override
 
void postReconfigurationCallback (Runtime::ReconfigurationMessage &message) override
 
OperatorId getOperatorId () const
 Get operator id. More...
 
void setMigrationFlag ()
 Sets that sink is used for state migration. More...
 
bool isForMigration () const
 Check whether this sink is used for state migration. More...
 
- Public Member Functions inherited from NES::Runtime::Reconfigurable
 ~Reconfigurable () NES_NOEXCEPT(false) override=default
 
- Public Member Functions inherited from NES::detail::virtual_enable_shared_from_this< Reconfigurable, false >
 ~virtual_enable_shared_from_this () NES_NOEXCEPT(isNoexceptDestructible) override=default
 
std::shared_ptr< T1 > shared_from_this ()
 
std::weak_ptr< T1 > weak_from_this ()
 
- Public Member Functions inherited from NES::detail::virtual_enable_shared_from_this_base< isNoexceptDestructible >
virtual ~virtual_enable_shared_from_this_base () NES_NOEXCEPT(isNoexceptDestructible)=default
 

Additional Inherited Members

- Protected Attributes inherited from NES::SinkMedium
SinkFormatPtr sinkFormat
 
bool schemaWritten
 
Runtime::NodeEnginePtr nodeEngine
 
std::atomic< uint32_t > activeProducers
 termination machinery More...
 
SharedQueryId sharedQueryId
 
DecomposedQueryId decomposedQueryId
 
DecomposedQueryPlanVersion decomposedQueryVersion
 
uint64_t numberOfOrigins
 
uint64_t sentBuffer {0}
 
uint64_t sentTuples {0}
 
std::recursive_mutex writeMutex
 
bool migration {false}
 

Detailed Description

Physical sink that receives a tuple buffer, extracts statistics, and writes these statistics to the statisticStore.

Constructor & Destructor Documentation

◆ StatisticSink()

NES::Statistic::StatisticSink::StatisticSink ( const SinkFormatPtr sinkFormat,
const Runtime::NodeEnginePtr nodeEngine,
uint32_t  numOfProducers,
SharedQueryId  sharedQueryId,
DecomposedQueryId  decomposedQueryId,
DecomposedQueryPlanVersion  decomposedQueryVersion,
uint64_t  numberOfOrigins,
StatisticStorePtr  statisticStore,
StatisticFormatPtr  statisticSinkFormat 
)

Member Function Documentation

◆ getSinkMediumType()

SinkMediumTypes NES::Statistic::StatisticSink::getSinkMediumType ( )
overridevirtual

method to return the type of medium

Returns
type of medium

Implements NES::SinkMedium.

References NES::STATISTIC_SINK.

◆ setup()

void NES::Statistic::StatisticSink::setup ( )
overridevirtual

virtual method to setup sink @Note this method will be overwritten by derived classes

Implements NES::SinkMedium.

◆ shutdown()

void NES::Statistic::StatisticSink::shutdown ( )
overridevirtual

virtual method to shutdown sink @Note this method will be overwritten by derived classes

Implements NES::SinkMedium.

◆ toString()

std::string NES::Statistic::StatisticSink::toString ( ) const
overridevirtual

virtual function to get a string describing the particular sink @Note this function is overwritten by the particular data sink

Returns
string with name and additional information about the sink

Implements NES::SinkMedium.

◆ writeData()

bool NES::Statistic::StatisticSink::writeData ( Runtime::TupleBuffer inputBuffer,
Runtime::WorkerContext workerContext 
)
overridevirtual

method to write a TupleBuffer

Parameters
atuple buffers pointer
Returns
bool indicating if the write was complete

Implements NES::SinkMedium.

References NES_DEBUG.


The documentation for this class was generated from the following files: