Add shared-memory support to Activity Tracker.

This is to aid access to non-persistent breadcrumbs created by
subprocesses.

Turns out that the analyzer required read/write access to take
snapshots because of the "unchanged" indicator.  That's undesirable
(and sometimes simply infeasible) so I've changed "unchanged" in
favor of a "data version" that is incremented.  Comparing before/after
versions will indicate if anything has changed without requiring write
ability by the analyzer.

If the data-version increments 4B times during an analyzer copy, we
have an ABA problem but I think that can be safely discounted.

Bug: 620813
Change-Id: Ic2455dcd3a70f8ec92c4878d7680ce890f16c071
Reviewed-on: https://chromium-review.googlesource.com/773159
Commit-Queue: Brian White <bcwhite@chromium.org>
Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518963}

CrOS-Libchrome-Original-Commit: 32db29f8dcdc46834c45153f92c5cc9fca7916ec
6 files changed
tree: befa0469927333e2756e73ebda60f3ec6f4e1d44
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/