Fix missing ClickHouse cost calculation functions for /metrics endpoint #1248
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📥 Pull Request
📘 Description
Fixes 500 Internal Server Error on
/metricsendpoint caused by missing ClickHouse functionscalculate_prompt_costandcalculate_completion_cost. Since ClickHouse doesn't support user-defined functions viaCREATE FUNCTION, this PR replaces the function calls with inlinemultiIfexpressions that calculate costs directly in the SQL queries.Key Changes:
calculate_prompt_cost()andcalculate_completion_cost()function calls with inlinemultiIfexpressions inmetrics.pyandtraces.pyCREATE FUNCTIONstatements from migration file🧪 Testing
multiIfsyntax works correctly with direct query testing/metricsendpoint no longer returns ClickHouse function errors (now returns authentication errors, indicating the function issue is resolved)metrics.pyandtraces.py- consider centralizing in the futureLink to Devin session: https://app.devin.ai/sessions/c94d96bbaff245c189372484a6eeb193
Requested by: @areibman (Alex)