pico
created pr with
103.1
added 103.2
1: 66cf9b9 = 1: 66cf9b9 feat(pipe): add pipe_monitors table
2: 83b0c70 = 2: 83b0c70 chore(pipe): add new db methods
3: 43aa4a1 = 3: 43aa4a1 chore(pipe): add db impl
4: a75186b = 4: a75186b chore(pipe): add tests for monitoring
5: 9c7fcda = 5: 9c7fcda feat(pipe): add monitor cli
6: 2b86dec = 6: 2b86dec feat(pipe): status and rss commands
7: 8df2aa2 = 7: 8df2aa2 feat(pipe): monitor pub and pipe cmd
8: 11a5bce = 8: 11a5bce chore(pipe): monitor help text
9: 670350c = 9: 670350c refactor(pipe): monitor pipes on throttle interval
10: ade2b83 = 10: ade2b83 fix: window and ping fixes
11: 68f5cd1 = 11: 68f5cd1 chore(pipe): add tests
-: ------- > 12: 74fb40f chore(pipe): add logging stmts
-: ------- > 13: c422818 refactor(pipe): create pipe monitors history table
-: ------- > 14: e0c3a88 fix(pipe): only update monitor if within window
-: ------- > 15: 9a8fbde chore(pipe): implement monitor history db interface
-: ------- > 16: f168507 feat(pipe): record historical monitors
-: ------- > 17: 16df77f feat(pipe): monitor calculate uptime
-: ------- > 18: 10ffdf1 feat(pipe): uptime cli command
-: ------- > 19: 8231ac5 chore(pipe): monitor history stubs
-: ------- > 20: 65a63a9 fix(pipe): uptime cmd
added 103.3
3: 43aa4a1 ! 1: 603ca6e chore(pubsub): add more tests
1: 66cf9b9 < -: ------- feat(pipe): add pipe_monitors table
2: 83b0c70 < -: ------- chore(pipe): add new db methods
4: a75186b ! 2: 17e00b2 feat(pubsub): round robin
13: c422818 ! 3: e3136bd fix(pubsub): check for eof before processing and skip empty byte reads
-: ------- > 4: 9a6d19e fix: rr
5: 9c7fcda < -: ------- feat(pipe): add monitor cli
16: f168507 ! 5: 5b3f3a1 fix: sending 0 byte read
6: 2b86dec < -: ------- feat(pipe): status and rss commands
11: 68f5cd1 ! 6: 4fff471 refactor: fixes
7: 8df2aa2 < -: ------- feat(pipe): monitor pub and pipe cmd
14: e0c3a88 ! 7: d0dfc85 chore: SetDispatch on Broker
8: 11a5bce < -: ------- chore(pipe): monitor help text
9: 670350c < -: ------- refactor(pipe): monitor pipes on throttle interval
10: ade2b83 < -: ------- fix: window and ping fixes
12: 74fb40f < -: ------- chore(pipe): add logging stmts
15: 9a8fbde < -: ------- chore(pipe): implement monitor history db interface
17: 16df77f < -: ------- feat(pipe): monitor calculate uptime
18: 10ffdf1 < -: ------- feat(pipe): uptime cli command
19: 8231ac5 < -: ------- chore(pipe): monitor history stubs
20: 65a63a9 < -: ------- fix(pipe): uptime cmd
cmds
checkout latest patchset:
ssh pr.pico.sh print 103 | git am -3checkout any patchset in a patch request:
ssh pr.pico.sh print 103.[rev] | git am -3add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add 103
Patchset
103.2
feat(pipe): add pipe_monitors table
Eric Bower
chore(pipe): add new db methods
2025-12-26T21:02:39ZEric Bower
chore(pipe): add db impl
2025-12-26T21:24:18ZEric Bower
chore(pipe): add tests for monitoring
2025-12-26T21:37:49ZEric Bower
feat(pipe): add monitor cli
2025-12-28T14:41:40ZEric Bower
feat(pipe): status and rss commands
2025-12-28T14:44:04ZEric Bower
feat(pipe): monitor pub and pipe cmd
2025-12-28T14:55:12ZEric Bower
→ chore(pipe): monitor help text
2025-12-28T15:26:40ZEric Bower
refactor(pipe): monitor pipes on throttle interval
2025-12-28T15:40:57ZEric Bower
fix: window and ping fixes
2025-12-28T16:22:23ZEric Bower
chore(pipe): add tests
2026-01-03T02:26:40ZEric Bower
chore(pipe): add logging stmts
2026-01-03T03:50:20ZEric Bower
refactor(pipe): create pipe monitors history table
2026-01-05T14:46:42ZEric Bower
fix(pipe): only update monitor if within window
2026-01-07T20:00:47ZEric Bower
chore(pipe): implement monitor history db interface
2026-01-07T21:52:08ZEric Bower
feat(pipe): record historical monitors
2026-01-07T23:19:05ZEric Bower
feat(pipe): monitor calculate uptime
2026-01-07T23:27:20ZEric Bower
feat(pipe): uptime cli command
2026-01-07T23:27:20ZEric Bower
chore(pipe): monitor history stubs
2026-01-08T00:48:50ZEric Bower
fix(pipe): uptime cmd
2026-01-08T00:52:48ZEric Bower
2026-01-08T01:18:38Z
chore(pipe): monitor help text
Eric Bower
2025-12-28T15:40:57ZSemantic diff summary
0 added,
2 modified,
0 signature changed,
0 removed
across 1 analyzed file
+16
-8
pkg/apps/pipe/cli.go
#
| ... | ... | @@ -186,7 +186,7 @@ type CliCmd struct { | |
| 186 | 186 | } | |
| 187 | 187 | ||
| 188 | 188 | func help(cfg *shared.ConfigSite, sesh *pssh.SSHServerConnSession) { | |
| 189 | - | data := fmt.Sprintf(`Command: ssh %s <help | ls | pub | sub | pipe> <topic> [-h | args...] | |
| 189 | + | data := fmt.Sprintf(`Command: ssh %s <command> [args...] | |
| 190 | 190 | ||
| 191 | 191 | The simplest authenticated pubsub system. Send messages through | |
| 192 | 192 | user-defined topics. Topics are private to the authenticated |
| ... | ... | @@ -197,13 +197,21 @@ at least one event to be sent or received. Pipe ("pipe") allows | |
| 197 | 197 | for bidirectional messages to be sent between any clients connected | |
| 198 | 198 | to a pipe. | |
| 199 | 199 | ||
| 200 | - | Think of these different commands in terms of the direction the | |
| 201 | - | data is being sent: | |
| 202 | - | ||
| 203 | - | - pub => writes to client | |
| 204 | - | - sub => reads from client | |
| 205 | - | - pipe => read and write between clients | |
| 206 | - | `, toSshCmd(cfg)) | |
| 200 | + | Commands: | |
| 201 | + | help Show this help message | |
| 202 | + | ls List active pubsub channels | |
| 203 | + | pub <topic> [flags] Publish messages to a topic | |
| 204 | + | sub <topic> [flags] Subscribe to messages from a topic | |
| 205 | + | pipe <topic> [flags] Bidirectional messaging between clients | |
| 206 | + | ||
| 207 | + | Monitoring commands: | |
| 208 | + | monitor <topic> <duration> Create/update a health monitor for a topic | |
| 209 | + | monitor <topic> -d Delete a monitor | |
| 210 | + | status Show health status of all monitors | |
| 211 | + | rss Get RSS feed of monitor alerts | |
| 212 | + | ||
| 213 | + | Use "ssh %s <command> -h" for help on a specific command. | |
| 214 | + | `, toSshCmd(cfg), toSshCmd(cfg)) | |
| 207 | 215 | ||
| 208 | 216 | data = strings.ReplaceAll(data, "\n", "\r\n") | |
| 209 | 217 | _, _ = fmt.Fprintln(sesh, data) |