mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Add memory tool call metrics to memories extension (#24583)
## Why The memories extension now receives a metrics exporter, but the useful extension-owned signal is the memory tool call itself: which operation ran, which memory area it touched, whether the backend call succeeded, and whether the result was truncated. ## What changed - Added the `codex.memories.tool.call` counter in `ext/memories/src/metrics.rs`. - Emit that counter from `memories/add_ad_hoc_note`, `memories/list`, `memories/read`, and `memories/search` after backend execution. - Tag each call with `tool`, `operation`, `scope`, `status`, and `truncated`. - Pass the existing `MetricsClient` through the memories extension into the tool executors; tests use `None`. ## Verification - `just test -p codex-memories-extension`
This commit is contained in:
1 parent
b77be36896
commit
01a8bf0ae3
9 files changed
+154
-22
No files matched your search
@@ -415,10 +415,13 @@ async fn search_tool_rejects_legacy_single_query() {
|
||||
|
||||
fn memory_tool(memory_root: &Path, tool_name: &str) -> Arc<dyn ToolExecutor<ToolCall>> {
|
||||
let expected_tool_name = memory_tool_name(tool_name);
|
||||
crate::tools::memory_tools(LocalMemoriesBackend::from_memory_root(memory_root))
|
||||
.into_iter()
|
||||
.find(|tool| tool.tool_name() == expected_tool_name)
|
||||
.unwrap_or_else(|| panic!("{tool_name} tool should be registered"))
|
||||
crate::tools::memory_tools(
|
||||
LocalMemoriesBackend::from_memory_root(memory_root),
|
||||
/*metrics_client*/ None,
|
||||
)
|
||||
.into_iter()
|
||||
.find(|tool| tool.tool_name() == expected_tool_name)
|
||||
.unwrap_or_else(|| panic!("{tool_name} tool should be registered"))
|
||||
}
|
||||
|
||||
fn memory_tool_name(tool_name: &str) -> ToolName {
|
||||
|
||||
Reference in new issue
Block a user