Skip to content

Commit

Permalink
adding support for counting deletes on a tube
Browse files Browse the repository at this point in the history
this makes it easier to track inflow/outflow of a tube
  • Loading branch information
drasch committed Oct 3, 2011
1 parent b5a2049 commit 772033f
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 3 deletions.
1 change: 1 addition & 0 deletions dat.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ struct stats {
uint buried_ct;
uint reserved_ct;
uint pause_ct;
uint64 total_delete_ct;
uint64 total_jobs_ct;
};

Expand Down
2 changes: 2 additions & 0 deletions doc/protocol.txt
Original file line number Diff line number Diff line change
Expand Up @@ -485,6 +485,8 @@ to scalars. It contains these keys:

- "pause" is the number of seconds the tube has been paused for.

- "cmd-delete" is the cumulative number of delete commands for this tube

- "cmd-pause-tube" is the cumulative number of pause-tube commands for this
tube.

Expand Down
1 change: 1 addition & 0 deletions integ-test.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ static T ts[] = {
{"sh-tests/omit-time-left.commands", "sh-tests/omit-time-left.expected"},
{"sh-tests/pause-tube.commands", "sh-tests/pause-tube.expected"},
{"sh-tests/small_delay.commands", "sh-tests/small_delay.expected"},
{"sh-tests/stats_tube.commands", "sh-tests/stats_tube.expected"},
{"sh-tests/too-big.commands", "sh-tests/too-big.expected"},
{"sh-tests/ttr-large.commands", "sh-tests/ttr-large.expected"},
{"sh-tests/zero_delay.commands", "sh-tests/zero_delay.expected"},
Expand Down
4 changes: 4 additions & 0 deletions prot.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ size_t job_data_size_limit = JOB_DATA_SIZE_LIMIT_DEFAULT;
"current-using: %u\n" \
"current-watching: %u\n" \
"current-waiting: %u\n" \
"cmd-delete: %" PRIu64 "\n" \
"cmd-pause-tube: %u\n" \
"pause: %" PRIu64 "\n" \
"pause-time-left: %" PRIu64 "\n" \
Expand Down Expand Up @@ -1082,6 +1083,7 @@ fmt_stats_tube(char *buf, size_t size, tube t)
t->using_ct,
t->watching_ct,
t->stat.waiting_ct,
t->stat.total_delete_ct,
t->stat.pause_ct,
t->pause / 1000000000,
time_left);
Expand Down Expand Up @@ -1292,6 +1294,8 @@ dispatch_cmd(conn c)

if (!j) return reply(c, MSG_NOTFOUND, MSG_NOTFOUND_LEN, STATE_SENDWORD);

j->tube->stat.total_delete_ct++;

j->r.state = Invalid;
r = walwrite(&c->srv->wal, j);
walmaint(&c->srv->wal);
Expand Down
9 changes: 6 additions & 3 deletions sh-tests/pause-tube.expected
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
INSERTED 1
INSERTED 2
OK 251
OK 265
---
name: default
current-jobs-urgent: 0
Expand All @@ -12,12 +12,13 @@ total-jobs: 2
current-using: 1
current-watching: 1
current-waiting: 0
cmd-delete: 0
cmd-pause-tube: 0
pause: 0
pause-time-left: 0

PAUSED
OK 252
OK 266
---
name: default
current-jobs-urgent: 0
Expand All @@ -29,6 +30,7 @@ total-jobs: 2
current-using: 1
current-watching: 1
current-waiting: 0
cmd-delete: 0
cmd-pause-tube: 1
pause: 10
pause-time-left: 9
Expand All @@ -38,7 +40,7 @@ RESERVED 1 1
1
DELETED
PAUSED
OK 251
OK 265
---
name: default
current-jobs-urgent: 1
Expand All @@ -50,6 +52,7 @@ total-jobs: 2
current-using: 1
current-watching: 1
current-waiting: 0
cmd-delete: 1
cmd-pause-tube: 3
pause: 3
pause-time-left: 2
Expand Down
7 changes: 7 additions & 0 deletions sh-tests/stats_tube.commands
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
use tubea
put 0 0 0 0

delete 1
stats-tube tubea
stats-tube default
quit
37 changes: 37 additions & 0 deletions sh-tests/stats_tube.expected
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
USING tubea
INSERTED 1
DELETED
OK 263
---
name: tubea
current-jobs-urgent: 0
current-jobs-ready: 0
current-jobs-reserved: 0
current-jobs-delayed: 0
current-jobs-buried: 0
total-jobs: 1
current-using: 1
current-watching: 0
current-waiting: 0
cmd-delete: 1
cmd-pause-tube: 0
pause: 0
pause-time-left: 0

OK 265
---
name: default
current-jobs-urgent: 0
current-jobs-ready: 0
current-jobs-reserved: 0
current-jobs-delayed: 0
current-jobs-buried: 0
total-jobs: 0
current-using: 0
current-watching: 1
current-waiting: 0
cmd-delete: 0
cmd-pause-tube: 0
pause: 0
pause-time-left: 0

0 comments on commit 772033f

Please sign in to comment.