pw_metric: Document the new MetricService.Walk RPC

Update the documentation to reflect the addition of the new paginated,
unary MetricService.Walk RPC.

The documentation now clarifies the distinction between the two export
methods. It positions the new Walk RPC as the preferred method for
asynchronous transports that require client-driven flow control, and
for fetching large metric sets that may not fit within a single
transport MTU.

Specifically, this update:
* Adds a new subsection describing the MetricService.Walk method.
* Updates the "Metric Parser" section to include the new
get_all_metrics() Python function.
* Marks the roadmap item for this feature as completed.

Change-Id: Ia0b1db27d4e0ee3a5e434a4467689035af6e2acf
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/320994
Commit-Queue: John Alabi <jalabi@google.com>
Pigweed-Auto-Submit: John Alabi <jalabi@google.com>
Reviewed-by: Carlos Chinchilla <cachinchilla@google.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
1 file changed
tree: ef149d30e5ad38ea0310441448c0840570fb81c5
  1. .allstar/
  2. .gemini/
  3. .github/
  4. .vscode/
  5. build_overrides/
  6. docker/
  7. docs/
  8. kudzu/
  9. pw_alignment/
  10. pw_allocator/
  11. pw_analog/
  12. pw_android_toolchain/
  13. pw_arduino_build/
  14. pw_assert/
  15. pw_assert_basic/
  16. pw_assert_fuchsia/
  17. pw_assert_log/
  18. pw_assert_tokenized/
  19. pw_assert_trap/
  20. pw_assert_zephyr/
  21. pw_async/
  22. pw_async2/
  23. pw_async2_basic/
  24. pw_async2_epoll/
  25. pw_async_basic/
  26. pw_async_fuchsia/
  27. pw_atomic/
  28. pw_base64/
  29. pw_bloat/
  30. pw_blob_store/
  31. pw_bluetooth/
  32. pw_bluetooth_hci/
  33. pw_bluetooth_profiles/
  34. pw_bluetooth_proxy/
  35. pw_bluetooth_sapphire/
  36. pw_boot/
  37. pw_boot_cortex_m/
  38. pw_build/
  39. pw_build_android/
  40. pw_build_info/
  41. pw_build_mcuxpresso/
  42. pw_bytes/
  43. pw_change/
  44. pw_channel/
  45. pw_checksum/
  46. pw_chre/
  47. pw_chrono/
  48. pw_chrono_embos/
  49. pw_chrono_freertos/
  50. pw_chrono_rp2040/
  51. pw_chrono_stl/
  52. pw_chrono_threadx/
  53. pw_chrono_zephyr/
  54. pw_cli/
  55. pw_cli_analytics/
  56. pw_clock_tree/
  57. pw_clock_tree_mcuxpresso/
  58. pw_compilation_testing/
  59. pw_config_loader/
  60. pw_console/
  61. pw_containers/
  62. pw_cpu_exception/
  63. pw_cpu_exception_cortex_m/
  64. pw_cpu_exception_risc_v/
  65. pw_crypto/
  66. pw_digital_io/
  67. pw_digital_io_linux/
  68. pw_digital_io_mcuxpresso/
  69. pw_digital_io_rp2040/
  70. pw_digital_io_zephyr/
  71. pw_display/
  72. pw_dma_mcuxpresso/
  73. pw_docgen/
  74. pw_doctor/
  75. pw_elf/
  76. pw_emu/
  77. pw_env_setup/
  78. pw_env_setup_zephyr/
  79. pw_file/
  80. pw_flatbuffers/
  81. pw_format/
  82. pw_function/
  83. pw_fuzzer/
  84. pw_grpc/
  85. pw_hdlc/
  86. pw_hex_dump/
  87. pw_i2c/
  88. pw_i2c_linux/
  89. pw_i2c_mcuxpresso/
  90. pw_i2c_rp2040/
  91. pw_i2c_zephyr/
  92. pw_ide/
  93. pw_interrupt/
  94. pw_interrupt_cortex_m/
  95. pw_interrupt_freertos/
  96. pw_interrupt_zephyr/
  97. pw_intrusive_ptr/
  98. pw_json/
  99. pw_kernel/
  100. pw_kvs/
  101. pw_libc/
  102. pw_libcxx/
  103. pw_log/
  104. pw_log_android/
  105. pw_log_basic/
  106. pw_log_fuchsia/
  107. pw_log_null/
  108. pw_log_rpc/
  109. pw_log_string/
  110. pw_log_tokenized/
  111. pw_log_zephyr/
  112. pw_malloc/
  113. pw_malloc_freelist/
  114. pw_malloc_freertos/
  115. pw_metric/
  116. pw_minimal_cpp_stdlib/
  117. pw_module/
  118. pw_multibuf/
  119. pw_multisink/
  120. pw_numeric/
  121. pw_package/
  122. pw_perf_test/
  123. pw_persistent_ram/
  124. pw_polyfill/
  125. pw_preprocessor/
  126. pw_presubmit/
  127. pw_protobuf/
  128. pw_protobuf_compiler/
  129. pw_random/
  130. pw_random_fuchsia/
  131. pw_result/
  132. pw_ring_buffer/
  133. pw_router/
  134. pw_rpc/
  135. pw_rpc_transport/
  136. pw_rust/
  137. pw_sensor/
  138. pw_snapshot/
  139. pw_software_update/
  140. pw_span/
  141. pw_spi/
  142. pw_spi_linux/
  143. pw_spi_mcuxpresso/
  144. pw_spi_rp2040/
  145. pw_status/
  146. pw_stm32cube_build/
  147. pw_stream/
  148. pw_stream_shmem_mcuxpresso/
  149. pw_stream_uart_linux/
  150. pw_stream_uart_mcuxpresso/
  151. pw_string/
  152. pw_symbolizer/
  153. pw_sync/
  154. pw_sync_baremetal/
  155. pw_sync_embos/
  156. pw_sync_freertos/
  157. pw_sync_stl/
  158. pw_sync_threadx/
  159. pw_sync_zephyr/
  160. pw_sys_io/
  161. pw_sys_io_ambiq_sdk/
  162. pw_sys_io_arduino/
  163. pw_sys_io_baremetal_lm3s6965evb/
  164. pw_sys_io_baremetal_stm32f429/
  165. pw_sys_io_emcraft_sf2/
  166. pw_sys_io_mcuxpresso/
  167. pw_sys_io_rp2040/
  168. pw_sys_io_stdio/
  169. pw_sys_io_stm32cube/
  170. pw_sys_io_zephyr/
  171. pw_system/
  172. pw_target_runner/
  173. pw_thread/
  174. pw_thread_embos/
  175. pw_thread_freertos/
  176. pw_thread_stl/
  177. pw_thread_threadx/
  178. pw_thread_zephyr/
  179. pw_tls_client/
  180. pw_tls_client_boringssl/
  181. pw_tls_client_mbedtls/
  182. pw_tokenizer/
  183. pw_toolchain/
  184. pw_trace/
  185. pw_trace_tokenized/
  186. pw_transfer/
  187. pw_uart/
  188. pw_uart_mcuxpresso/
  189. pw_unit_test/
  190. pw_uuid/
  191. pw_varint/
  192. pw_watch/
  193. pw_web/
  194. pw_work_queue/
  195. seed/
  196. targets/
  197. third_party/
  198. ts/
  199. zephyr/
  200. .bazelignore
  201. .bazelrc
  202. .bazelversion
  203. .black.toml
  204. .clang-format
  205. .clang-tidy
  206. .eslintrc.cjs
  207. .git-blame-ignore-revs
  208. .gitattributes
  209. .gitignore
  210. .gn
  211. .mypy.ini
  212. .prettierignore
  213. .prettierrc.cjs
  214. .pw_ide.yaml
  215. .pylintrc
  216. .ruff.toml
  217. activate.bat
  218. Android.bp
  219. AUTHORS
  220. bootstrap.bat
  221. bootstrap.fish
  222. bootstrap.sh
  223. BUILD.bazel
  224. BUILD.gn
  225. BUILDCONFIG.gn
  226. CMakeLists.txt
  227. GEMINI.md
  228. go.mod
  229. go.sum
  230. jest.config.ts
  231. Kconfig.zephyr
  232. LICENSE
  233. MODULE.bazel
  234. MODULE.bazel.lock
  235. modules.gni
  236. OWNERS
  237. package-lock.json
  238. package.json
  239. pigweed.json
  240. PIGWEED_MODULES
  241. pnpm-lock.yaml
  242. pw
  243. README.md
  244. REPO.bazel
  245. rollup-protos.config.js
  246. rollup.config.js
  247. rustfmt.toml
  248. tsconfig.json
  249. workflows.json
  250. WORKSPACE
  251. WORKSPACE_OWNERS
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/.

Links