Alex Fournier
806c2b1fdc
Merge updated client resource metrics into active-install metrics
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-08-04 15:10:41 -07:00
Alex Fournier
44897dd6f0
Merge origin/main into feat/hermes-relay-client-dimensions
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-08-04 11:19:43 -07:00
Jeffrey Quesnelle
5943bab1ec
Merge branch 'main' into feat/hermes-relay-model-metrics
2026-08-04 12:07:51 -04:00
Bryan Bednarski
a2a08fe147
fix(relay): gate skipped turn metrics
...
Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com>
2026-08-03 13:43:17 -06:00
Alex Fournier
07ac9ca687
Merge updated client resource metrics into active-install metrics
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
# Conflicts:
# hermes_cli/observability/schemas/hermes.shared_metrics.v1.schema.json
# hermes_cli/observability/shared_metrics_contract.py
# hermes_cli/observability/shared_metrics_subscriber.py
# scripts/smoke_nemo_relay_shared_metrics.py
# tests/hermes_cli/test_relay_shared_metrics.py
# tests/hermes_cli/test_relay_shared_metrics_runtime.py
2026-07-31 07:43:11 -07:00
Alex Fournier
3d5fcab70f
Merge updated tool metrics into skill metrics
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
# Conflicts:
# hermes_cli/observability/schemas/hermes.shared_metrics.v1.schema.json
# scripts/smoke_nemo_relay_shared_metrics.py
# tests/agent/test_skill_commands.py
# tests/hermes_cli/test_relay_shared_metrics.py
# tests/hermes_cli/test_relay_shared_metrics_runtime.py
# tests/tools/test_skill_manager_tool.py
# tests/tools/test_skill_usage.py
# tests/tools/test_skills_tool.py
2026-07-31 07:30:30 -07:00
Alex Fournier
aef76ba398
Merge updated model metrics into tool metrics
...
# Conflicts:
# hermes_cli/observability/shared_metrics_contract.py
# hermes_cli/observability/shared_metrics_subscriber.py
# scripts/smoke_nemo_relay_shared_metrics.py
# tests/hermes_cli/test_plugins.py
# tests/hermes_cli/test_relay_shared_metrics.py
# tests/hermes_cli/test_relay_shared_metrics_runtime.py
# tests/run_agent/test_run_agent.py
# tests/test_model_tools.py
# tests/tools/test_approval.py
2026-07-31 07:18:02 -07:00
Alex Fournier
c0369f0891
Merge remote-tracking branch 'origin/main' into feat/hermes-relay-model-metrics
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-30 11:12:51 -07:00
Alex Fournier
46bae75042
feat(observability): add Relay active install metrics
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-29 12:20:34 -07:00
Alex Fournier
f1fd678e44
feat(observability): add Relay skill metrics
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-29 12:20:34 -07:00
Alex Fournier
8502e464a8
fix(observability): harden tool lifecycle metrics
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-29 12:20:17 -07:00
Alex Fournier
4ad78a98fb
fix(observability): derive tool metrics from runtime metadata
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-29 11:49:45 -07:00
teknium1
c2eda92fd0
perf(config): stop deepcopying config on per-turn read-only paths
...
Four hot-path consumers paid a full config deepcopy per read:
- telemetry gate relay_shared_metrics.enabled() — runs 2-3x per agent
turn (2x per API call from lifecycle hooks + 1x per tool call) and
called read_raw_config(), which deepcopies the whole raw config every
call. New read_raw_config_readonly() serves the cached dict directly:
248 us -> 4.6 us per call (54x) on Teknium's real 77-key config.
- interruptible_streaming_api_call local-endpoint stale-timeout branch
called load_config() once per API call for every local-model user.
- gateway get_inbound_media_max_bytes() + _get_ephemeral_system_ttl_default()
called load_config() on per-message paths. All three switched to
load_config_readonly() (345 us -> 12 us; PR #28866 lineage).
Together these account for ~90% of the ~1,900 deepcopy primitives per
turn measured in the 26-call stubbed-LLM profile.
read_raw_config_readonly() keeps the (mtime_ns, size) freshness key so
config edits are picked up next call, and preserves the identity
invariant (cache-miss returns the same object later hits serve) —
regression-tested with 'is', per the PR #28866 identity-bug lesson.
The mutable read_raw_config() is unchanged for save-path callers.
581 targeted tests green (config, relay metrics x2, ephemeral reply,
platform base, new readonly suite).
2026-07-29 11:33:41 -07:00
Alex Fournier
8b0c3da8c0
feat(observability): aggregate bounded tool metrics
2026-07-29 11:25:55 -07:00
Alex Fournier
dc4714b1e0
feat(observability): report model and provider usage
2026-07-29 11:24:13 -07:00
Alex Fournier
1c582c4c4a
fix(observability): gate export on subscriber flush
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-28 12:08:10 -07:00
Alex Fournier
2aa34c5484
fix(observability): export shared metrics after tasks
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-28 11:06:14 -07:00
Alex Fournier
14bed44c8c
Reapply "feat(observability): integrate NeMo Relay runtime and shared metrics"
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-27 21:10:51 -07:00
Jeffrey Quesnelle
841a5a744a
Revert "feat(observability): integrate NeMo Relay runtime and shared metrics"
2026-07-27 22:28:08 -04:00
Alex Fournier
43d994986e
fix(telemetry): keep consent profile-owned
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-23 14:04:07 -07:00
Alex Fournier
6efc5fe0af
fix(runtime): preserve provider payloads through Relay
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-21 09:25:22 -07:00
Alex Fournier
55b7903cf7
fix(observability): harden Relay terminal lifecycle metrics
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-19 08:59:42 -04:00
Alex Fournier
4dedaa4237
refactor(runtime): consolidate Relay lifecycle ownership
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-19 08:59:06 -04:00
Alex Fournier
9bc521b138
refactor(runtime): manage Relay LLM tool and subagent execution
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-19 08:57:38 -04:00
Alex Fournier
056e7df0e0
fix(observability): harden Relay metrics isolation and aggregation
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-19 08:55:07 -04:00
Alex Fournier
64faff6768
refactor(observability): move Relay runtime ownership into core
...
Signed-off-by: Alex Fournier <afournier@nvidia.com>
2026-07-19 08:54:49 -04:00