mirror of
https://github.com/openai/codex.git
synced 2026-10-21 12:10:06 +00:00
Sanitize skill names in injection metrics (#34601)
## Why Skill names may contain characters that are not valid in metric tag values. ## What changed Pass skill names through `sanitize_metric_tag_value` before using them as the `skill` tag on `codex.skill.injected` counters for both explicit and implicit skill invocations. GitOrigin-RevId: 0ed633fbd468739acc30193b566d830e20bc7860
This commit is contained in:
@@ -11,6 +11,7 @@ use codex_analytics::SkillInvocation;
|
||||
use codex_analytics::TrackEventsContext;
|
||||
use codex_exec_server::LOCAL_FS;
|
||||
use codex_otel::SessionTelemetry;
|
||||
use codex_otel::sanitize_metric_tag_value;
|
||||
use codex_protocol::user_input::UserInput;
|
||||
use codex_utils_absolute_path::AbsolutePathBuf;
|
||||
use codex_utils_path_uri::PathUri;
|
||||
@@ -135,11 +136,12 @@ fn emit_skill_injected_metric(
|
||||
let Some(otel) = otel else {
|
||||
return;
|
||||
};
|
||||
let skill_name_tag = sanitize_metric_tag_value(skill.name.as_str());
|
||||
|
||||
otel.counter(
|
||||
"codex.skill.injected",
|
||||
/*inc*/ 1,
|
||||
&[("status", status), ("skill", skill.name.as_str())],
|
||||
&[("status", status), ("skill", skill_name_tag.as_str())],
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ use codex_analytics::SkillInvocation;
|
||||
use codex_analytics::build_track_events_context;
|
||||
use codex_extension_api::SkillInvocationInput;
|
||||
use codex_extension_api::SkillInvocationKind;
|
||||
use codex_otel::sanitize_metric_tag_value;
|
||||
use codex_protocol::protocol::SkillScope;
|
||||
use codex_utils_absolute_path::AbsolutePathBuf;
|
||||
use codex_utils_plugins::PluginSkillRoot;
|
||||
@@ -87,6 +88,7 @@ pub(crate) async fn maybe_emit_implicit_skill_invocation(
|
||||
if !inserted {
|
||||
return;
|
||||
}
|
||||
let skill_name_tag = sanitize_metric_tag_value(skill_name.as_str());
|
||||
|
||||
for contributor in sess.services.extensions.skill_invocation_contributors() {
|
||||
contributor
|
||||
@@ -106,7 +108,7 @@ pub(crate) async fn maybe_emit_implicit_skill_invocation(
|
||||
/*inc*/ 1,
|
||||
&[
|
||||
("status", "ok"),
|
||||
("skill", skill_name.as_str()),
|
||||
("skill", skill_name_tag.as_str()),
|
||||
("invoke_type", "implicit"),
|
||||
],
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user