sql

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Migrate

func Migrate(logger hclog.Logger, connStr string) error

Types

type DBTX

type DBTX interface {
	Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
	Query(context.Context, string, ...interface{}) (pgx.Rows, error)
	QueryRow(context.Context, string, ...interface{}) pgx.Row
	CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNames []string, rowSrc pgx.CopyFromSource) (int64, error)
}

type FindTraceIDsParams

type FindTraceIDsParams struct {
	ServiceName            string
	ServiceNameEnable      bool
	OperationName          string
	OperationNameEnable    bool
	StartTimeMinimum       pgtype.Timestamptz
	StartTimeMinimumEnable bool
	StartTimeMaximum       pgtype.Timestamptz
	StartTimeMaximumEnable bool
	DurationMinimum        pgtype.Interval
	DurationMinimumEnable  bool
	DurationMaximum        pgtype.Interval
	DurationMaximumEnable  bool
	NumTraces              int
}

type GetDependenciesRow

type GetDependenciesRow struct {
	CallCount int64
	Parent    string
	Child     string
	Source    string
}

type GetOperationIDParams

type GetOperationIDParams struct {
	Name      string
	ServiceID int64
	Kind      Spankind
}

type GetOperationsRow

type GetOperationsRow struct {
	Name string
	Kind Spankind
}

type GetTraceSpansRow

type GetTraceSpansRow struct {
	SpanID        []byte
	TraceID       []byte
	OperationName string
	Flags         pgtype.Int8
	StartTime     pgtype.Timestamptz
	Duration      pgtype.Interval
	Tags          []byte
	ProcessID     string
	Warnings      []string
	Kind          Spankind
	ProcessName   string
	ProcessTags   []byte
	Logs          []byte
}

type InsertSpanParams

type InsertSpanParams struct {
	SpanID      []byte
	TraceID     []byte
	OperationID int64
	Flags       int64
	StartTime   pgtype.Timestamptz
	Duration    pgtype.Interval
	Tags        []byte
	ServiceID   int64
	ProcessID   string
	ProcessTags []byte
	Warnings    []string
	Kind        Spankind
	Logs        []byte
}

type InsertSpanRefsParams

type InsertSpanRefsParams struct {
	SourceSpanID []byte
	ChildSpanID  []byte
	TraceID      []byte
	RefType      string
}

type NullSpankind

type NullSpankind struct {
	Spankind Spankind
	Valid    bool // Valid is true if Spankind is not NULL
}

func (*NullSpankind) Scan

func (ns *NullSpankind) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullSpankind) Value

func (ns NullSpankind) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Operation

type Operation struct {
	ID        int64
	Name      string
	ServiceID int64
	Kind      Spankind
}

type Queries

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

func New

func New(db DBTX) *Queries

func (*Queries) FindTraceIDs

func (q *Queries) FindTraceIDs(ctx context.Context, arg FindTraceIDsParams) ([][]byte, error)

func (*Queries) GetDependencies

func (q *Queries) GetDependencies(ctx context.Context) ([]GetDependenciesRow, error)

func (*Queries) GetOperationID

func (q *Queries) GetOperationID(ctx context.Context, arg GetOperationIDParams) (int64, error)

func (*Queries) GetOperations

func (q *Queries) GetOperations(ctx context.Context, serviceName string) ([]GetOperationsRow, error)

func (*Queries) GetServiceID

func (q *Queries) GetServiceID(ctx context.Context, name string) (int64, error)

func (*Queries) GetServices

func (q *Queries) GetServices(ctx context.Context) ([]string, error)

func (*Queries) GetTraceSpans

func (q *Queries) GetTraceSpans(ctx context.Context, traceID []byte) ([]GetTraceSpansRow, error)

func (*Queries) InsertSpan

func (q *Queries) InsertSpan(ctx context.Context, arg InsertSpanParams) (int64, error)

func (*Queries) InsertSpanRefs

func (q *Queries) InsertSpanRefs(ctx context.Context, arg []InsertSpanRefsParams) (int64, error)

func (*Queries) UpsertOperation

func (q *Queries) UpsertOperation(ctx context.Context, arg UpsertOperationParams) error

func (*Queries) UpsertService

func (q *Queries) UpsertService(ctx context.Context, name string) error

-- name: FindTraceIDs :many SELECT DISTINCT spans.trace_id FROM spans

INNER JOIN operations ON (operations.id = spans.operation_id)
INNER JOIN services ON (services.id = spans.service_id)

WHERE

(services.name = sqlc.arg(service_name)::VARCHAR OR sqlc.arg(service_name_enable)::BOOLEAN = FALSE) AND
(operations.name = sqlc.arg(operation_name)::VARCHAR OR sqlc.arg(operation_name_enable)::BOOLEAN = FALSE) AND
(start_time >= sqlc.arg(start_time_minimum)::TIMESTAMPTZ OR sqlc.arg(start_time_minimum_enable)::BOOLEAN = FALSE) AND
(start_time < sqlc.arg(start_time_maximum)::TIMESTAMPTZ OR sqlc.arg(start_time_maximum_enable)::BOOLEAN = FALSE) AND
(duration > sqlc.arg(duration_minimum)::INTERVAL OR sqlc.arg(duration_minimum_enable)::BOOLEAN = FALSE) AND
(duration < sqlc.arg(duration_maximum)::INTERVAL OR sqlc.arg(duration_maximum_enable)::BOOLEAN = FALSE)

; LIMIT sqlc.arg(limit)::INT;

func (*Queries) WithTx

func (q *Queries) WithTx(tx pgx.Tx) *Queries

type Service

type Service struct {
	ID   int64
	Name string
}

type Span

type Span struct {
	HackID      int64
	SpanID      []byte
	TraceID     []byte
	OperationID int64
	Flags       pgtype.Int8
	StartTime   pgtype.Timestamptz
	Duration    pgtype.Interval
	Tags        []byte
	ServiceID   int64
	ProcessID   string
	ProcessTags []byte
	Warnings    []string
	Logs        []byte
	Kind        Spankind
}

type Spankind

type Spankind string
const (
	SpankindServer      Spankind = "server"
	SpankindClient      Spankind = "client"
	SpankindUnspecified Spankind = "unspecified"
	SpankindProducer    Spankind = "producer"
	SpankindConsumer    Spankind = "consumer"
	SpankindEphemeral   Spankind = "ephemeral"
	SpankindInternal    Spankind = "internal"
)

func (*Spankind) Scan

func (e *Spankind) Scan(src interface{}) error

type Spanref

type Spanref struct {
	ID           int64
	SourceSpanID []byte
	ChildSpanID  []byte
	TraceID      []byte
	RefType      string
}

type UpsertOperationParams

type UpsertOperationParams struct {
	Name      string
	ServiceID int64
	Kind      Spankind
}

Jump to

Keyboard shortcuts

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