Class: LlmCostTracker::Doctor
- Inherits:
-
Object
- Object
- LlmCostTracker::Doctor
show all
- Defined in:
- lib/llm_cost_tracker/doctor.rb,
lib/llm_cost_tracker/doctor/capture_check.rb
Defined Under Namespace
Classes: CaptureCheck, Check
Constant Summary
collapse
- CORE_COLUMNS =
%w[provider model input_tokens output_tokens total_tokens total_cost tags tracked_at].freeze
- FEATURE_COLUMNS =
{
"latency_ms" => "bin/rails generate llm_cost_tracker:add_latency_ms",
"stream" => "bin/rails generate llm_cost_tracker:add_streaming",
"usage_source" => "bin/rails generate llm_cost_tracker:add_streaming",
"provider_response_id" => "bin/rails generate llm_cost_tracker:add_provider_response_id",
"cache_read_input_tokens" => "bin/rails generate llm_cost_tracker:add_usage_breakdown",
"cache_write_input_tokens" => "bin/rails generate llm_cost_tracker:add_usage_breakdown",
"hidden_output_tokens" => "bin/rails generate llm_cost_tracker:add_usage_breakdown",
"pricing_mode" => "bin/rails generate llm_cost_tracker:add_usage_breakdown"
}.freeze
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.call ⇒ Object
22
|
# File 'lib/llm_cost_tracker/doctor.rb', line 22
def call = new.checks
|
.healthy?(checks = call) ⇒ Boolean
28
29
30
|
# File 'lib/llm_cost_tracker/doctor.rb', line 28
def healthy?(checks = call)
checks.none? { |check| check.status == :error }
end
|
.report(checks = call) ⇒ Object
24
25
26
|
# File 'lib/llm_cost_tracker/doctor.rb', line 24
def report(checks = call)
(["LLM Cost Tracker doctor"] + checks.map { |check| format_check(check) }).join("\n")
end
|
Instance Method Details
#checks ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/llm_cost_tracker/doctor.rb', line 39
def checks
[
configuration_check,
capture_check,
*integration_checks,
active_record_check,
table_check,
column_check,
period_totals_check,
prices_check,
calls_check
].compact
end
|