Help us shape the future of Go! Take the 2026 Go Developer Survey

metrics

package
v0.26.3 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2018 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CircleCIEnvironment

type CircleCIEnvironment struct {
	Branch      string `envconfig:"CIRCLE_BRANCH"`
	BuildNumber string `envconfig:"CIRCLE_BUILD_NUM"`
	CommitSha   string `envconfig:"CIRCLE_SHA1"`
	Job         string `envconfig:"CIRCLE_JOB"`
}

CircleCIEnvironment holds information about a test run within circleci

type Config

type Config struct {
	Address    string `envconfig:"INFLUX_ADDRESS" required:"true"`
	Username   string `envconfig:"INFLUX_USERNAME" required:"true"`
	Password   string `envconfig:"INFLUX_PASSWORD" required:"true"`
	Database   string `envconfig:"INFLUX_DATABASE" required:"true"`
	IsCircle   bool   `envconfig:"CIRCLECI"`
	IsJenkins  bool   `envconfig:"IS_JENKINS"`
	CircleEnv  *CircleCIEnvironment
	JenkinsEnv *JenkinsCIEnvironment
}

Config holds information on how to talk to influxdb

func ParseConfig

func ParseConfig() (*Config, error)

ParseConfig will parse needed environment variables for running the tests

type JenkinsCIEnvironment

type JenkinsCIEnvironment struct {
	Branch      string `envconfig:"GIT_BRANCH"`
	BuildNumber string `envconfig:"BUILD_NUMBER"`
	CommitSha   string `envconfig:"GIT_COMMIT"`
	Job         string `envconfig:"JOB_NAME"`
}

JenkinsCIEnvironment holds information about a test run within jenkins

type Point

type Point struct {
	ProvisionStart      time.Time
	NodeWaitStart       time.Time
	TestStart           time.Time
	OverallStart        time.Time
	ProvisionDuration   time.Duration
	NodeWaitDuration    time.Duration
	TestDuration        time.Duration
	OverallDuration     time.Duration
	TestErrorCount      float64
	ProvisionErrorCount float64
	NodeWaitErrorCount  float64
	Tags                map[string]string
}

Point holds data that will be written to influx

func BuildPoint

func BuildPoint(orchestrator, location, clusterDefinition, subscriptionID string) *Point

BuildPoint scaffolds a point object that stores information before being written to influx

func (*Point) RecordNodeWait

func (p *Point) RecordNodeWait(err error)

RecordNodeWait will set NodeWaitDuration to time.Since(p.NodeWaitStart)

func (*Point) RecordProvisionError

func (p *Point) RecordProvisionError()

RecordProvisionError sets appropriate values for when a test error occurs

func (*Point) RecordProvisionSuccess

func (p *Point) RecordProvisionSuccess()

RecordProvisionSuccess sets TestErrorCount to 0 to mark tests succeeded

func (*Point) RecordTestError

func (p *Point) RecordTestError()

RecordTestError sets appropriate values for when a test error occurs

func (*Point) RecordTestSuccess

func (p *Point) RecordTestSuccess()

RecordTestSuccess sets TestErrorCount to 0 to mark tests succeeded

func (*Point) RecordTotalTime

func (p *Point) RecordTotalTime()

RecordTotalTime captures total runtime of tests

func (*Point) SetNodeWaitStart

func (p *Point) SetNodeWaitStart()

SetNodeWaitStart will set NodeWaitStart value to time.Now()

func (*Point) SetProvisionMetrics

func (p *Point) SetProvisionMetrics(data []byte)

SetProvisionMetrics will parse the csv data retrieved from /opt/m and set appropriate fields

func (*Point) SetProvisionStart

func (p *Point) SetProvisionStart()

SetProvisionStart will set ProvisionStart value to time.Now()

func (*Point) SetTestStart

func (p *Point) SetTestStart()

SetTestStart will set TestStart value to time.Now()

func (*Point) Write

func (p *Point) Write()

Jump to

Keyboard shortcuts

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