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

Side by Side Diff: common/tsmon/iface.go

Issue 2963503003: [errors] Greatly simplify common/errors package. (Closed)
Patch Set: fix nits Created 3 years, 5 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 | « common/tsmon/config.go ('k') | deploytool/api/deploy/util.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 LUCI Authors. All rights reserved. 1 // Copyright 2015 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package tsmon 5 package tsmon
6 6
7 import ( 7 import (
8 "fmt" 8 "fmt"
9 "net/url" 9 "net/url"
10 "strings" 10 "strings"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 } 73 }
74 74
75 // InitializeFromFlags configures the tsmon library from flag values. 75 // InitializeFromFlags configures the tsmon library from flag values.
76 // 76 //
77 // This will set a Target (information about what's reporting metrics) and a 77 // This will set a Target (information about what's reporting metrics) and a
78 // Monitor (where to send the metrics to). 78 // Monitor (where to send the metrics to).
79 func InitializeFromFlags(c context.Context, fl *Flags) error { 79 func InitializeFromFlags(c context.Context, fl *Flags) error {
80 // Load the config file, and override its values with flags. 80 // Load the config file, and override its values with flags.
81 config, err := loadConfig(fl.ConfigFile) 81 config, err := loadConfig(fl.ConfigFile)
82 if err != nil { 82 if err != nil {
83 » » return errors.Annotate(err).Reason("failed to load config file a t [%(path)s]"). 83 » » return errors.Annotate(err, "failed to load config file at [%s]" , fl.ConfigFile).Err()
84 » » » D("path", fl.ConfigFile).Err()
85 } 84 }
86 85
87 if fl.Endpoint != "" { 86 if fl.Endpoint != "" {
88 config.Endpoint = fl.Endpoint 87 config.Endpoint = fl.Endpoint
89 } 88 }
90 if fl.Credentials != "" { 89 if fl.Credentials != "" {
91 config.Credentials = fl.Credentials 90 config.Credentials = fl.Credentials
92 } 91 }
93 if fl.ActAs != "" { 92 if fl.ActAs != "" {
94 config.ActAs = fl.ActAs 93 config.ActAs = fl.ActAs
95 } 94 }
96 95
97 mon, err := initMonitor(c, config) 96 mon, err := initMonitor(c, config)
98 switch { 97 switch {
99 case err != nil: 98 case err != nil:
100 » » return errors.Annotate(err).Reason("failed to initialize monitor ").Err() 99 » » return errors.Annotate(err, "failed to initialize monitor").Err( )
101 case mon == nil: 100 case mon == nil:
102 return nil // tsmon is disabled 101 return nil // tsmon is disabled
103 } 102 }
104 103
105 // Monitoring is enabled, so get the expensive default values for hostna me, 104 // Monitoring is enabled, so get the expensive default values for hostna me,
106 // etc. 105 // etc.
107 if config.AutoGenHostname { 106 if config.AutoGenHostname {
108 fl.Target.AutoGenHostname = true 107 fl.Target.AutoGenHostname = true
109 } 108 }
110 if config.Hostname != "" { 109 if config.Hostname != "" {
111 if fl.Target.DeviceHostname == "" { 110 if fl.Target.DeviceHostname == "" {
112 fl.Target.DeviceHostname = config.Hostname 111 fl.Target.DeviceHostname = config.Hostname
113 } 112 }
114 if fl.Target.TaskHostname == "" { 113 if fl.Target.TaskHostname == "" {
115 fl.Target.TaskHostname = config.Hostname 114 fl.Target.TaskHostname = config.Hostname
116 } 115 }
117 } 116 }
118 if config.Region != "" { 117 if config.Region != "" {
119 if fl.Target.DeviceRegion == "" { 118 if fl.Target.DeviceRegion == "" {
120 fl.Target.DeviceRegion = config.Region 119 fl.Target.DeviceRegion = config.Region
121 } 120 }
122 if fl.Target.TaskRegion == "" { 121 if fl.Target.TaskRegion == "" {
123 fl.Target.TaskRegion = config.Region 122 fl.Target.TaskRegion = config.Region
124 } 123 }
125 } 124 }
126 fl.Target.SetDefaultsFromHostname() 125 fl.Target.SetDefaultsFromHostname()
127 t, err := target.NewFromFlags(&fl.Target) 126 t, err := target.NewFromFlags(&fl.Target)
128 if err != nil { 127 if err != nil {
129 » » return errors.Annotate(err).Reason("failed to configure target f rom flags").Err() 128 » » return errors.Annotate(err, "failed to configure target from fla gs").Err()
130 } 129 }
131 130
132 Initialize(c, mon, store.NewInMemory(t)) 131 Initialize(c, mon, store.NewInMemory(t))
133 132
134 state := GetState(c) 133 state := GetState(c)
135 if state.Flusher != nil { 134 if state.Flusher != nil {
136 logging.Infof(c, "Canceling previous tsmon auto flush") 135 logging.Infof(c, "Canceling previous tsmon auto flush")
137 state.Flusher.stop() 136 state.Flusher.stop()
138 state.Flusher = nil 137 state.Flusher = nil
139 } 138 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 // newAuthenticator returns a new authenticator for HTTP requests. 218 // newAuthenticator returns a new authenticator for HTTP requests.
220 func newAuthenticator(ctx context.Context, credentials, actAs string, scopes []s tring) *auth.Authenticator { 219 func newAuthenticator(ctx context.Context, credentials, actAs string, scopes []s tring) *auth.Authenticator {
221 // TODO(vadimsh): Don't hardcode auth options here, pass them from outsi de 220 // TODO(vadimsh): Don't hardcode auth options here, pass them from outsi de
222 // somehow. 221 // somehow.
223 authOpts := chromeinfra.DefaultAuthOptions() 222 authOpts := chromeinfra.DefaultAuthOptions()
224 authOpts.ServiceAccountJSONPath = credentials 223 authOpts.ServiceAccountJSONPath = credentials
225 authOpts.Scopes = scopes 224 authOpts.Scopes = scopes
226 authOpts.ActAsServiceAccount = actAs 225 authOpts.ActAsServiceAccount = actAs
227 return auth.NewAuthenticator(ctx, auth.SilentLogin, authOpts) 226 return auth.NewAuthenticator(ctx, auth.SilentLogin, authOpts)
228 } 227 }
OLDNEW
« no previous file with comments | « common/tsmon/config.go ('k') | deploytool/api/deploy/util.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698