core

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrCheck = errors.New("check failed")

Functions

This section is empty.

Types

type DisallowCertainMetricsChecker

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

func NewDisallowCertainMetricsChecker

func NewDisallowCertainMetricsChecker(metrics []string) *DisallowCertainMetricsChecker

func (*DisallowCertainMetricsChecker) Check

func (c *DisallowCertainMetricsChecker) Check(metricFamilies map[string]*dto.MetricFamily) (bool, string)

func (DisallowCertainMetricsChecker) String

type DisallowEmptyMetricsChecker

type DisallowEmptyMetricsChecker struct{}

func NewDisallowEmptyMetricsChecker

func NewDisallowEmptyMetricsChecker() *DisallowEmptyMetricsChecker

func (*DisallowEmptyMetricsChecker) Check

func (c *DisallowEmptyMetricsChecker) Check(metricFamilies map[string]*dto.MetricFamily) (bool, string)

func (DisallowEmptyMetricsChecker) String

type DockerCompose

type DockerCompose struct {
	compose.ComposeStack
}

func NewDockerCompose

func NewDockerCompose(composeFilePath string) (*DockerCompose, error)

func (*DockerCompose) Setup

func (c *DockerCompose) Setup(ctx context.Context) error

Setup starts the docker-compose stack.

func (*DockerCompose) TearDown

func (c *DockerCompose) TearDown(ctx context.Context) error

TearDown stops and removes the docker-compose stack.

type DockerComposeExporter

type DockerComposeExporter struct {
	compose.ComposeStack
	// contains filtered or unexported fields
}

func NewDockerComposeExporter

func NewDockerComposeExporter(composeStack compose.ComposeStack, exporterService string, startupTimeout time.Duration) *DockerComposeExporter

func (*DockerComposeExporter) Start

Start wait for the service to be ready and returns the endpoint.

type Exporter

type Exporter interface {
	Start(ctx context.Context) (string, error)
}

type Fixture

type Fixture interface {
	Setup(ctx context.Context) error
	TearDown(ctx context.Context) error
}

type HTTPClient

type HTTPClient interface {
	Get(string) (*http.Response, error)
}

type MetricChecker

type MetricChecker struct {
	*Runner
	// contains filtered or unexported fields
}

func NewMetricChecker

func NewMetricChecker(
	exporter Exporter,
	fixtures []Fixture,
	metricPath string,
	disallowedMetrics []string,
	allowEmpty bool,
	metrics []MetricsConfig,
) *MetricChecker

func (*MetricChecker) BuildChecker

func (c *MetricChecker) BuildChecker() ([]MetricFamiliesChecker, error)

func (*MetricChecker) Check

func (c *MetricChecker) Check(ctx context.Context) error

func (*MetricChecker) CheckMetrics

func (c *MetricChecker) CheckMetrics(ctx context.Context, metricFamily map[string]*dto.MetricFamily) error

type MetricFamiliesChecker

type MetricFamiliesChecker interface {
	Check(metricFamily map[string]*dto.MetricFamily) (bool, string)
}

type MetricFamiliesCheckerBuilder

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

func NewMetricFamiliesCheckerBuilder

func NewMetricFamiliesCheckerBuilder() *MetricFamiliesCheckerBuilder

func (*MetricFamiliesCheckerBuilder) Build

Build 将所有检查器组合成一个切片并返回。

func (*MetricFamiliesCheckerBuilder) DisallowedMetrics

func (b *MetricFamiliesCheckerBuilder) DisallowedMetrics(metrics []string)

DisallowedMetrics 添加一个禁止指定指标的检查器。

func (*MetricFamiliesCheckerBuilder) EmptyMetricsChecker

func (b *MetricFamiliesCheckerBuilder) EmptyMetricsChecker()

EmptyMetricsChecker 添加一个禁止空指标的检查器。

func (*MetricFamiliesCheckerBuilder) GlobalCheckers

func (b *MetricFamiliesCheckerBuilder) GlobalCheckers(checker MetricFamiliesChecker)

