agentmon 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +14 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +105 -0
  5. data/exe/agentmon +18 -0
  6. data/lib/agentmon/commands/cli_options.rb +21 -0
  7. data/lib/agentmon/commands/footprint.rb +81 -0
  8. data/lib/agentmon/commands/memory.rb +110 -0
  9. data/lib/agentmon/commands/record.rb +118 -0
  10. data/lib/agentmon/commands/report.rb +127 -0
  11. data/lib/agentmon/commands/sessions.rb +98 -0
  12. data/lib/agentmon/commands/top.rb +87 -0
  13. data/lib/agentmon/commands/tree.rb +96 -0
  14. data/lib/agentmon/darwin.rb +235 -0
  15. data/lib/agentmon/engine.rb +115 -0
  16. data/lib/agentmon/focus.rb +88 -0
  17. data/lib/agentmon/metrics/memory.rb +76 -0
  18. data/lib/agentmon/metrics/network.rb +245 -0
  19. data/lib/agentmon/metrics/pressure_drivers.rb +57 -0
  20. data/lib/agentmon/metrics/process_rates.rb +65 -0
  21. data/lib/agentmon/metrics/process_rows.rb +41 -0
  22. data/lib/agentmon/metrics/session_ledger.rb +160 -0
  23. data/lib/agentmon/metrics/session_memory.rb +84 -0
  24. data/lib/agentmon/metrics/session_names.rb +169 -0
  25. data/lib/agentmon/metrics/sessions.rb +80 -0
  26. data/lib/agentmon/metrics/system.rb +114 -0
  27. data/lib/agentmon/model.rb +263 -0
  28. data/lib/agentmon/probes/cwd.rb +32 -0
  29. data/lib/agentmon/probes/memory.rb +139 -0
  30. data/lib/agentmon/probes/network.rb +326 -0
  31. data/lib/agentmon/probes/processes.rb +72 -0
  32. data/lib/agentmon/probes/system.rb +134 -0
  33. data/lib/agentmon/program.rb +55 -0
  34. data/lib/agentmon/reading.rb +83 -0
  35. data/lib/agentmon/recorders/memory.rb +19 -0
  36. data/lib/agentmon/recorders/sessions.rb +40 -0
  37. data/lib/agentmon/registry.rb +155 -0
  38. data/lib/agentmon/sampler.rb +50 -0
  39. data/lib/agentmon/store.rb +86 -0
  40. data/lib/agentmon/ui/connections.rb +75 -0
  41. data/lib/agentmon/ui/interaction.rb +94 -0
  42. data/lib/agentmon/ui/memory.rb +125 -0
  43. data/lib/agentmon/ui/process_actions.rb +49 -0
  44. data/lib/agentmon/ui/process_detail.rb +148 -0
  45. data/lib/agentmon/ui/process_network.rb +13 -0
  46. data/lib/agentmon/ui/process_scopes.rb +32 -0
  47. data/lib/agentmon/ui/process_waits.rb +99 -0
  48. data/lib/agentmon/ui/processes.rb +42 -0
  49. data/lib/agentmon/ui/session_focus.rb +126 -0
  50. data/lib/agentmon/ui/session_memory.rb +78 -0
  51. data/lib/agentmon/ui/sessions.rb +130 -0
  52. data/lib/agentmon/ui/theme.rb +49 -0
  53. data/lib/agentmon/ui.rb +80 -0
  54. data/lib/agentmon/version.rb +5 -0
  55. data/lib/agentmon/views/dense.rb +157 -0
  56. data/lib/agentmon/views/history.rb +62 -0
  57. data/lib/agentmon/views/signals.rb +279 -0
  58. data/lib/agentmon/views/visual.rb +172 -0
  59. data/lib/agentmon/views/widgets.rb +352 -0
  60. data/lib/agentmon/views.rb +875 -0
  61. data/lib/agentmon.rb +38 -0
  62. metadata +135 -0
