Module: Ask::Monitoring
- Defined in:
- lib/ask/monitoring.rb,
lib/ask/monitoring/cost.rb,
lib/ask/monitoring/engine.rb,
lib/ask/monitoring/version.rb,
lib/ask/monitoring/metrics/base.rb,
lib/ask/monitoring/metrics/cost.rb,
lib/ask/monitoring/channels/base.rb,
lib/ask/monitoring/channels/email.rb,
lib/ask/monitoring/channels/slack.rb,
lib/ask/monitoring/event_subscriber.rb,
lib/ask/monitoring/metrics/throughput.rb,
lib/ask/monitoring/metrics/error_count.rb,
lib/ask/monitoring/metrics/response_time.rb,
app/helpers/ask/monitoring/dashboard_helper.rb,
lib/generators/ask/monitoring/install_generator.rb,
app/controllers/ask/monitoring/dashboard_controller.rb
Overview
LLM Monitoring Dashboard for Rails.
A Rails engine that subscribes to Ask::Instrumentation events, persists them, and provides a real-time dashboard for monitoring LLM cost, throughput, error rates, and response times.
Usage
# In your Rails app:
# gem "ask-monitoring"
# rails generate ask:monitoring:install
# rails db:migrate
# Then visit /ask/monitoring
Defined Under Namespace
Modules: Channels, DashboardHelper, Metrics Classes: Cost, DashboardController, Engine, EventSubscriber, InstallGenerator
Constant Summary collapse
- VERSION =
"0.1.0"
Class Attribute Summary collapse
-
.alert_cooldown ⇒ ActiveSupport::Duration
Minimum time between repeated alerts from the same rule.
-
.alert_rules ⇒ Array<Hash>
Array of alert rule hashes.
Class Method Summary collapse
-
.configure {|_self| ... } ⇒ Object
Yields self for configuration.
Class Attribute Details
.alert_cooldown ⇒ ActiveSupport::Duration
Minimum time between repeated alerts from the same rule.
42 43 44 |
# File 'lib/ask/monitoring.rb', line 42 def alert_cooldown @alert_cooldown end |
.alert_rules ⇒ Array<Hash>
Array of alert rule hashes. Each rule must have:
* +:name+ — String label
* +:condition+ — Proc receiving a metrics hash
* +:channels+ — Array of channel symbols (+:slack+, +:email+)
* +:cooldown+ — (optional) Duration override per rule
51 52 53 |
# File 'lib/ask/monitoring.rb', line 51 def alert_rules @alert_rules end |
Class Method Details
.configure {|_self| ... } ⇒ Object
Yields self for configuration.
54 55 56 |
# File 'lib/ask/monitoring.rb', line 54 def configure yield self end |