traced_probes: Add kmem_activity trigger

kmem_activity gets triggered when there is detected kernel memory
activity -- kswapd, direct reclaim, compaction. This is used a hueristic
for memory pressure, which allows for signaling perfetto to capture
system memory state during periods of memory pressure.

Bug: 155928119
Test: adb root
      adb push test/configs/mm_events.cfg /data/local/tmp/
      adb shell 'cat /data/local/tmp/mm_events.cfg | perfetto --txt -c - -o /data/misc/perfetto-traces/trace'
      [In another shell] Synthesize memory pressure (e.g adb shell /data/local/tmp/lmkd_unit_test)
      adb pull /data/misc/perfetto-traces/trace
Change-Id: Id0a5dad2f6e557606801bad0a58ea180123f54fd
10 files changed
tree: c7af49415f352af13c5437ca08987f84f328f382
  1. .github/
  2. bazel/
  3. build_overrides/
  4. buildtools/
  5. debian/
  6. docs/
  7. examples/
  8. gn/
  9. include/
  10. infra/
  11. protos/
  12. src/
  13. test/
  14. tools/
  15. ui/
  16. .clang-format
  17. .clang-tidy
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. .style.yapf
  22. Android.bp
  23. Android.bp.extras
  24. BUILD
  25. BUILD.extras
  26. BUILD.gn
  27. CHANGELOG
  28. codereview.settings
  29. heapprofd.rc
  30. LICENSE
  31. METADATA
  32. MODULE_LICENSE_APACHE2
  33. OWNERS
  34. perfetto.rc
  35. PRESUBMIT.py
  36. README.chromium
  37. README.md
  38. TEST_MAPPING
  39. traced_perf.rc
  40. WORKSPACE
README.md

Perfetto - System profiling, app tracing and trace analysis

Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.

See https://perfetto.dev/docs or the /docs/ directory for documentation.