data/lib/agentmon.rb ADDED
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "r2ui"
4
+ require "r2ui/cli"
5
+
6
+ require_relative "agentmon/version"
7
+ require_relative "agentmon/model"
8
+ require_relative "agentmon/registry"
9
+ require_relative "agentmon/darwin"
10
+ require_relative "agentmon/sampler"
11
+ require_relative "agentmon/reading"
12
+ require_relative "agentmon/focus"
13
+ require_relative "agentmon/engine"
14
+ require_relative "agentmon/store"
15
+ require_relative "agentmon/ui"
16
+ require_relative "agentmon/program"
17
+
18
+ # agentmon: what AI coding agents cost this Mac. docs/design.md is the architecture and the story
19
+ # list. Probes read the machine into a Sample; metrics derive values from samples (a Reading);
20
+ # recorders append to the Store; the dashboard's panels and the CLI's commands read the Engine.
21
+ # Each of those is one self-registering file under lib/agentmon/{probes,metrics,recorders,ui,commands}.
22
+ module Agentmon
23
+ class << self
24
+ # The one Engine the dashboard and commands share. Tests assign their own (fixture sampler,
25
+ # temp store) and reset it with `Agentmon.engine = nil`.
26
+ def engine = @engine ||= Engine.new(store: Store.new)
27
+
28
+ attr_writer :engine
29
+
30
+ # Engine#errors, or {} when nothing has built an engine yet (e.g. `agentmon --help`).
31
+ def engine_errors = @engine ? @engine.errors : {}
32
+ end
33
+ end
34
+
35
+ Agentmon.load_extensions
36
+ # Performance views (docs/views.md): the DSL, then the layouts in lib/agentmon/views/*.rb. After
37
+ # the extensions, since views reuse their panels and resources.
38
+ require_relative "agentmon/views"
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: agentmon
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ryan Gavin
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: fiddle
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.1'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.1'
26
+ - !ruby/object:Gem::Dependency
27
+ name: r2ui
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.2'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.2'
40
+ description: 'A terminal monitor for AI coding agents (Claude, Codex) on macOS: per-session
41
+ CPU, real memory (footprint), disk and network I/O, memory pressure, and a history
42
+ of runs. macOS only.'
43
+ email:
44
+ - ryan.michael.gavin@gmail.com
45
+ executables:
46
+ - agentmon
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - CHANGELOG.md
51
+ - LICENSE.txt
52
+ - README.md
53
+ - exe/agentmon
54
+ - lib/agentmon.rb
55
+ - lib/agentmon/commands/cli_options.rb
56
+ - lib/agentmon/commands/footprint.rb
57
+ - lib/agentmon/commands/memory.rb
58
+ - lib/agentmon/commands/record.rb
59
+ - lib/agentmon/commands/report.rb
60
+ - lib/agentmon/commands/sessions.rb
61
+ - lib/agentmon/commands/top.rb
62
+ - lib/agentmon/commands/tree.rb
63
+ - lib/agentmon/darwin.rb
64
+ - lib/agentmon/engine.rb
65
+ - lib/agentmon/focus.rb
66
+ - lib/agentmon/metrics/memory.rb
67
+ - lib/agentmon/metrics/network.rb
68
+ - lib/agentmon/metrics/pressure_drivers.rb
69
+ - lib/agentmon/metrics/process_rates.rb
70
+ - lib/agentmon/metrics/process_rows.rb
71
+ - lib/agentmon/metrics/session_ledger.rb
72
+ - lib/agentmon/metrics/session_memory.rb
73
+ - lib/agentmon/metrics/session_names.rb
74
+ - lib/agentmon/metrics/sessions.rb
75
+ - lib/agentmon/metrics/system.rb
76
+ - lib/agentmon/model.rb
77
+ - lib/agentmon/probes/cwd.rb
78
+ - lib/agentmon/probes/memory.rb
79
+ - lib/agentmon/probes/network.rb
80
+ - lib/agentmon/probes/processes.rb
81
+ - lib/agentmon/probes/system.rb
82
+ - lib/agentmon/program.rb
83
+ - lib/agentmon/reading.rb
84
+ - lib/agentmon/recorders/memory.rb
85
+ - lib/agentmon/recorders/sessions.rb
86
+ - lib/agentmon/registry.rb
87
+ - lib/agentmon/sampler.rb
88
+ - lib/agentmon/store.rb
89
+ - lib/agentmon/ui.rb
90
+ - lib/agentmon/ui/connections.rb
91
+ - lib/agentmon/ui/interaction.rb
92
+ - lib/agentmon/ui/memory.rb
93
+ - lib/agentmon/ui/process_actions.rb
94
+ - lib/agentmon/ui/process_detail.rb
95
+ - lib/agentmon/ui/process_network.rb
96
+ - lib/agentmon/ui/process_scopes.rb
97
+ - lib/agentmon/ui/process_waits.rb
98
+ - lib/agentmon/ui/processes.rb
99
+ - lib/agentmon/ui/session_focus.rb
100
+ - lib/agentmon/ui/session_memory.rb
101
+ - lib/agentmon/ui/sessions.rb
102
+ - lib/agentmon/ui/theme.rb
103
+ - lib/agentmon/version.rb
104
+ - lib/agentmon/views.rb
105
+ - lib/agentmon/views/dense.rb
106
+ - lib/agentmon/views/history.rb
107
+ - lib/agentmon/views/signals.rb
108
+ - lib/agentmon/views/visual.rb
109
+ - lib/agentmon/views/widgets.rb
110
+ homepage: https://github.com/satoramoto/agentmon
111
+ licenses:
112
+ - MIT
113
+ metadata:
114
+ source_code_uri: https://github.com/satoramoto/agentmon
115
+ changelog_uri: https://github.com/satoramoto/agentmon/blob/main/CHANGELOG.md
116
+ rubygems_mfa_required: 'true'
117
+ platforms: macOS only
118
+ rdoc_options: []
119
+ require_paths:
120
+ - lib
121
+ required_ruby_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '3.3'
126
+ required_rubygems_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ requirements: []
132
+ rubygems_version: 3.6.9
133
+ specification_version: 4
134
+ summary: What AI coding agents (Claude, Codex) cost your Mac
135
+ test_files: []