Class: LlmCostTracker::Doctor
- Inherits:
-
Object
- Object
- LlmCostTracker::Doctor
- Defined in:
- lib/llm_cost_tracker/doctor.rb
Defined Under Namespace
Classes: 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
21 |
# File 'lib/llm_cost_tracker/doctor.rb', line 21 def call = new.checks |
.healthy?(checks = call) ⇒ Boolean
27 28 29 |
# File 'lib/llm_cost_tracker/doctor.rb', line 27 def healthy?(checks = call) checks.none? { |check| check.status == :error } end |
.report(checks = call) ⇒ Object
23 24 25 |
# File 'lib/llm_cost_tracker/doctor.rb', line 23 def report(checks = call) (["LLM Cost Tracker doctor"] + checks.map { |check| format_check(check) }).join("\n") end |
Instance Method Details
#checks ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/llm_cost_tracker/doctor.rb', line 38 def checks [ configuration_check, *integration_checks, active_record_check, table_check, column_check, period_totals_check, prices_check, calls_check ].compact end |