core

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: May 28, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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

Functions

func RunScript added in v0.1.1

func RunScript(ctx context.Context, command string) error

func RunScripts added in v0.1.1

func RunScripts(ctx context.Context, commands []string) error

Types

type ContainerScriptFixture added in v0.1.1

type ContainerScriptFixture struct {
	Name             string
	Container        string
	SetupCommands    []string
	TeardownCommands []string
	// contains filtered or unexported fields
}

func NewContainerScriptFixture added in v0.1.1

func NewContainerScriptFixture(dockerCompose *DockerCompose, name, container string, setup, teardown []string) *ContainerScriptFixture

func (*ContainerScriptFixture) Setup added in v0.1.1

func (*ContainerScriptFixture) String added in v0.1.1

func (c *ContainerScriptFixture) String() string

func (*ContainerScriptFixture) TearDown added in v0.1.1

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

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

	RemoveAllImages bool
}

func NewDockerCompose

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

func (*DockerCompose) Setup

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

Setup starts the docker-compose stack.

func (*DockerCompose) String added in v0.1.1

func (c *DockerCompose) String() string

func (*DockerCompose) TearDown

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

TearDown stops and removes the docker-compose stack.

type DockerComposeExporter

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

func NewDockerComposeExporter

func NewDockerComposeExporter(dockerCompose *DockerCompose, 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 ExternalExporter added in v0.1.1

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

func NewExternalExporter added in v0.1.1

func NewExternalExporter(baseurl string) *ExternalExporter

func (*ExternalExporter) Start added in v0.1.1

func (e *ExternalExporter) 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,
	waitDuration time.Duration,
) *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) MetricSampleChecker added in v0.1.1

func (b *MetricFamiliesCheckerBuilder) MetricSampleChecker(metric string, labels map[string]string)

MetricSampleChecker 添加一个确保指定指标有正确样本的检查器。

func (*MetricFamiliesCheckerBuilder) MetricSampleValueChecker added in v0.1.1

func (b *MetricFamiliesCheckerBuilder) MetricSampleValueChecker(metric string, labels map[string]string, value float64)

MetricSampleValueChecker 添加一个确保指定指标有正确样本值的检查器。

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)

func (MetricLabelDisallowChecker) String added in v0.1.1

type MetricSample added in v0.1.1

type MetricSample struct {
	Labels map[string]string `json:"labels,omitempty"`
	Value  *float64          `json:"value"`
}

type MetricSampleChecker added in v0.1.1

type MetricSampleChecker struct {
	Name string
	// contains filtered or unexported fields
}

func NewMetricSampleChecker added in v0.1.1

func NewMetricSampleChecker(name string, labels map[string]string) *MetricSampleChecker

func (*MetricSampleChecker) Check added in v0.1.1

func (m *MetricSampleChecker) Check(metricFamilies map[string]*dto.MetricFamily) (bool, string)

func (*MetricSampleChecker) String added in v0.1.1

func (m *MetricSampleChecker) String() string

type MetricSampleValueChecker added in v0.1.1

type MetricSampleValueChecker struct {
	Name  string
	Value float64
	// contains filtered or unexported fields
}

func NewMetricSampleValueChecker added in v0.1.1

func NewMetricSampleValueChecker(name string, labels map[string]string, value float64) *MetricSampleValueChecker

func (*MetricSampleValueChecker) Check added in v0.1.1

func (m *MetricSampleValueChecker) Check(metricFamilies map[string]*dto.MetricFamily) (bool, string)

func (*MetricSampleValueChecker) String added in v0.1.1

func (m *MetricSampleValueChecker) String() string

type MetricsConfig

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

type Runner

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

func NewRunner

func NewRunner(exporter Exporter, fixtures []Fixture, metricPath string, waitDuration time.Duration) *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) ([]Fixture, error)

func (*Runner) TearDownFixtures

func (r *Runner) TearDownFixtures(ctx context.Context, fixtures []Fixture) (ok bool)

type ScriptFixture added in v0.1.1

type ScriptFixture struct {
	Name             string
	SetupCommands    []string
	TeardownCommands []string
}

func NewScriptFixture added in v0.1.1

func NewScriptFixture(name string, setup, teardown []string) *ScriptFixture

func (ScriptFixture) Setup added in v0.1.1

func (s ScriptFixture) Setup(ctx context.Context) error

func (ScriptFixture) String added in v0.1.1

func (s ScriptFixture) String() string

func (ScriptFixture) TearDown added in v0.1.1

func (s ScriptFixture) TearDown(ctx context.Context) error

type ScriptHook added in v0.1.1

type ScriptHook struct {
	Name      string   `mapstructure:"name"`
	Container string   `mapstructure:"container"`
	Setup     []string `mapstructure:"setup"`
	TearDown  []string `mapstructure:"teardown"`
}

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