chstorage

package
v0.9.0 Latest Latest
Warning

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

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

Documentation

Overview

Package chstorage provides Clickhouse-based storage.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Attributes added in v0.5.0

type Attributes struct {
	Name  string
	Value proto.ColumnOf[otelstorage.Attrs]
}

func NewAttributes added in v0.5.0

func NewAttributes(name string) *Attributes

NewAttributes constructs a new Attributes storage representation.

func (*Attributes) Append added in v0.5.0

func (a *Attributes) Append(kv otelstorage.Attrs)

Append adds a new map of attributes.

func (*Attributes) Columns added in v0.5.0

func (a *Attributes) Columns() Columns

Columns returns a slice of Columns for this attribute set.

func (*Attributes) Row added in v0.5.0

func (a *Attributes) Row(idx int) otelstorage.Attrs

Row returns a new map of attributes for a given row.

type ClickhouseClient added in v0.7.0

type ClickhouseClient interface {
	Do(ctx context.Context, q ch.Query) error
	Ping(ctx context.Context) error
}

func Dial added in v0.5.0

func Dial(ctx context.Context, dsn string, opts DialOptions) (ClickhouseClient, error)

Dial creates new ClickhouseClient using given DSN.

func NewDialingClickhouseClient added in v0.7.0

func NewDialingClickhouseClient(options ch.Options) ClickhouseClient

type Column added in v0.5.0

type Column struct {
	Name string
	Data proto.Column
}

Column is a column with name and data that can be used in INSERT or SELECT query.

type Columns added in v0.5.0

type Columns []Column

Columns is a set of Columns.

func MergeColumns added in v0.5.0

func MergeColumns(sets ...Columns) Columns

MergeColumns merges multiple sets of columns into one.

func (Columns) All added in v0.5.0

func (c Columns) All() string

All returns comma-separated column names for using in SELECT query instead of `SELECT *`.

func (Columns) Input added in v0.5.0

func (c Columns) Input() proto.Input

Input returns columns for using in INSERT query.

func (Columns) Names added in v0.5.0

func (c Columns) Names() []string

Names returns a slice of column names.

func (Columns) Reset added in v0.5.0

func (c Columns) Reset()

Reset columns.

func (Columns) Result added in v0.5.0

func (c Columns) Result() proto.Results

Result returns columns for using in SELECT query.

type DialOptions added in v0.5.0

type DialOptions struct {
	// MeterProvider provides OpenTelemetry meter for pool.
	MeterProvider metric.MeterProvider
	// TracerProvider provides OpenTelemetry tracer for pool.
	TracerProvider trace.TracerProvider
	// Logger provides logger for pool.
	Logger *zap.Logger
}

DialOptions is Dial function options.

type Inserter

type Inserter struct {
	// contains filtered or unexported fields
}

Inserter implements tracestorage.Inserter using Clickhouse.

func NewInserter

func NewInserter(c ClickhouseClient, opts InserterOptions) (*Inserter, error)

NewInserter creates new Inserter.

func (*Inserter) ConsumeMetrics added in v0.1.0

func (i *Inserter) ConsumeMetrics(ctx context.Context, metrics pmetric.Metrics) error

ConsumeMetrics inserts given metrics.

func (*Inserter) InsertLogLabels added in v0.1.0

func (i *Inserter) InsertLogLabels(ctx context.Context, set map[logstorage.Label]struct{}) (rerr error)

InsertLogLabels inserts given set of labels to the storage.

func (*Inserter) InsertRecords added in v0.1.0

func (i *Inserter) InsertRecords(ctx context.Context, records []logstorage.Record) (rerr error)

InsertRecords inserts given records.

func (*Inserter) InsertSpans

func (i *Inserter) InsertSpans(ctx context.Context, spans []tracestorage.Span) (rerr error)

InsertSpans inserts given spans.

func (*Inserter) InsertTags

func (i *Inserter) InsertTags(ctx context.Context, tags map[tracestorage.Tag]struct{}) (rerr error)

InsertTags insert given set of tags to the storage.

type InserterOptions added in v0.0.8

type InserterOptions struct {
	// Tables provides table paths to query.
	Tables Tables
	// MeterProvider provides OpenTelemetry meter for this querier.
	MeterProvider metric.MeterProvider
	// TracerProvider provides OpenTelemetry tracer for this querier.
	TracerProvider trace.TracerProvider

	// Sync disables batching.
	Sync bool
}

InserterOptions is Inserter's options.

type Querier

type Querier struct {
	// contains filtered or unexported fields
}

Querier implements tracestorage.Querier using Clickhouse.

func NewQuerier

func NewQuerier(c ClickhouseClient, opts QuerierOptions) (*Querier, error)

NewQuerier creates new Querier.

func (*Querier) Capabilities added in v0.1.0

func (q *Querier) Capabilities() (caps logqlengine.QuerierCapabilities)

Capabilities implements logqlengine.Querier.

func (*Querier) ExemplarQuerier added in v0.2.0

func (q *Querier) ExemplarQuerier(ctx context.Context) (storage.ExemplarQuerier, error)

Querier returns a new Querier on the storage.

func (*Querier) LabelNames added in v0.1.0

func (q *Querier) LabelNames(ctx context.Context, opts logstorage.LabelsOptions) (_ []string, rerr error)

LabelNames implements logstorage.Querier.

func (*Querier) LabelValues added in v0.1.0

func (q *Querier) LabelValues(ctx context.Context, labelName string, opts logstorage.LabelsOptions) (_ iterators.Iterator[logstorage.Label], rerr error)

LabelValues implements logstorage.Querier.

func (*Querier) Querier added in v0.1.0

func (q *Querier) Querier(mint, maxt int64) (storage.Querier, error)

Querier returns a new Querier on the storage.

func (*Querier) SearchTags

SearchTags performs search by given tags.

func (*Querier) SelectLogs added in v0.1.0

SelectLogs implements logqlengine.Querier.

func (*Querier) SelectSpansets added in v0.0.8

SelectSpansets get spansets from storage.

func (*Querier) TagNames

func (q *Querier) TagNames(ctx context.Context) (r []string, rerr error)

TagNames returns all available tag names.

func (*Querier) TagValues

func (q *Querier) TagValues(ctx context.Context, tagName string) (_ iterators.Iterator[tracestorage.Tag], rerr error)

TagValues returns all available tag values for given tag.

func (*Querier) TraceByID

TraceByID returns spans of given trace.

type QuerierOptions added in v0.0.8

type QuerierOptions struct {
	// Tables provides table paths to query.
	Tables Tables
	// MeterProvider provides OpenTelemetry meter for this querier.
	MeterProvider metric.MeterProvider
	// TracerProvider provides OpenTelemetry tracer for this querier.
	TracerProvider trace.TracerProvider
}

QuerierOptions is Querier's options.

type Tables

type Tables struct {
	Spans string
	Tags  string

	Points        string
	ExpHistograms string
	Exemplars     string
	Labels        string

	Logs     string
	LogAttrs string

	Migration string

	TTL     time.Duration
	Cluster string
}

Tables define table names.

func DefaultTables added in v0.1.0

func DefaultTables() Tables

DefaultTables returns default tables.

func (Tables) Create

func (t Tables) Create(ctx context.Context, c ClickhouseClient) error

Create creates tables.

func (*Tables) Each added in v0.1.0

func (t *Tables) Each(cb func(name *string) error) error

Each calls given callback for each table.

func (*Tables) Validate added in v0.1.0

func (t *Tables) Validate() error

Validate checks table names

Jump to

Keyboard shortcuts

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