app

package
v0.0.0-...-8d187f3 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	VERSION                   = 20220117 // 修改Document的序列化结构时需同步修改此常量
	LAST_SIMPLE_CODEC_VERSION = 20220111 // 这个版本及之前的版本使用 simple_codec, 之后的版本使用pb_codec
)

Variables

This section is empty.

Functions

func ReleaseDocumentApp

func ReleaseDocumentApp(doc *DocumentApp)

func ReleaseDocumentFlow

func ReleaseDocumentFlow(doc *DocumentFlow)

func ReleaseDocumentUsage

func ReleaseDocumentUsage(doc *DocumentUsage)

Types

type Document

type Document interface {
	Tags() *flow_metrics.Tag
	Time() uint32
	Flag() DocumentFlag
	Meter() flow_metrics.Meter
	Release()
	WriteBlock(block *ckdb.Block)
	OrgID() uint16
	TableID() (uint8, error)
	String() string
	AddReferenceCount()
	AddReferenceCountN(n int32)
	DataSource() uint32
	GetFieldValueByOffsetAndKind(offset uintptr, kind reflect.Kind, dataType utils.DataType) interface{}
	TimestampUs() int64
}

func DecodeForQueueMonitor

func DecodeForQueueMonitor(decoder *codec.SimpleDecoder) (Document, error)

queue monitor 打印时使用

func DecodePB

func DecodePB(decoder *codec.SimpleDecoder, pbDoc *pb.Document) (Document, error)

type DocumentApp

type DocumentApp struct {
	DocumentBase
	flow_metrics.AppMeter
}

func AcquireDocumentApp

func AcquireDocumentApp() *DocumentApp

func (*DocumentApp) GetFieldValueByOffsetAndKind

func (d *DocumentApp) GetFieldValueByOffsetAndKind(offset uintptr, kind reflect.Kind, dataType utils.DataType) interface{}

func (*DocumentApp) Meter

func (d *DocumentApp) Meter() flow_metrics.Meter

func (*DocumentApp) Release

func (d *DocumentApp) Release()

func (*DocumentApp) String

func (d *DocumentApp) String() string

func (*DocumentApp) WriteBlock

func (d *DocumentApp) WriteBlock(block *ckdb.Block)

type DocumentBase

type DocumentBase struct {
	pool.ReferenceCount
	Timestamp uint32 `json:"time" category:"$tag" sub:"flow_info"`
	Flags     DocumentFlag
	flow_metrics.Tag
}

func (*DocumentBase) DataSource

func (b *DocumentBase) DataSource() uint32

func (*DocumentBase) Flag

func (b *DocumentBase) Flag() DocumentFlag

func (*DocumentBase) OrgID

func (b *DocumentBase) OrgID() uint16

func (*DocumentBase) TableID

func (b *DocumentBase) TableID() (uint8, error)

func (*DocumentBase) Tags

func (b *DocumentBase) Tags() *flow_metrics.Tag

func (*DocumentBase) Time

func (b *DocumentBase) Time() uint32

func (*DocumentBase) TimestampUs

func (e *DocumentBase) TimestampUs() int64

type DocumentFlag

type DocumentFlag uint32
const (
	FLAG_PER_SECOND_METRICS DocumentFlag = 1 << iota
)

type DocumentFlow

type DocumentFlow struct {
	DocumentBase
	flow_metrics.FlowMeter
}

func AcquireDocumentFlow

func AcquireDocumentFlow() *DocumentFlow

func (*DocumentFlow) GetFieldValueByOffsetAndKind

func (d *DocumentFlow) GetFieldValueByOffsetAndKind(offset uintptr, kind reflect.Kind, dataType utils.DataType) interface{}

func (*DocumentFlow) GetStringValue

func (d *DocumentFlow) GetStringValue(offset uintptr, kind reflect.Kind) string

func (*DocumentFlow) Meter

func (d *DocumentFlow) Meter() flow_metrics.Meter

func (*DocumentFlow) Release

func (d *DocumentFlow) Release()

func (*DocumentFlow) String

func (d *DocumentFlow) String() string

func (*DocumentFlow) WriteBlock

func (d *DocumentFlow) WriteBlock(block *ckdb.Block)

type DocumentUsage

type DocumentUsage struct {
	DocumentBase
	flow_metrics.UsageMeter
}

func AcquireDocumentUsage

func AcquireDocumentUsage() *DocumentUsage

func (*DocumentUsage) GetFieldValueByOffsetAndKind

func (d *DocumentUsage) GetFieldValueByOffsetAndKind(offset uintptr, kind reflect.Kind, dataType utils.DataType) interface{}

func (*DocumentUsage) Meter

func (d *DocumentUsage) Meter() flow_metrics.Meter

func (*DocumentUsage) Release

func (d *DocumentUsage) Release()

func (*DocumentUsage) String

func (d *DocumentUsage) String() string

func (*DocumentUsage) WriteBlock

func (d *DocumentUsage) WriteBlock(block *ckdb.Block)

type FlowProcessor

type FlowProcessor interface {
	GetName() string
	Prepare()
	Process(*datatype.TaggedFlow, bool) []interface{}
}

type MeteringProcessor

type MeteringProcessor interface {
	GetName() string
	Prepare()
	Process(*datatype.TaggedFlow, bool) []interface{}
}

Jump to

Keyboard shortcuts

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