HexagonTpu.Monitor (hexagon_tpu v0.1.0)

Copy Markdown

Periodic guard for the NIF layer. Add it to your supervision tree:

children = [
  {HexagonTpu.Monitor, interval_ms: 30_000}
]

Every interval it:

  • emits [:hexagon_tpu, :stats] telemetry with the native counters, memory snapshot and dirty-scheduler utilization (attach your metrics reporter to ship these)
  • logs a warning when live QNN resource counts keep growing across growth_checks consecutive samples (leak suspicion) or when dirty scheduler utilization exceeds dirty_high_water (default 0.9)

Options:

  • :interval_ms — sample period (default 30_000)
  • :dirty_sample_ms — microstate-accounting window (default 500)
  • :growth_checks — consecutive growing samples before warning (default 3)
  • :dirty_high_water — utilization warning threshold (default 0.9)

Summary

Functions

Returns a specification to start this module under a supervisor.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(opts \\ [])