class TSDB extends TsdbBase with StrictLogging
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- TSDB
- TsdbBase
- StrictLogging
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new TSDB(schema: Schema, dao: TSDao[Iterator, Long], changelogDao: ChangelogDao, prepareQuery: (Query) => Query, config: TsdbConfig, metricCollectorCreator: (Query, String) => MetricQueryCollector)
Type Members
- type Collection[X] = Iterator[X]
Type of collection used in this TSDB instance and the DAO.
- type Result = TsdbServerResult
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def applyWindowFunctions(queryContext: QueryContext, batches: Iterator[BatchDataset]): Iterator[BatchDataset]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val calculatorFactory: ExpressionCalculatorFactory
- val changelogDao: ChangelogDao
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def createMetricCollector(query: Query, user: YupanaUser): MetricQueryCollector
- val dao: TSDao[Iterator, Long]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def externalLinkServices: Iterable[ExternalLinkService[_]]
- lazy val extractBatchSize: Int
Batch size for reading values from external links
- def fillPlaceholders(c: Condition, startTime: Time, params: IndexedSeq[Any]): Condition
- Definition Classes
- TsdbBase
- def finalizeQuery(queryContext: QueryContext, data: Iterator[BatchDataset], metricCollector: MetricQueryCollector): TsdbServerResult
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def linkService(catalog: ExternalLink): ExternalLinkService[_ <: ExternalLink]
- val logger: Logger
- Attributes
- protected
- Definition Classes
- StrictLogging
- def mapReduceEngine(metricCollector: MetricQueryCollector): MapReducible[Collection]
- Definition Classes
- TsdbBase
- def mergeCondition(facs: Seq[FlatAndCondition]): Option[Condition]
- Definition Classes
- TsdbBase
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- val permissionService: PermissionService
- val prepareQuery: (Query) => Query
- def processRows(queryContext: QueryContext, metricCollector: MetricQueryCollector, mr: MapReducible[Collection], rows: Collection[BatchDataset], startTime: Time, params: IndexedSeq[Any]): Result
- Definition Classes
- TsdbBase
- def put(dataPoints: Collection[DataPoint], user: YupanaUser = YupanaUser.ANONYMOUS): Unit
- Definition Classes
- TsdbBase
- def putBatch(table: Table, batch: BatchDataset, user: YupanaUser): Unit
- Definition Classes
- TsdbBase
- lazy val putBatchSize: Int
Batch size for writing values to external links
- def putDataset(table: Table, dataset: Collection[BatchDataset], user: YupanaUser): Unit
- Definition Classes
- TsdbBase
- def putDataset(tables: Seq[Table], dataset: Collection[BatchDataset], user: YupanaUser): Unit
- Definition Classes
- TsdbBase
- def query(query: Query, startTime: Time = Time(System.currentTimeMillis()), params: IndexedSeq[Any] = IndexedSeq.empty, user: YupanaUser = YupanaUser.ANONYMOUS): Result
Query pipeline.
Query pipeline. Perform following stages:
- creates queries for DAO - call DAO query to get Collection of rows - fills the rows with external links values - extract KeyData and ValueData - apply value filters - window function application - apply aggregation: map, reduce, post-map - post reduce arithmetics - extract field values
The pipeline is not responsible for limiting. This means that collection have to be lazy, to avoid extra calculations if limit is defined.
- Definition Classes
- TsdbBase
- def readExternalLinks(queryContext: QueryContext, ds: BatchDataset): Unit
- Definition Classes
- TsdbBase
- def registerExternalLink(externalLink: ExternalLink, externalLinkService: ExternalLinkService[_ <: ExternalLink]): Unit
- val schema: Schema
- def substituteLinks(flatAndConditions: Seq[FlatAndCondition], startTime: Time, user: YupanaUser, metricCollector: MetricQueryCollector): Seq[FlatAndCondition]
- Definition Classes
- TsdbBase
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)