mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-28 17:51:21 +00:00
Merge pull request #2504 from weaveworks/weavenet_metrics
Add weavenet metrics to billing emitter
This commit is contained in:
@@ -57,9 +57,15 @@ func (e *BillingEmitter) Add(ctx context.Context, rep report.Report, buf []byte)
|
||||
hasher := sha256.New()
|
||||
hasher.Write(buf)
|
||||
hash := "sha256:" + base64.URLEncoding.EncodeToString(hasher.Sum(nil))
|
||||
weaveNetCount := 0
|
||||
if hasWeaveNet(rep) {
|
||||
weaveNetCount = 1
|
||||
}
|
||||
|
||||
amounts := billing.Amounts{
|
||||
billing.ContainerSeconds: int64(interval/time.Second) * int64(len(rep.Container.Nodes)),
|
||||
billing.NodeSeconds: int64(interval/time.Second) * int64(len(rep.Host.Nodes)),
|
||||
billing.WeaveNetSeconds: int64(interval/time.Second) * int64(weaveNetCount),
|
||||
}
|
||||
metadata := map[string]string{
|
||||
"row_key": rowKey,
|
||||
@@ -112,6 +118,18 @@ func (e *BillingEmitter) reportInterval(r report.Report) time.Duration {
|
||||
return d
|
||||
}
|
||||
|
||||
// Tries to determine if this report came from a host running Weave Net
|
||||
func hasWeaveNet(r report.Report) bool {
|
||||
for _, n := range r.Overlay.Nodes {
|
||||
overlayType, _ := report.ParseOverlayNodeID(n.ID)
|
||||
if overlayType == report.WeaveOverlayPeerPrefix {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// Close shuts down the billing emitter and billing client flushing events.
|
||||
func (e *BillingEmitter) Close() error {
|
||||
return e.billing.Close()
|
||||
|
||||
1
vendor/github.com/weaveworks/billing-client/event.go
generated
vendored
1
vendor/github.com/weaveworks/billing-client/event.go
generated
vendored
@@ -37,6 +37,7 @@ const (
|
||||
// ContainerSeconds is one of the billable metrics
|
||||
ContainerSeconds AmountType = "container-seconds"
|
||||
NodeSeconds AmountType = "node-seconds"
|
||||
WeaveNetSeconds AmountType = "weavenet-seconds"
|
||||
Samples AmountType = "samples"
|
||||
)
|
||||
|
||||
|
||||
4
vendor/manifest
vendored
4
vendor/manifest
vendored
@@ -1414,7 +1414,7 @@
|
||||
"importpath": "github.com/weaveworks/billing-client",
|
||||
"repository": "https://github.com/weaveworks/billing-client",
|
||||
"vcs": "git",
|
||||
"revision": "f5ac1ebd2b577d93dca4d948ca429c499451dbc8",
|
||||
"revision": "694ea14d915e520638b234d9b3ca780c25963435",
|
||||
"branch": "master",
|
||||
"notests": true
|
||||
},
|
||||
@@ -1756,4 +1756,4 @@
|
||||
"branch": "master"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user