Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: go/src/infra/monitoring/dispatcher/dispatcher.go

Issue 1149313002: go: Replace Logrus with go-logging. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: typo Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « go/src/infra/monitoring/client/client.go ('k') | go/src/infra/monitoring/messages/alerts.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Dispatcher usage: 5 // Dispatcher usage:
6 // go run infra/monitoring/dispatcher 6 // go run infra/monitoring/dispatcher
7 // Expects gatekeeper.json to be in the current directory. 7 // Expects gatekeeper.json to be in the current directory.
8 // Runs a single check, prints out diagnosis and exits. 8 // Runs a single check, prints out diagnosis and exits.
9 // TODO(seanmccullough): Run continuously. Also, consider renaming to 'patrol' 9 // TODO(seanmccullough): Run continuously. Also, consider renaming to 'patrol'
10 // or 'scanner' because that's really what this thing does. 10 // or 'scanner' because that's really what this thing does.
11 11
12 package main 12 package main
13 13
14 import ( 14 import (
15 "encoding/json" 15 "encoding/json"
16 "flag" 16 "flag"
17 "fmt" 17 "fmt"
18 "io/ioutil" 18 "io/ioutil"
19 "os" 19 "os"
20 "strings" 20 "strings"
21 "time" 21 "time"
22 22
23 » "github.com/Sirupsen/logrus" 23 » "infra/libs/logging"
24 24
25 "infra/monitoring/analyzer" 25 "infra/monitoring/analyzer"
26 "infra/monitoring/messages" 26 "infra/monitoring/messages"
27 ) 27 )
28 28
29 var ( 29 var (
30 dataURL = flag.String("data_url", "", "Url where alerts are stored") 30 dataURL = flag.String("data_url", "", "Url where alerts are stored")
31 masterFilter = flag.String("master-filter", "", "Filter out maste rs that contain this string") 31 masterFilter = flag.String("master-filter", "", "Filter out maste rs that contain this string")
32 masterOnly = flag.String("master", "", "Only check this master" ) 32 masterOnly = flag.String("master", "", "Only check this master" )
33 mastersOnly = flag.Bool("masters-only", false, "Just check for m aster alerts, not builders") 33 mastersOnly = flag.Bool("masters-only", false, "Just check for m aster alerts, not builders")
34 gatekeeperJSON = flag.String("gatekeeper", "gatekeeper.json", "Loca tion of gatekeeper json file") 34 gatekeeperJSON = flag.String("gatekeeper", "gatekeeper.json", "Loca tion of gatekeeper json file")
35 gatekeeperTreesJSON = flag.String("gatekeeper-trees", "gatekeeper_trees. json", "Location of gatekeeper json file") 35 gatekeeperTreesJSON = flag.String("gatekeeper-trees", "gatekeeper_trees. json", "Location of gatekeeper json file")
36 treeOnly = flag.String("tree", "", "Only check this tree") 36 treeOnly = flag.String("tree", "", "Only check this tree")
37 builderOnly = flag.String("builder", "", "Only check this builde r") 37 builderOnly = flag.String("builder", "", "Only check this builde r")
38 buildOnly = flag.Int64("build", 0, "Only check this build") 38 buildOnly = flag.Int64("build", 0, "Only check this build")
39 39
40 » log = logrus.New() 40 » log = logging.DefaultLogger
41 41
42 // gk is the gatekeeper config. 42 // gk is the gatekeeper config.
43 gk = &struct { 43 gk = &struct {
44 // Weird. Are there ever multiple configs per master key? 44 // Weird. Are there ever multiple configs per master key?
45 Masters map[string][]messages.MasterConfig `json:"masters"` 45 Masters map[string][]messages.MasterConfig `json:"masters"`
46 }{} 46 }{}
47 // gkt is the gatekeeper trees config. 47 // gkt is the gatekeeper trees config.
48 gkt = map[string]messages.TreeMasterConfig{} 48 gkt = map[string]messages.TreeMasterConfig{}
49 filteredFailures = uint64(0) 49 filteredFailures = uint64(0)
50 ) 50 )
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 start := time.Now() 87 start := time.Now()
88 flag.Parse() 88 flag.Parse()
89 89
90 masterNames := []string{} 90 masterNames := []string{}
91 if *masterOnly != "" { 91 if *masterOnly != "" {
92 masterNames = append(masterNames, *masterOnly) 92 masterNames = append(masterNames, *masterOnly)
93 } 93 }
94 94
95 err := readJSONFile(*gatekeeperJSON, &gk) 95 err := readJSONFile(*gatekeeperJSON, &gk)
96 if err != nil { 96 if err != nil {
97 » » log.Fatalf("Error reading gatekeeper json: %v", err) 97 » » log.Errorf("Error reading gatekeeper json: %v", err)
98 » » os.Exit(1)
98 } 99 }
99 100
100 err = readJSONFile(*gatekeeperTreesJSON, &gkt) 101 err = readJSONFile(*gatekeeperTreesJSON, &gkt)
101 if err != nil { 102 if err != nil {
102 » » log.Fatalf("Error reading gatekeeper json: %v", err) 103 » » log.Errorf("Error reading gatekeeper json: %v", err)
104 » » os.Exit(1)
103 } 105 }
104 106
105 a := analyzer.New(nil, 2, 5) 107 a := analyzer.New(nil, 2, 5)
106 108
107 for masterURL, masterCfgs := range gk.Masters { 109 for masterURL, masterCfgs := range gk.Masters {
108 if len(masterCfgs) != 1 { 110 if len(masterCfgs) != 1 {
109 » » » log.Fatalf("Multiple configs for master: %s", masterURL) 111 » » » log.Errorf("Multiple configs for master: %s", masterURL)
112 » » » os.Exit(1)
110 } 113 }
111 masterName := masterFromURL(masterURL) 114 masterName := masterFromURL(masterURL)
112 a.MasterCfgs[masterName] = masterCfgs[0] 115 a.MasterCfgs[masterName] = masterCfgs[0]
113 } 116 }
114 117
115 a.TreeOnly = *treeOnly 118 a.TreeOnly = *treeOnly
116 a.MasterOnly = *masterOnly 119 a.MasterOnly = *masterOnly
117 a.BuilderOnly = *builderOnly 120 a.BuilderOnly = *builderOnly
118 a.BuildOnly = *buildOnly 121 a.BuildOnly = *buildOnly
119 122
120 if *treeOnly != "" { 123 if *treeOnly != "" {
121 if t, ok := gkt[*treeOnly]; ok { 124 if t, ok := gkt[*treeOnly]; ok {
122 for _, url := range t.Masters { 125 for _, url := range t.Masters {
123 masterNames = append(masterNames, masterFromURL( url)) 126 masterNames = append(masterNames, masterFromURL( url))
124 } 127 }
125 } else { 128 } else {
126 » » » log.Fatalf("Unrecoginzed tree: %s", *treeOnly) 129 » » » log.Errorf("Unrecoginzed tree: %s", *treeOnly)
130 » » » os.Exit(1)
127 } 131 }
128 } 132 }
129 133
130 bes, errs := a.Client.BuildExtracts(masterNames) 134 bes, errs := a.Client.BuildExtracts(masterNames)
131 log.Infof("Build Extracts read: %d", len(bes)) 135 log.Infof("Build Extracts read: %d", len(bes))
132 log.Infof("Errors: %d", len(errs)) 136 log.Infof("Errors: %d", len(errs))
133 for url, err := range errs { 137 for url, err := range errs {
134 log.Errorf("Error reading build extract from %s : %s", url, err) 138 log.Errorf("Error reading build extract from %s : %s", url, err)
135 } 139 }
136 140
(...skipping 19 matching lines...) Expand all
156 } 160 }
157 } 161 }
158 162
159 log.Infof("Filtered failures: %v", filteredFailures) 163 log.Infof("Filtered failures: %v", filteredFailures)
160 a.Client.DumpStats() 164 a.Client.DumpStats()
161 log.Infof("Elapsed time: %v", time.Since(start)) 165 log.Infof("Elapsed time: %v", time.Since(start))
162 if len(errs) > 0 { 166 if len(errs) > 0 {
163 os.Exit(1) 167 os.Exit(1)
164 } 168 }
165 } 169 }
OLDNEW
« no previous file with comments | « go/src/infra/monitoring/client/client.go ('k') | go/src/infra/monitoring/messages/alerts.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698