statsrb 0.1.1 → 0.1.2
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.
- data/ext/statsrb/statsrb.c +6 -3
- metadata +1 -1
data/ext/statsrb/statsrb.c
CHANGED
@@ -327,7 +327,8 @@ static VALUE statsrb_rack_call(VALUE self, VALUE env) {
|
|
327
327
|
|
328
328
|
int data_length = RARRAY_LEN(statsrb_data);
|
329
329
|
rb_ary_push(body, rb_obj_as_string(INT2NUM(RARRAY_LEN(statsrb_data))));
|
330
|
-
|
330
|
+
|
331
|
+
if (data_length > NUM2INT(rb_iv_get(self, "@flush_count"))) {
|
331
332
|
statsrb_sort(self);
|
332
333
|
statsrb_split_write(self, rb_iv_get(self, "@split_file_dir"), rb_str_new2("a+"));
|
333
334
|
rb_ary_resize(statsrb_data, 0);
|
@@ -460,6 +461,7 @@ static VALUE statsrb_constructor(VALUE self) {
|
|
460
461
|
rb_iv_set(self, "@data", statsrb_data);
|
461
462
|
VALUE statsrb_split_file_dir = rb_str_new("/tmp", 4);
|
462
463
|
rb_iv_set(self, "@split_file_dir", statsrb_split_file_dir);
|
464
|
+
rb_iv_set(self, "@flush_count", INT2NUM(9));
|
463
465
|
|
464
466
|
// Internal symbols for :ts, :ns and :v.
|
465
467
|
VALUE statsrb_key_ts = rb_str_intern(rb_str_new2("ts"));
|
@@ -489,9 +491,10 @@ void Init_statsrb(void) {
|
|
489
491
|
rb_define_method(klass, "call", statsrb_rack_call, 1);
|
490
492
|
// Define :attr_accessor (read/write instance var)
|
491
493
|
// Note that this must correspond with a call to rb_iv_self() and it's string name must be @data.
|
492
|
-
// An array of hashes keyed with :ts(timestamp), :ns(namespace) and :v(value)
|
493
|
-
// e.g. [!{:ts => Time.now.to_i, :ns => "test", :v => 33}]
|
494
|
+
// An array of hashes keyed with :ts(timestamp), :ns(namespace) and :v(value) e.g. [!{:ts => Time.now.to_i, :ns => "test", :v => 33}]
|
494
495
|
rb_define_attr(klass, "data", 1, 1);
|
495
496
|
// The file directory to write when splitting namespaces. @see #split_write
|
496
497
|
rb_define_attr(klass, "split_file_dir", 1, 1);
|
498
|
+
// When used with a rack server, the max count of @data before flushing and writing to file.
|
499
|
+
rb_define_attr(klass, "flush_count", 1, 1);
|
497
500
|
}
|