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

Side by Side Diff: go/src/infra/tools/cloudtail/client.go

Issue 2125943003: Updated moniroting/proxy and cloudtail/client with tsmon's unit annotation supports. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Update DEPS with the revision of luci-go with crrev.com/2123853002 Created 4 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 | « go/src/infra/monitoring/proxy/pubsub.go ('k') | no next file » | 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 package cloudtail 5 package cloudtail
6 6
7 import ( 7 import (
8 "encoding/json" 8 "encoding/json"
9 "fmt" 9 "fmt"
10 "net/http" 10 "net/http"
11 "os" 11 "os"
12 "time" 12 "time"
13 13
14 "github.com/luci/luci-go/common/logging" 14 "github.com/luci/luci-go/common/logging"
15 "github.com/luci/luci-go/common/tsmon/field" 15 "github.com/luci/luci-go/common/tsmon/field"
16 "github.com/luci/luci-go/common/tsmon/metric" 16 "github.com/luci/luci-go/common/tsmon/metric"
17 "github.com/luci/luci-go/common/tsmon/types"
17 "golang.org/x/net/context" 18 "golang.org/x/net/context"
18 cloudlog "google.golang.org/api/logging/v1beta3" 19 cloudlog "google.golang.org/api/logging/v1beta3"
19 ) 20 )
20 21
21 // DefaultResourceType is used by NewClient if ClientOptions doesn't specify 22 // DefaultResourceType is used by NewClient if ClientOptions doesn't specify
22 // ResourceType. 23 // ResourceType.
23 const DefaultResourceType = "machine" 24 const DefaultResourceType = "machine"
24 25
25 // Entry is a single log entry. It can be a text message, or a JSONish struct. 26 // Entry is a single log entry. It can be a text message, or a JSONish struct.
26 type Entry struct { 27 type Entry struct {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 // LogID identifies what sort of log this is. Must be set. 71 // LogID identifies what sort of log this is. Must be set.
71 LogID string 72 LogID string
72 73
73 // Debug is true to print log entries to stdout instead of sending them. 74 // Debug is true to print log entries to stdout instead of sending them.
74 Debug bool 75 Debug bool
75 } 76 }
76 77
77 var ( 78 var (
78 entriesCounter = metric.NewCounter("cloudtail/log_entries", 79 entriesCounter = metric.NewCounter("cloudtail/log_entries",
79 "Log entries processed", 80 "Log entries processed",
81 types.MetricMetadata{},
80 field.String("log"), 82 field.String("log"),
81 field.String("resource_type"), 83 field.String("resource_type"),
82 field.String("resource_id"), 84 field.String("resource_id"),
83 field.String("severity")) 85 field.String("severity"))
84 writesCounter = metric.NewCounter("cloudtail/api_writes", 86 writesCounter = metric.NewCounter("cloudtail/api_writes",
85 "Writes to Cloud Logging API", 87 "Writes to Cloud Logging API",
88 types.MetricMetadata{},
86 field.String("log"), 89 field.String("log"),
87 field.String("resource_type"), 90 field.String("resource_type"),
88 field.String("resource_id"), 91 field.String("resource_id"),
89 field.String("result")) 92 field.String("result"))
90 ) 93 )
91 94
92 // NewClient returns new object that knows how to push log entries to a single 95 // NewClient returns new object that knows how to push log entries to a single
93 // log in Cloud Logging. 96 // log in Cloud Logging.
94 func NewClient(opts ClientOptions) (Client, error) { 97 func NewClient(opts ClientOptions) (Client, error) {
95 if opts.Logger == nil { 98 if opts.Logger == nil {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 entriesCounter.Add(c.ctx, 1, c.opts.LogID, c.opts.ResourceType, c.opts.ResourceID, metadata.Severity) 187 entriesCounter.Add(c.ctx, 1, c.opts.LogID, c.opts.ResourceType, c.opts.ResourceID, metadata.Severity)
185 } 188 }
186 if err := c.writeFunc(c.opts.ProjectID, c.opts.LogID, &req); err != nil { 189 if err := c.writeFunc(c.opts.ProjectID, c.opts.LogID, &req); err != nil {
187 writesCounter.Add(c.ctx, 1, c.opts.LogID, c.opts.ResourceType, c .opts.ResourceID, "failure") 190 writesCounter.Add(c.ctx, 1, c.opts.LogID, c.opts.ResourceType, c .opts.ResourceID, "failure")
188 return err 191 return err
189 } 192 }
190 193
191 writesCounter.Add(c.ctx, 1, c.opts.LogID, c.opts.ResourceType, c.opts.Re sourceID, "success") 194 writesCounter.Add(c.ctx, 1, c.opts.LogID, c.opts.ResourceType, c.opts.Re sourceID, "success")
192 return nil 195 return nil
193 } 196 }
OLDNEW
« no previous file with comments | « go/src/infra/monitoring/proxy/pubsub.go ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698