Priya R. Tony has caught me up on this issue a bit. Definitely mysterious. If you are able to adjust the Phoenix source code, can you add the following print statements and let us know what you see in the Phoenix logs?
src/phoenix/server/cost_tracking/cost_model_lookup.py
Line 136-143 (in find_model())
print(f"[DEBUG-COST] find_model() called with model_name='{model_name}', _models_by_id has {len(self._models_by_id)} models")
candidates = [
model
for model in self._models_by_id.values()
if (not model.start_time or model.start_time <= start_time)
and model.name_pattern.search(model_name)
]
print(f"[DEBUG-COST] find_model() found {len(candidates)} candidates")
if not candidates:
print(f"[DEBUG-COST] find_model() returning None - no candidates matched")
return None
After submitting your span, look for lines starting with [DEBUG-COST] in your logs.