GlobalCheckers 往全局检查器列表中添加一个 MetricFamiliesChecker。

func (*MetricFamiliesCheckerBuilder) MetricExistsChecker

func (b *MetricFamiliesCheckerBuilder) MetricExistsChecker(metric string)

MetricExistsChecker 添加一个确保指定指标存在的检查器。

func (*MetricFamiliesCheckerBuilder) MetricLabelChecker

func (b *MetricFamiliesCheckerBuilder) MetricLabelChecker(metric string, label ...string)

MetricLabelChecker 添加一个确保指定指标有正确标签的检查器。

func (*MetricFamiliesCheckerBuilder) MetricLabelDisallowChecker

func (b *MetricFamiliesCheckerBuilder) MetricLabelDisallowChecker(metric string, label ...string)

MetricLabelDisallowChecker 添加一个禁止指定指标的指定标签的检查器。

func (*MetricFamiliesCheckerBuilder) MetricTypeChecker

func (b *MetricFamiliesCheckerBuilder) MetricTypeChecker(metric string, metricType string)

MetricTypeChecker 添加一个确保指定指标类型正确的检查器。

func (*MetricFamiliesCheckerBuilder) MetricsCheckers

func (b *MetricFamiliesCheckerBuilder) MetricsCheckers(metric string, checkers ...MetricFamiliesChecker)

MetricsCheckers 往指定指标的检查器列表中添加一个检查器。

type MetricLabelChecker

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

func NewMetricLabelChecker

func NewMetricLabelChecker(expectedMetric string, expectedLabels []string) *MetricLabelChecker

func (*MetricLabelChecker) Check

func (c *MetricLabelChecker) Check(metricFamilies map[string]*dto.MetricFamily) (bool, string)

func (MetricLabelChecker) String

func (m MetricLabelChecker) String() string

type MetricLabelDisallowChecker

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

func NewMetricLabelDisallowChecker

func NewMetricLabelDisallowChecker(expectedMetric string, disallowedLabels []string) *MetricLabelDisallowChecker

func (*MetricLabelDisallowChecker) Check

func (c *MetricLabelDisallowChecker) Check(metricFamilies map[string]*dto.MetricFamily) (bool, string)

type MetricsConfig

type MetricsConfig struct {
	Name             string   `mapstructure:"name"`
	Type             string   `mapstructure:"type"`
	Labels           []string `mapstructure:"labels"`
	DisallowedLabels []string `mapstructure:"disallowed_labels"`
}

type Runner

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

func NewRunner

func NewRunner(exporter Exporter, fixtures []Fixture, metricPath string) *Runner

func (*Runner) FetchMetricFamilies

func (r *Runner) FetchMetricFamilies(ctx context.Context, baseUrl string) (map[string]*dto.MetricFamily, error)

func (*Runner) Run

func (r *Runner) Run(ctx context.Context, callback func(ctx context.Context, metricFamilies map[string]*dto.MetricFamily) error) error

func (*Runner) SetupFixtures

func (r *Runner) SetupFixtures(ctx context.Context) error

func (*Runner) TearDownFixtures

func (r *Runner) TearDownFixtures(ctx context.Context) error

type SingleMetricExistsChecker

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

func NewSingleMetricExistsChecker

func NewSingleMetricExistsChecker(expectedMetric string) *SingleMetricExistsChecker

func (*SingleMetricExistsChecker) Check

func (c *SingleMetricExistsChecker) Check(metricFamilies map[string]*dto.MetricFamily) (bool, string)

func (SingleMetricExistsChecker) String

func (s SingleMetricExistsChecker) String() string

type SingleMetricTypeChecker

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

func NewSingleMetricTypeChecker

func NewSingleMetricTypeChecker(expectedMetric string, expectedType string) *SingleMetricTypeChecker

func (*SingleMetricTypeChecker) Check

func (c *SingleMetricTypeChecker) Check(metricFamilies map[string]*dto.MetricFamily) (bool, string)

func (SingleMetricTypeChecker) String

func (s SingleMetricTypeChecker) String() string

Jump to

Keyboard shortcuts

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