If we run out of things to look at in the other map, return quickly.
Also move the equal-key case above the less-than case, since maps with
equal keys are the common case when merging.
Fixing a rare case that came up in a test. In order for this to cause
a problem, the data being decoded has to have entries out of order,
and have a value that is nil or omitted.
Most maps we merge have the same keys, or at least one set of keys is
the subset of the other. Therefore, allocate a result slice capable of
holding only the max of number keys, rather than the sum.
Symptoms:
```
extras/dialer/time-scope-probe-cgroup:31:18: arithmetic expressions must consist of names and numbers
extras/dialer/time-scope-probe-cgroup: run shfmt -i 4 -w extras/dialer/time-scope-probe-cgroup
extras/dialer/time-scope-probe-proc:28:18: arithmetic expressions must consist of names and numbers
extras/dialer/time-scope-probe-proc: run shfmt -i 4 -w extras/dialer/time-scope-probe-proc
extras/in_parallel.sh:29:16: arithmetic expressions must consist of names and numbers
extras/in_parallel.sh: run shfmt -i 4 -w extras/in_parallel.sh
```
Visible on https://circleci.com/gh/kinvolk/scope/980
* remove randomness as far as possible
* make listener to close connections
* report time in a csv-friendly format
* remove tools from README
* rename time-scope-probe -> time-scope-probe-proc
* add time-scope-probe-cgroup
Structs like StringLatestMap now use ps.Map directly, which saves
a memory allocation for LatestEntry.Value to point to.
The values in the ps.Map are now pointers, which saves a memory
allocation indirecting a value type to an interface{}
The find command fails on circleci running ubuntu 14.04 with the
following message:
Unix filenames usually don't contain slashes (though pathnames do).
That means that '-name `./*.go'' will probably evaluate to false all the
time on this system. You might find the '-wholename' test more useful,
or perhaps '-samefile'. Alternatively, if you are using GNU grep, you
could use 'find ... -print0 | grep -FzZ `./*.go''.'
This fix is compatible with ubuntu 12.04
This regression is caused by
https://github.com/weaveworks/scope/pull/2068/files#diff-3072c24bd91fea6eb71aecc590951d7e