Alban Crequy
598c6a0238
proc walker: cache limits and cmdline/name after parsing
2017-05-05 13:05:08 +02:00
Alban Crequy
3a8a09a606
proc walker: optimize readLimits
2017-05-05 13:05:08 +02:00
Alban Crequy
bdb09f5f9d
proc walker: optimize readStats
2017-05-05 13:05:08 +02:00
Alban Crequy
640b240469
proc walker: optimize open file counter
...
Golang's ReadDirNames is expensive and better avoided when we don't care
about the names.
2017-05-02 14:45:12 +02:00
Matthias Radestock
245c2e9149
fall back to /proc/<pid>/comm for process name
...
when proc/<pid>/cmdline is empty, which is the case for some system
and defunct processes.
Fixes #2315
2017-03-09 14:02:32 +00:00
Alfonso Acosta
8bf753a51b
Revert "Revert "Add options to hide args and env vars ( #2306 )"" ( #2311 )
...
* Revert "Revert "Add options to hide args and env vars (#2306 )""
* Make linter happy
2017-03-08 02:16:42 -08:00
Alfonso Acosta
dcc7389127
Revert "Add options to hide args and env vars ( #2306 )"
...
This reverts commit 764afb6301 .
2017-03-07 17:51:27 +01:00
Mike Bryant
764afb6301
Add options to hide args and env vars ( #2306 )
...
* Add options to hide args and env vars
To allow for use of weave-scope in an unauthenticated environment,
add options to the probe to hide comand line arguments and
environment variables, which might contain secret data.
Fixes #2222
* Change docker.NewRegistry arguments to be a struct
* Remove redundant declarations of default values
* Move registry options outside to improve readability
2017-03-07 08:51:18 -08:00
Jonathan Lange
1020fc5f85
Use test.Diff from common
2016-12-07 11:22:40 +00:00
Jonathan Lange
b5c750ddea
Move test & fs
2016-12-07 11:22:39 +00:00
Jonathan Lange
e8085b01b6
Use 'common' library
2016-12-07 11:22:38 +00:00
Simon Howe
3851d9c662
Right align numbers, left align strings.
...
ala excel/spreadsheets etc.
2016-08-12 15:18:39 +02:00
Alfonso Acosta
8a950a59d6
Remove Metric Add() method
...
* Helps reduce garbage (MakeMetric() now takes a slice and there's a shorter version MakeSingletonMetric())
* Fixes bug computing Max (Min) in samples since using MakeMetric()
was causing a default Max/Min of zero.
* Simplifies code a bit
2016-08-01 16:58:11 +00:00
Alfonso Acosta
b8bf60c6f1
Use slices instead of linked lists for Metric
...
Also:
* Remove Gob encoder/decoder
* Stop using custom encoders/decoders for Timestamps (both ugorji and the Golang JSON codecs use nanosecond precision).
* Use idiomatic way to check for existence in metric.LastSample()
2016-08-01 10:21:57 +00:00
Paul Bellamy
1edeb8d190
Removing report.Node.WithID ( #1315 )
...
* removing usage of report.Node.WithID
* report.Topology.AddNode can use the node's ID field
2016-04-19 16:48:03 +01:00
Paul Bellamy
7632e0b3c5
Adding support for plugins, with basic example of iowait, and ebpf
...
Squash of:
* Include plugins in the report
* show plugin list in the UI
* moving metric and metadata templates into the probe reports
* update js for prime -> priority
* added retry to plugin handshake
* added iowait plugin
* review feedback
* plugin documentation
2016-04-12 17:22:14 +01:00
Paul Bellamy
c075939379
Forgot debug println
2016-04-07 12:33:34 +01:00
Paul Bellamy
b970b0561b
Set the memory and open files maximums
...
process memory limit is not cgroup-aware
2016-04-06 13:07:55 +01:00
Paul Bellamy
44dada25f2
Review Feedback
2016-02-16 10:37:25 +00:00
Paul Bellamy
5bb3d49297
gather file descriptors as process metric
2016-02-12 17:13:27 +00:00
Tom Wilkie
6b56475766
Use ps.Map for Counters and Sets, remove Metadata in favour of Latest.
...
Also
- Add more complicated report.json for benchmark
- Break up report/topology.go
- Implement our own DeepEqual for ps.Map
2016-01-22 15:10:32 -08:00
Paul Bellamy
bf57aeb8d9
Rename the various metric keys so they don't accidentally overlap
2016-01-20 16:14:32 +00:00
Tom Wilkie
e9e152b9a3
Use argv[0] for process name to be more like ps.
2016-01-06 11:55:34 +00:00
Tom Wilkie
2faa58aa41
Merge pull request #776 from weaveworks/tracer
...
Tracer!
2015-12-17 13:55:10 +00:00
Tom Wilkie
13a82bc9a8
Make it lint and compile after rebase.
2015-12-16 15:30:53 +00:00
Tom Wilkie
3e4b3ad0eb
Trace all processes in a container.
2015-12-16 15:21:34 +00:00
Tom Wilkie
8efa0d147b
Review feedback
2015-12-16 14:38:22 +00:00
Tom Wilkie
caff695f96
Gather per-process CPU and memory metrics.
2015-12-16 14:38:21 +00:00
Tom Wilkie
cde5920f9a
Cache the contents of some files in /proc
...
Also cache contents of /proc/foo/stat, but only for 10s.
2015-12-11 10:27:15 +00:00
Tom Wilkie
1fcd079563
Use Readdirnames to reduce number of stats we're doing.
2015-12-10 14:43:40 +00:00
Tom Wilkie
cc5935a89d
Review feedback
2015-12-10 14:10:36 +00:00
Tom Wilkie
ed6c4088fa
Fix up tests.
2015-12-10 14:00:43 +00:00
Tom Wilkie
9142325d54
Instruments probe runtime to find slow reporter.
2015-11-12 17:01:52 +00:00
Tom Wilkie
76d34330a9
Add Control plumbing.
2015-11-06 17:39:48 +00:00
Tom Wilkie
925851169e
Use AddNode when adding nodes to the topology, such that the get merged with any existing node that might be there.
2015-09-15 10:02:58 +00:00
Tom Wilkie
7d6b5a540e
Revert "Merge pull request #450 from weaveworks/scope-284"
...
This reverts commit 46345e3bdb , reversing
changes made to bf3e9a1601 .
Conflicts:
probe/process/walker_darwin.go
2015-09-15 03:14:39 +00:00
Alvaro Saurin
2f9f54688f
Keep a cache of open files, reducing the number of open/close cycles in the /proc dir
2015-09-14 10:59:23 +02:00
Alvaro Saurin
14dc6a5391
Cache processes and connections when reading from the /proc
...
Code cleanups
2015-09-14 10:53:24 +02:00
Alvaro Saurin
4331fb1c79
Drop all the dependencies we had on procspy by moving some code to probe.
2015-09-14 10:44:53 +02:00
Tom Wilkie
b7c22b7a8f
Only fetch weave status report once per tick.
2015-09-09 15:08:43 +00:00
Tom Wilkie
57f7b4f2e6
Rename NodeMetadata -> Node
2015-09-03 16:18:54 +00:00
Tom Wilkie
afc2788777
Move EdgeMetadata into the NodeMetadata struct.
2015-09-02 14:32:44 +00:00
Tom Wilkie
1f6b3d4a45
Move Adjacency info inside the NodeMetadata struct; move pseudo node generation to the probes.
2015-08-28 15:20:27 +00:00
Peter Bourgon
d5ab8177f6
probe: fixes for new merge semantics
2015-08-26 12:02:03 +01:00
Alfonso Acosta
bdd886a28f
Don't report empty fields from process
2015-08-19 16:50:20 +00:00
Peter Bourgon
b9afa67ad6
gopacket-based traffic sniffing
2015-08-03 10:55:59 +02:00
Peter Bourgon
3dd59c8b9b
Fixes to NodeMetadata
...
NewNodeMetadata -> MakeNodeMetadata. It doesn't return a pointer, so
Make is more idiomatic.
Invoke MakeNodeMetadata when necessary. The zero value for a
NodeMetadata is no longer valid.
Split MakeNodeMetadata to two constructors. MakeNodeMetadata when you
don't have anything to prepopulate; MakeNodeMetadataWith when you do.
Also, a fix to the tests in app. We unmarshal a RenderableNode struct,
which has a JSON-ignored NodeMetadata field. The zero value is invalid,
so we need to fix that before performing comparisons.
2015-07-30 17:20:44 +02:00
Peter Bourgon
70f8c62415
Don't panic tests on Darwin.
...
Use the proper DialStub in the container setup.
Also, one change to increase test coverage.
2015-07-30 15:16:26 +02:00
Peter Bourgon
fb7eed103e
Merge pull request #320 from weaveworks/process-names-on-darwin
...
Naïve process walker for Darwin
2015-07-20 16:37:25 +01:00
Tom Wilkie
f85195308c
report.Metadata -> map[string]string
2015-07-16 12:06:05 +00:00