tagindex

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SeriesForwardMerger kv.MergerType = "SeriesForwardMerger"
View Source
var SeriesInvertedMerger kv.MergerType = "SeriesInvertedMerger"

Functions

func NewForwardMerger

func NewForwardMerger(flusher kv.Flusher) (kv.Merger, error)

NewForwardMerger creates a forward merger

func NewInvertedMerger

func NewInvertedMerger(flusher kv.Flusher) (kv.Merger, error)

NewInvertedMerger creates a inverted merger

Types

type ForwardFlusher

type ForwardFlusher interface {
	// PrepareTagKey should be called firstly
	PrepareTagKey(tagKeyID uint32)
	// FlushForwardIndex flushes tag value ids by bitmap container
	FlushForwardIndex(tagValueIDs []uint32) error
	// CommitTagKey ends writing series ids in tag index table.
	CommitTagKey(seriesIDs *roaring.Bitmap) error
	// Closer closes the writer, this will be called after writing all tag keys.
	io.Closer
}

ForwardFlusher represents forward index invertedFlusher which flushes series id => tag value id mapping The layout is available in `tsdb/doc.go`

func NewForwardFlusher

func NewForwardFlusher(kvFlusher kv.Flusher) (ForwardFlusher, error)

NewForwardFlusher creates a forward index invertedFlusher

type ForwardReader

type ForwardReader interface {
	flow.Grouping
	// GetSeriesIDsForTagKeyID returns series ids for spec tag key id of metric.
	GetSeriesIDsForTagKeyID(tagKeyID tag.KeyID) (*roaring.Bitmap, error)
}

ForwardReader represents read forward index data(series id=>tag value id)

func NewForwardReader

func NewForwardReader(readers []table.Reader) ForwardReader

NewForwardReader creates a Reader for reading forward index

type InvertedFlusher

type InvertedFlusher interface {
	// PrepareTagKey should be called firstly
	PrepareTagKey(tagKeyID uint32)
	// FlushInvertedIndex writes tag value id->series ids inverted index data,
	// !!!!! NOTICE: need add tag value id in order.
	FlushInvertedIndex(tagValueID uint32, seriesIDs *roaring.Bitmap) error
	// CommitTagKey ends writing tag inverted index data in index table.
	CommitTagKey() error
	// Closer closes the writer, this will be called after writing all tag keys.
	io.Closer
}

InvertedFlusher is a wrapper of kv.Builder, provides the ability to build a inverted index table. The layout is available in `tsdb/doc.go`

func NewInvertedFlusher

func NewInvertedFlusher(kvFlusher kv.Flusher) (InvertedFlusher, error)

NewInvertedFlusher returns a new InvertedFlusher

type InvertedReader

type InvertedReader interface {
	// GetSeriesIDsByTagValueIDs finds series ids by tag key id and tag value ids
	GetSeriesIDsByTagValueIDs(tagKeyID tag.KeyID, tagValueIDs *roaring.Bitmap) (*roaring.Bitmap, error)
}

InvertedReader reads seriesID bitmap from series-index-table

func NewInvertedReader

func NewInvertedReader(readers []table.Reader) InvertedReader

NewInvertedReader creates a InvertedReader for reading inverted index

type TagForwardReader

type TagForwardReader interface {
	flow.GroupingScanner
}

TagForwardReader represents the forward index inverterReader for one tag(series id=>tag value id)

func NewTagForwardReader

func NewTagForwardReader(buf []byte) (TagForwardReader, error)

NewTagForwardReader creates a forward index inverterReader

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL