Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion src/sentry/search/events/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -1113,7 +1113,12 @@ def _normalize(self, value: str) -> str:
# this even in child classes where `normalize` have been overridden.
# Shortcutting this for now
# TODO: handle different datasets better here
if self.spans and value in ["span.duration", "span.self_time"]:
if self.spans and value in [
"span.duration",
"span.self_time",
"ai.total_tokens.used",
"ai.total_cost",
]:
return value
snuba_column = SEARCH_MAP.get(value)
if not snuba_column and is_measurement(value):
Expand Down
7 changes: 5 additions & 2 deletions src/sentry/utils/snuba.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,8 @@ def log_snuba_info(content):
# message also maps to span description but gets special handling
# to support wild card searching by default
"message": "name",
"span.domain": "domain",
"span.group": "group",
"span.domain": "attr_str[domain]",
"span.group": "attr_str[group]",
"span.op": "attr_str[op]",
"span.category": "attr_str[category]",
"span.self_time": "exclusive_time_ms",
Expand All @@ -204,6 +204,9 @@ def log_snuba_info(content):
"origin.transaction": "segment_name",
"span.status_code": "attr_str[status_code]",
"replay.id": "attr_str[replay_id]",
"span.ai.pipeline.group": "attr_str[ai_pipeline_group]",
"ai.total_tokens.used": "attr_num[ai_total_tokens_used]",
"ai.total_cost": "attr_num[ai_total_cost]",
}

METRICS_SUMMARIES_COLUMN_MAP = {
Expand Down
Loading