Akash Srivastava
ca420b07aa
Merge pull request #3687 from weaveworks/refactor-reading
...
Refactor report reading
2019-09-24 12:26:01 +05:30
Bryan Boreham
13af359bcf
refactor: eliminate report.ReadBinary() in favour of MakeFromBinary()
...
The signature of MakeFromFile changed to return a pointer for
consistency.
2019-09-23 10:01:43 +00:00
Bryan Boreham
6ee9738581
Merge pull request #3686 from weaveworks/analyze-reports
...
feature(app): Add a debugging summary function, exposed via http
2019-09-18 15:54:50 +01:00
Bryan Boreham
2bbd4a3f0d
refactor: remove MakeFromBytes() function which is almost the same as ReadBinary()
2019-09-17 10:55:44 +00:00
Bryan Boreham
11e76f1740
feature(app): Add a debugging summary function, exposed via http
...
URL is /admin/summary
2019-09-17 10:48:23 +00:00
Bryan Boreham
04af634065
tracing(app): set a tag for userid on awsCollector.Report
2019-09-15 19:22:08 +00:00
Bryan Boreham
74b6a292d5
Use time.Duration instead of nanoseconds for constants
2019-09-13 07:31:07 +00:00
Bryan Boreham
b5376facf2
Cache merged groups of reports, to reduce the number we handle in parallel
...
Previously we would merge all reports in a 15-second window.
Now we use a 'quantum' of 3 seconds, similar to the single-user app.
E.g. a 30-node cluster will have 150 individual reports over 15
seconds, but the new code will merge 5 pre-merged reports plus 20-ish
very recent individual ones.
This limits the max heap size used for deserialising, since we only do
3 seconds at once per instance.
Individual reports are still put into the cache, but should get
displaced by the pre-merged ones under LRU.
2019-09-09 10:00:26 +00:00
Bryan Boreham
70550ca34a
Refactor: pull userid fetch up out of getReportKeys()
2019-09-09 08:19:55 +00:00
Bryan Boreham
589c4c4d0b
Refactor: pull time interval computation up out of getReportKeys()
2019-09-08 12:27:57 +00:00
Bryan Boreham
26c8760877
Merge pull request #3605 from weaveworks/defer-metrics-registration
...
Defer metrics registration until we need it
2019-07-16 15:45:30 +01:00
Bryan Boreham
89363f5dcf
Defer metrics registration until we need it
...
This avoids app-specific metrics appearing in the probe.
2019-07-04 14:24:22 +00:00
Bryan Boreham
1e2206963a
Merge pull request #3599 from weaveworks/per-tenant-metrics
...
Add metrics for report size and count per tenant
2019-05-15 13:44:42 +01:00
Bryan Boreham
870b52eec0
Review feedback: metric description
2019-05-15 12:43:22 +00:00
Bryan Boreham
711aa66bd5
Add OpenTracing span for report.ReadBinary()
...
So we can see the timing and size in Jaeger.
Signed-off-by: Bryan Boreham <bjboreham@gmail.com >
2019-05-10 15:34:53 +00:00
Bryan Boreham
4c74f8b1cf
Add metrics for report size and count per tenant
...
In a multitenant system it is useful to be able to drill into which
tenants have the most or biggest reports.
Signed-off-by: Bryan Boreham <bryan@weave.works >
2019-05-10 14:49:57 +00:00
Bryan Boreham
ee0ce7b087
Merge pull request #3384 from weaveworks/drop-big-topologies
...
In multitenant app, drop all nodes for big topologies
2018-11-01 17:21:55 +00:00
Bryan Boreham
3be8cf71dd
Add more Opentracing detail to the app ( #3383 )
...
* Pass Go context down to Renderers
This is useful for cancellation or tracing.
* Add tracing spans to app
Also log things like number of nodes in Map, total number of reports.
2018-10-26 11:21:33 +05:30
Bryan Boreham
05b350850f
Drop topologies which are way too big
2018-10-11 17:20:16 +00:00
Bryan Boreham
27047c3297
Embed AWSCollectorConfig instead of duplicating the fields
...
This simplifies adding more fields later.
2018-10-11 15:57:45 +00:00
Marc Carré
2ba50b8b3d
Update golang.org/x/net/context to latest
...
```
$ gvt delete golang.org/x/net/context
$ gvt fetch golang.org/x/net/context
2018/07/23 18:03:49 Fetching: golang.org/x/net/context
$ git grep -l "golang.org/x/net/context" | grep -v vendor | xargs sed -i '' 's:golang.org/x/net/context:context:g'
$ git grep -l "context/ctxhttp" | grep -v vendor | xargs sed -i '' 's:context/ctxhttp:golang.org/x/net/context/ctxhttp:g'
$ gofmt -s -w app
$ gofmt -s -w common
$ gofmt -s -w probe
$ gofmt -s -w prog
$ gofmt -s -w tools
```
fixed a bunch of:
```
cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error
```
2018-07-23 20:10:18 +02:00
Marc Carré
d46c2266ce
Change Sirupsen/logrus to sirupsen/logrus
...
```
$ git grep -l Sirupsen | grep -v vendor | xargs sed -i '' 's:github.com/Sirupsen/logrus:github.com/sirupsen/logrus:g'
$ gofmt -s -w app
$ gofmt -s -w common
$ gofmt -s -w probe
$ gofmt -s -w prog
$ gofmt -s -w tools
```
2018-07-23 20:10:14 +02:00
Bryan Boreham
126a171f62
Make 'fast' merger the default
2018-06-22 11:59:43 +00:00
Marcus Cobden
ba81924278
Add CLI flag for SQS RPC timeout
2018-05-04 10:11:25 +01:00
Matthias Radestock
72b9e9c6b9
add Reporter.HasReports() for cheap report availability checking
...
This requires no report reading / merging.
We plan to expose this in the HTTP API, so the UI gets a cheap way of
checking whether the app is currently receiving data from probes.
2017-12-14 00:13:45 +00:00
Matthias Radestock
54fe1e37da
cosmetic
2017-12-13 23:52:48 +00:00
Matthias Radestock
6c4bf58fe2
refactor: extract awsCollector.getReportKeys helper
...
This makes Report() more readable. We also intend to use this function
elsewhere.
2017-12-13 23:50:05 +00:00
Matthias Radestock
3a122aeed5
refactor: rename awsCollector.getReportKeys to reportKeysInRange
...
...so we can recycle the former name.
2017-12-13 23:40:04 +00:00
Roberto Bruggemann
e58f865d3f
Upgrade reports before caching
...
This change will reduces upgrades, since `report.Upgrade` only performs an upgrade if necessary.
2017-12-12 11:25:04 +00:00
Damien Lespiau
466927ce68
lint: Fix 2 sites failing a recently introduced golint check
...
golint has gained a new check and we don't freeze the golint version so CI was
failing on unrelated PRs:
app/multitenant/consul_client.go:69:2: redundant if ...; err != nil check, just return error instead.
report/marshal.go:188:2: redundant if ...; err != nil check, just return error instead.
Fix those!
2017-09-26 12:15:09 +01:00
Jonathan Lange
f9e37a21f5
Continue processing reports if billing fails
2017-09-22 12:20:10 +01:00
Matthias Radestock
c312579bfe
log sqs messages at 'debug' rather than 'info' level
...
Fixes #2790 .
2017-08-07 10:17:05 +01:00
Matthias Radestock
1f95e3efd4
obtain historic_reports capability from Reporter
2017-07-31 09:58:31 +01:00
Alfonso Acosta
7b4b410f4a
Review Feedback
2017-07-20 11:01:44 +00:00
Alfonso Acosta
c6d5a6a646
Make linter happy
2017-07-20 10:05:48 +00:00
Alfonso Acosta
f66d79d427
Backoff when writing to Dynamo and S3
2017-07-18 15:28:08 +00:00
Filip Barl
b6dfe25499
Time travel control ( #2524 )
...
* Hacky working prototype.
* Operate with time.Duration offset instead of fixed timestamp.
* Polished the backend code.
* Made a nicer UI component.
* Small refactorings of the websockets code.
* Fixed the backend tests.
* Better websocketing and smoother transitions
* Small styling refactoring.
* Detecting empty topologies.
* Improved error messaging.
* Addressed some of David's comments.
* Moved nodesDeltaBuffer to a global state to fix the paused status rendering bug.
* Small styling changes
* Changed the websocket global state variables a bit.
* Polishing & refactoring.
* More polishing.
* Final refactoring.
* Addressed a couple of bugs.
* Hidden the timeline control behind Cloud context and a feature flag.
* Addressed most of @davkal's comments.
* Added mixpanel tracking.
2017-06-12 11:22:17 +02:00
Marcus Cobden
9fded9d34e
Add weavenet metrics to billing
2017-05-09 15:33:12 +00:00
Matthias Radestock
46f288bb6d
close s3 response body to prevent leaks
...
Fixes #2018
2017-04-14 00:27:41 +01:00
Alfonso Acosta
a404d82a91
Merge pull request #2419 from weaveworks/name-unnamed
...
Make various anonymous fields named
2017-04-06 14:16:29 +02:00
Paul Bellamy
fbf74b8d40
Add NodeSeconds to billing emitter
2017-04-04 10:33:19 +01:00
Bryan Boreham
515f4b1a47
Make various anonymous fields named
...
Anonymous fields make any methods on the inner object visible on the
outer, so they should only be used when the outer is-a inner.
2017-04-01 11:35:10 +00:00
Paul Bellamy
9228f7a7fa
Container Seconds should not be Container Nanoseconds ( #2372 )
2017-03-22 17:34:46 +00:00
Paul Bellamy
e68ffd467e
Add app/multitenant/billing_emitter to emit billing events
2017-03-22 10:41:34 +00:00
Adam Harrison
83c073fad0
Correct dynamoDB metric label
...
Discovered whilst attempting to resolve github.com/weaveworks/service/issues/1157
2017-03-17 12:09:40 +00:00
Bryan Boreham
b085c80ef3
Decode via byte slice for memcache and file read
...
This is more efficient, since the decoder can read field names in-place.
It also appears to be absolutely faster.
2017-03-14 14:54:17 +00:00
Jonathan Lange
e8085b01b6
Use 'common' library
2016-12-07 11:22:38 +00:00
Alban Crequy
3c40892add
linter: fix punctuation and capitalization
...
Symptoms:
> app/control_router.go:44:38: error strings should not be capitalized or end with punctuation or a newline
This is blocking the build on:
https://circleci.com/gh/kinvolk/scope/363
2016-11-23 17:17:14 +01:00
Tom Wilkie
21ee72a384
Add OpenTracing support to TimeRequestHistogram ( #2023 )
...
* Vendor open tracing
* Extend TimeRequestHistorgram to also emit opentracing spans.
* Update some of the labels
2016-11-22 14:43:15 +00:00
Matthias Radestock
0610936296
plug goroutine leak in control
...
Fixes #2002 .
2016-11-10 17:45:16 +00:00