| Index: go/src/infra/monitoring/messages/buildextract.go
|
| diff --git a/go/src/infra/monitoring/messages/buildextract.go b/go/src/infra/monitoring/messages/buildextract.go
|
| index 42a7286925d3a788b6a00383dfa034143ebca593..cb46b39a11b63f9f959eb810065f1a7ea7fe6171 100644
|
| --- a/go/src/infra/monitoring/messages/buildextract.go
|
| +++ b/go/src/infra/monitoring/messages/buildextract.go
|
| @@ -9,10 +9,9 @@ package messages
|
|
|
| // BuildExtract is AKA "master_data" from builder_alerts.py.
|
| type BuildExtract struct {
|
| - AcceptingBuilds AcceptingBuilds `json:"accepting_builds"`
|
| - Builders map[string]Builders `json:"builders"`
|
| - Buildstate Buildstate `json:"buildstate"`
|
| - // ChangeSources map[float64]ChangeSources `json:"change_sources"`
|
| + AcceptingBuilds AcceptingBuilds `json:"accepting_builds"`
|
| + Builders map[string]Builders `json:"builders"`
|
| + Buildstate Buildstate `json:"buildstate"`
|
| Changes map[string]Changes `json:"changes"`
|
| Clock Clock `json:"clock"`
|
| Created string `json:"created"`
|
| @@ -22,6 +21,31 @@ type BuildExtract struct {
|
| Slaves map[string]Slaves `json:"slaves"`
|
| }
|
|
|
| +// Builder represents a buildbot builder's state.
|
| +type Builder struct {
|
| + Builds []Builds `json:"builds"`
|
| + Cursor string `json:"cursor"`
|
| +}
|
| +
|
| +// Builds represents a buildbot build.
|
| +type Builds struct {
|
| + Blame []string `json:"blame"`
|
| + BuilderName string `json:"builderName"`
|
| + CreatedTimestamp EpochTime `json:"created_timestamp"`
|
| + CurrentStep `json:"currentStep"`
|
| + Eta EpochTime `json:"eta"`
|
| + Logs [][]string `json:"logs"`
|
| + Number int64 `json:"number"`
|
| + Properties [][]interface{} `json:"properties"`
|
| + Reason string `json:"reason"`
|
| + Results int64 `json:"results"`
|
| + Slave string `json:"slave"`
|
| + SourceStamp SourceStamp `json:"sourceStamp"`
|
| + Steps []Steps `json:"steps"`
|
| + Text []string `json:"text"`
|
| + Times []EpochTime `json:"times"`
|
| +}
|
| +
|
| // Slaves is an automatically generated type.
|
| type Slaves struct {
|
| // AccessUri map[string]interface{} `json:"access_uri"`
|
| @@ -30,21 +54,21 @@ type Slaves struct {
|
| Connected bool `json:"connected"`
|
| Host string `json:"host"`
|
| Name string `json:"name"`
|
| - RunningBuilds []RunningBuilds `json:"runningBuilds"`
|
| + RunningBuilds []Builds `json:"runningBuilds"`
|
| Version string `json:"version"`
|
| }
|
|
|
| // Builders is an automatically generated type.
|
| type Builders struct {
|
| - Basedir string `json:"basedir"`
|
| - BuildState URLs `json:"buildState"`
|
| - BuilderName string `json:"builderName"`
|
| - CachedBuilds []float64 `json:"cachedBuilds"`
|
| - Category string `json:"category"`
|
| - CurrentBuilds []float64 `json:"currentBuilds"`
|
| - PendingBuilds float64 `json:"pendingBuilds"`
|
| - Slaves []string `json:"slaves"`
|
| - State string `json:"state"`
|
| + Basedir string `json:"basedir"`
|
| + BuildState URLs `json:"buildState"`
|
| + BuilderName string `json:"builderName"`
|
| + CachedBuilds []int64 `json:"cachedBuilds"`
|
| + Category string `json:"category"`
|
| + CurrentBuilds []int64 `json:"currentBuilds"`
|
| + PendingBuilds float64 `json:"pendingBuilds"`
|
| + Slaves []string `json:"slaves"`
|
| + State string `json:"state"`
|
| }
|
|
|
| // Project is an automatically generated type.
|
| @@ -124,24 +148,6 @@ type Clock struct {
|
| type URLs struct {
|
| }
|
|
|
| -// RunningBuilds is an automatically generated type.
|
| -type RunningBuilds struct {
|
| - Blame []string `json:"blame"`
|
| - BuilderName string `json:"builderName"`
|
| - CurrentStep CurrentStep `json:"currentStep"`
|
| - Eta EpochTime `json:"eta"`
|
| - Logs [][]interface{} `json:"logs"`
|
| - Number float64 `json:"number"`
|
| - Properties [][]interface{} `json:"properties"`
|
| - Reason string `json:"reason"`
|
| - Results []interface{} `json:"results"`
|
| - Slave string `json:"slave"`
|
| - SourceStamp SourceStamp `json:"sourceStamp"`
|
| - Steps []CurrentStep `json:"steps"`
|
| - Text []string `json:"text"`
|
| - Times []float64 `json:"times"`
|
| -}
|
| -
|
| // Steps is an automatically generated type.
|
| type Steps struct {
|
| Eta EpochTime `json:"eta"`
|
| @@ -151,12 +157,14 @@ type Steps struct {
|
| IsStarted bool `json:"isStarted"`
|
| Logs [][]interface{} `json:"logs"`
|
| Name string `json:"name"`
|
| - Results []float64 `json:"results"`
|
| - Statistics URLs `json:"statistics"`
|
| - StepNumber float64 `json:"step_number"`
|
| - Text []string `json:"text"`
|
| - Times []float64 `json:"times"`
|
| - URLs URLs `json:"urls"`
|
| + // Results is a homogenous array. Use runtime introspection to
|
| + // determine element types.
|
| + Results []interface{} `json:"results"`
|
| + Statistics URLs `json:"statistics"`
|
| + StepNumber float64 `json:"step_number"`
|
| + Text []string `json:"text"`
|
| + Times []float64 `json:"times"`
|
| + URLs URLs `json:"urls"`
|
| }
|
|
|
| // Files is an automatically generated type.
|
|
|