Skip to content

Commit 2d9814a

Browse files
feat: add /metrics slash command to TUI
- Expose metrics registry via Session.Metrics() - Add /metrics command to display collected metrics - Update help text with new command Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
1 parent 1dd2ccd commit 2d9814a

2 files changed

Lines changed: 5 additions & 0 deletions

File tree

‎cmd/chat.go‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -702,6 +702,7 @@ func (m *chatModel) handleCommand(text string) (tea.Model, tea.Cmd) {
702702
/config — Show settings
703703
/context — Show current context
704704
/cost — Token usage and cost
705+
/metrics — Show collected metrics
705706
/diff — Review changes
706707
/doctor — Run diagnostics
707708
/env — Show provider environment status
@@ -733,6 +734,9 @@ func (m *chatModel) handleCommand(text string) (tea.Model, tea.Cmd) {
733734
case "/cost":
734735
m.messages = append(m.messages, displayMsg{role: "system", content: m.session.Cost.Summary()})
735736
return m, nil
737+
case "/metrics":
738+
m.messages = append(m.messages, displayMsg{role: "system", content: m.session.Metrics().Format()})
739+
return m, nil
736740
case "/model":
737741
m.messages = append(m.messages, displayMsg{role: "system", content: fmt.Sprintf("%s/%s", m.session.Provider(), m.session.Model())})
738742
return m, nil

‎engine/engine.go‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ func defaultModelForProvider(provider string) string {
8080
return hawkmodel.DefaultModel(provider)
8181
}
8282
func (s *Session) Provider() string { return s.provider }
83+
func (s *Session) Metrics() *metrics.Registry { return s.metrics }
8384

8485
func (s *Session) AddUser(content string) {
8586
s.messages = append(s.messages, client.EyrieMessage{Role: "user", Content: content})

0 commit comments

Comments
 (0)