Interface NBComponent
- All Superinterfaces:
AutoCloseable,NBComponentAdvisors,NBComponentEvents,NBComponentMetrics,NBComponentProps,NBComponentServices,NBLabeledElement,NBProviderSearch
- All Known Subinterfaces:
Activity,DriverAdapter<OPTYPE,,SPACETYPE> NBContainer
- All Known Implementing Classes:
AdminNamespaceOpDispenser,AdminTenantOpDispenser,AdminTopicOpDispenser,AmqpBaseOpDispenser,AmqpDriverAdapter,AmqpMsgRecvOpDispenser,AmqpMsgSendOpDispenser,AssertingOpDispenser,AtomicInput,AzureAISearchBaseOpDispenser,AzureAISearchCreateOrUpdateIndexOpDispenser,AzureAISearchDeleteIndexOpDispenser,AzureAISearchDriverAdapter,AzureAISearchListIndexesOpDispenser,AzureAISearchSearchDocumentsOpDispenser,AzureAISearchUploadDocumentsOpDispenser,BaseDriverAdapter,BaseOpDispenser,BobyqaOptimizerInstance,CapabilityHook,CapturingOpDispenser,ClassicHistoListener,ClassicTimerListener,ClientSystemMetricChecker,CMD_await,CMD_error,CMD_example,CMD_findmax,CMD_forceStop,CMD_getenv,CMD_ok,CMD_optimize,CMD_optimo,CMD_reset,CMD_run,CMD_start,CMD_stop,CMD_wait,ComponentPulse,ComputeFunctions,ConcurrentSpaceCache,ConsoleReporter,ContainerActivitiesController,Cqld4BaseOpDispenser,CqlD4BatchStmtDispenser,Cqld4CqlBaseOpDispenser,Cqld4DriverAdapter,Cqld4FluentGraphOpDispenser,Cqld4GremlinOpDispenser,Cqld4PreparedStmtDispenser,CqlD4RainbowTableDispenser,Cqld4RawStmtDispenser,Cqld4SimpleCqlStmtDispenser,Cqld4SsTableDispenser,CqlDriverAdapterStub,CqlUtils,CsvOutputPluginWriter,CsvReporter,DataApiCountDocumentsOpDispenser,DataApiCreateCollectionOpDispenser,DataApiCreateCollectionWithClassOpDispenser,DataApiCreateDatabaseOpDispenser,DataApiCreateNamespaceOpDispenser,DataApiDeleteAllOpDispenser,DataApiDeleteManyOpDispenser,DataApiDeleteOneOpDispenser,DataApiDriverAdapter,DataApiDropCollectionOpDispenser,DataApiDropDatabaseOpDispenser,DataApiDropNamespaceOpDispenser,DataApiEstimatedDocumentCountOpDispenser,DataApiFindByIdOpDispenser,DataApiFindDistinctOpDispenser,DataApiFindOneAndDeleteOpDispenser,DataApiFindOneAndReplaceOpDispenser,DataApiFindOneAndUpdateOpDispenser,DataApiFindOneOpDispenser,DataApiFindOpDispenser,DataApiFindVectorFilterOpDispenser,DataApiFindVectorOpDispenser,DataApiGetDatabaseInfoOpDispenser,DataApiInsertManyOpDispenser,DataApiInsertOneOpDispenser,DataApiInsertOneVectorOpDispenser,DataApiListCollectionNamesOpDispenser,DataApiListCollectionsOpDispenser,DataApiListDatabasesOpDispenser,DataApiListNamespacesOpDispenser,DataApiOpDispenser,DataApiReplaceOneOpDispenser,DataApiUpdateManyOpDispenser,DataApiUpdateOneOpDispenser,DDBCreateTableOpDispenser,DDBDeleteTableOpDispenser,DDBGetItemOpDispenser,DDBPutItemOpDispenser,DDBQueryOpDispenser,DiagDriverAdapter,DiagOpDispenser,DryrunOpDispenser,DynamoDBDriverAdapter,ExampleDriverAdapter,ExampleOpDispenserType1,ExampleOpDispenserType2,ExamplePlugin,FindmaxPlanner,GCPSpannerBaseOpDispenser,GCPSpannerCreateDatabaseDdlOpDispenser,GCPSpannerDriverAdapter,GCPSpannerDropDatabaseDdlOpDispenser,GCPSpannerExecuteDmlOpDispenser,GCPSpannerInsertOpDispenser,GCPSpannerUpdateDatabaseDdlOpDispenser,HdrHistoLog,HistoIntervalLogger,HistoStats,HistoStatsLogger,HttpDriverAdapter,HttpOpDispenser,HttpPlugin,KafkaBaseOpDispenser,KafkaDriverAdapter,Log4JMetricsReporter,MessageConsumerOpDispenser,MessageConsumerOpDispenser,MessageConsumerOpDispenser,MessageProducerOpDispenser,MessageProducerOpDispenser,MessageProducerOpDispenser,MessageReaderOpDispenser,MongoCommandOpDispenser,MongodbDriverAdapter,MongoDbUpdateOpDispenser,NB_diag,NBBaseCommand,NBBaseComponent,NBBufferedContainer,NBHeartbeatComponent,NBInvokableCommand,NBScriptedCommand,NBSession,NBSessionSafetyMetrics,NBShutdownHook,NBStatusComponent,Neo4JAsyncAutoCommitOpDispenser,Neo4JAsyncReadTxnOpDispenser,Neo4JAsyncWriteTxnOpDispenser,Neo4JBaseOpDispenser,Neo4JDriverAdapter,Neo4JSyncAutoCommitOpDispenser,Neo4JSyncReadTxnOpDispenser,Neo4JSyncWriteTxnOpDispenser,ParsedOp,PeriodicTaskComponent,PromPushReporterComponent,PulsarAdminOpDispenser,PulsarBaseOpDispenser,PulsarClientOpDispenser,PulsarDriverAdapter,QdrantBaseOpDispenser,QdrantCollectionExistsOpDispenser,QdrantCollectionInfoOpDispenser,QdrantCountPointsOpDispenser,QdrantCreateCollectionOpDispenser,QdrantCreatePayloadIndexOpDispenser,QdrantDeleteCollectionOpDispenser,QdrantDriverAdapter,QdrantListCollectionAliasesOpDispenser,QdrantListCollectionsOpDispenser,QdrantListSnapshotsOpDispenser,QdrantSearchPointsOpDispenser,QdrantUpsertPointsOpDispenser,RatchetPlanner,RawDynamoDBOpDispenser,RCurvePlanner,ResultPrintingOpDispenser,S3Uploader,S4JBaseOpDispenser,S4JDriverAdapter,SimFramePlanner,SimpleActivity,SimRate,SqliteReporter,StandardActivity,StdoutDriverAdapter,StdoutOpDispenser,StringDriverSpaceCache,TcpClientDriverAdapter,TcpClientOpDispenser,TcpServerDriverAdapter,TcpServerOpDispenser,TestComponent,UnstartedPeriodicTaskComponent,WeaviateBaseOpDispenser,WeaviateCreateCollectionOpDispenser,WeaviateCreateObjectsOpDispenser,WeaviateDeleteCollectionOpDispenser,WeaviateDriverAdapter,WeaviateGetCollectionSchemaOpDispenser
public interface NBComponent
extends AutoCloseable, NBLabeledElement, NBComponentMetrics, NBComponentServices, NBComponentEvents, NBProviderSearch, NBComponentProps, NBComponentAdvisors
A Component is a functional element of the NoSQLBench runtime which is:
- Contract Oriented - Components are based on well-defined interfaces.
- Modular - Components are wired together by configuration.
- Configurable - Components have configurations which are well defined and type safe.
- User Facing - Components are top level constructs which users interact with.
- Hierarchic - Components fit together in a runtime hierarchy. Only the ROOT component is allowed to have no parents.
- Addressable - Each component has a set of metadata which allows it to be identified clearly under its parent.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.nosqlbench.nb.api.labels.NBLabeledElement
NBLabeledElement.BasicLabeledElement -
Field Summary
FieldsFields inherited from interface io.nosqlbench.nb.api.components.core.NBComponentProps
HDRDIGITS, SUMMARYFields inherited from interface io.nosqlbench.nb.api.labels.NBLabeledElement
EMPTY -
Method Summary
Modifier and TypeMethodDescriptionattachChild(NBComponent... children) default voidvoidclose()detachChild(NBComponent... children) longvoidMethods inherited from interface io.nosqlbench.nb.api.components.core.NBComponentAdvisors
addAdvisor, getAdvisorResults, getAdvisorsMethods inherited from interface io.nosqlbench.nb.api.components.core.NBComponentEvents
onEventMethods inherited from interface io.nosqlbench.nb.api.components.core.NBComponentMetrics
addComponentMetric, findComponentMetrics, findComponentMetrics, findOneComponentMetric, findOneComponentMetric, getComponentMetric, getComponentMetricsMethods inherited from interface io.nosqlbench.nb.api.components.core.NBComponentProps
getComponentProp, setComponentPropMethods inherited from interface io.nosqlbench.nb.api.components.core.NBComponentServices
create, findMethods inherited from interface io.nosqlbench.nb.api.labels.NBLabeledElement
description, getLabelsMethods inherited from interface io.nosqlbench.nb.api.components.decorators.NBProviderSearch
findParentService
-
Field Details
-
EMPTY_COMPONENT
-
-
Method Details
-
getParent
NBComponent getParent() -
attachChild
-
detachChild
-
getChildren
List<NBComponent> getChildren() -
getComponentOnlyLabels
NBLabels getComponentOnlyLabels() -
beforeDetach
default void beforeDetach() -
close
- Specified by:
closein interfaceAutoCloseable- Throws:
RuntimeException
-
reportExecutionMetric
-
getNanosSinceStart
long getNanosSinceStart()
-