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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +14 -0
- data/LICENSE.txt +21 -0
- data/README.md +105 -0
- data/exe/agentmon +18 -0
- data/lib/agentmon/commands/cli_options.rb +21 -0
- data/lib/agentmon/commands/footprint.rb +81 -0
- data/lib/agentmon/commands/memory.rb +110 -0
- data/lib/agentmon/commands/record.rb +118 -0
- data/lib/agentmon/commands/report.rb +127 -0
- data/lib/agentmon/commands/sessions.rb +98 -0
- data/lib/agentmon/commands/top.rb +87 -0
- data/lib/agentmon/commands/tree.rb +96 -0
- data/lib/agentmon/darwin.rb +235 -0
- data/lib/agentmon/engine.rb +115 -0
- data/lib/agentmon/focus.rb +88 -0
- data/lib/agentmon/metrics/memory.rb +76 -0
- data/lib/agentmon/metrics/network.rb +245 -0
- data/lib/agentmon/metrics/pressure_drivers.rb +57 -0
- data/lib/agentmon/metrics/process_rates.rb +65 -0
- data/lib/agentmon/metrics/process_rows.rb +41 -0
- data/lib/agentmon/metrics/session_ledger.rb +160 -0
- data/lib/agentmon/metrics/session_memory.rb +84 -0
- data/lib/agentmon/metrics/session_names.rb +169 -0
- data/lib/agentmon/metrics/sessions.rb +80 -0
- data/lib/agentmon/metrics/system.rb +114 -0
- data/lib/agentmon/model.rb +263 -0
- data/lib/agentmon/probes/cwd.rb +32 -0
- data/lib/agentmon/probes/memory.rb +139 -0
- data/lib/agentmon/probes/network.rb +326 -0
- data/lib/agentmon/probes/processes.rb +72 -0
- data/lib/agentmon/probes/system.rb +134 -0
- data/lib/agentmon/program.rb +55 -0
- data/lib/agentmon/reading.rb +83 -0
- data/lib/agentmon/recorders/memory.rb +19 -0
- data/lib/agentmon/recorders/sessions.rb +40 -0
- data/lib/agentmon/registry.rb +155 -0
- data/lib/agentmon/sampler.rb +50 -0
- data/lib/agentmon/store.rb +86 -0
- data/lib/agentmon/ui/connections.rb +75 -0
- data/lib/agentmon/ui/interaction.rb +94 -0
- data/lib/agentmon/ui/memory.rb +125 -0
- data/lib/agentmon/ui/process_actions.rb +49 -0
- data/lib/agentmon/ui/process_detail.rb +148 -0
- data/lib/agentmon/ui/process_network.rb +13 -0
- data/lib/agentmon/ui/process_scopes.rb +32 -0
- data/lib/agentmon/ui/process_waits.rb +99 -0
- data/lib/agentmon/ui/processes.rb +42 -0
- data/lib/agentmon/ui/session_focus.rb +126 -0
- data/lib/agentmon/ui/session_memory.rb +78 -0
- data/lib/agentmon/ui/sessions.rb +130 -0
- data/lib/agentmon/ui/theme.rb +49 -0
- data/lib/agentmon/ui.rb +80 -0
- data/lib/agentmon/version.rb +5 -0
- data/lib/agentmon/views/dense.rb +157 -0
- data/lib/agentmon/views/history.rb +62 -0
- data/lib/agentmon/views/signals.rb +279 -0
- data/lib/agentmon/views/visual.rb +172 -0
- data/lib/agentmon/views/widgets.rb +352 -0
- data/lib/agentmon/views.rb +875 -0
- data/lib/agentmon.rb +38 -0
- 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: []
|