logstore

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 29, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Copyright 2023 Huawei Cloud Computing Technologies Co., Ltd.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	GramTokenizerVersion       = 3
	CurrentLogTokenizerVersion = 5
)
View Source
const (
	Year int = iota
	Month
	Day
	Hour
	Minute
	Second
)
View Source
const (
	SecCountPerMinute int = 1 * 60
	SecCountPerHour       = 1 * 60 * SecCountPerMinute
	SecCountPerDay        = 1 * 24 * SecCountPerHour
	SecCountPerMonth      = 1 * 30 * SecCountPerDay
	SecCountPerYear       = 1 * 12 * SecCountPerMonth
)
View Source
const (
	OBSMetaFileName    = "segment.meta"
	OBSVLMFileName     = "segment.vlm"
	OBSContentFileName = "segment.cnt"
	FilterLogName      = "segment.fll"
)
View Source
const (
	Prime_64 uint64 = 0x9E3779B185EBCA87
)

Variables

View Source
var AggLogBucketCountList = []int{
	60, 24, 36, 48, 60, 36, 42, 48, 54, 60,
	22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
	42, 44, 46, 48, 50, 52, 54, 56, 58, 60,
	31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
	41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
	51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
}
View Source
var AggLogIntervalList = GetAggLogIntervalList()
View Source
var IndexBufferPool sync.Pool

Functions

func FlushVerticalFilter

func FlushVerticalFilter(filterVerBuffer, filterLogBuffer []byte) []byte

func GenSchemaIdxs

func GenSchemaIdxs(schema record.Schemas, skipIndexRelation *influxql.IndexRelation, fullTextIdx bool) []int

GenSchemaIdxs get bloom filter cols index in the schema

func GetAdaptiveTimeBucket

func GetAdaptiveTimeBucket(startTime, endTime time.Time, ascending bool) time.Duration

func GetAggLogIntervalList

func GetAggLogIntervalList() []int

func GetIndexBuf

func GetIndexBuf(cols int) *multiCosBuf

func IsFullTextIdx

func IsFullTextIdx(indexRelation *influxql.IndexRelation) bool

func PutIndexBuf

func PutIndexBuf(buf *multiCosBuf)

Types

type Constant

type Constant struct {
	FilterDataMemSize         int64 // single bloomfilter's size
	FilterDataDiskSize        int64 // FilterDataDiskSize = FilterDataMemSize + crc32
	FilterCntPerVerticalGorup int64 // the bloom filter's count in single vertical group
	FilterGroupMaxDiskSize    int64 // the maximum size of row storage before converting to vertical storage

	VerticalPieceMemSize      int64 // single Vertical piece's size in memory, equals 8Byte * FilterCntPerVerticalGorup
	VerticalPieceDiskSize     int64 // VerticalPieceDiskSize = VerticalPieceMemSize + crc32
	VerticalPieceCntPerFilter int64
	VerticalGroupDiskSize     int64
	ScanBlockCnt              int
	MetaDataBatchSize         int
	UnnestMetaDataBatchSize   int

	MaxBlockDataSize       int
	MaxLogSizeLimit        int
	MaxBlockLogStoreNBytes int

	MaxBlockCompressedNBytes int
	MaxBlockStoreNBytes      int

	ContentAppenderBufferSize int
}
var LogStoreConstantV0 *Constant // version[0, 1]
var LogStoreConstantV2 *Constant // version[2, ...]

func GetConstant

func GetConstant(version uint32) *Constant

func InitConstant

func InitConstant(filterDataMemSize, filterCntPerVerticalGorup int64, scanBlockCnt, metaDataBatchSize, unnestMetaDataBatchSize int,
	maxBlockDataSize, maxBlockCompressedNBytes, ContentAppenderBufferSize int) *Constant

Jump to

Keyboard shortcuts

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