Documentation ¶
Index ¶
- type CircleCIEnvironment
- type Config
- type JenkinsCIEnvironment
- type Point
- func (p *Point) RecordNodeWait(err error)
- func (p *Point) RecordProvisionError()
- func (p *Point) RecordProvisionSuccess()
- func (p *Point) RecordTestError()
- func (p *Point) RecordTestSuccess()
- func (p *Point) RecordTotalTime()
- func (p *Point) SetNodeWaitStart()
- func (p *Point) SetProvisionMetrics(data []byte)
- func (p *Point) SetProvisionStart()
- func (p *Point) SetTestStart()
- func (p *Point) Write()
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 ¶
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 ¶
BuildPoint scaffolds a point object that stores information before being written to influx
func (*Point) RecordNodeWait ¶
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 ¶
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()