allocation_tracer 0.4.0 → 0.4.1
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 +4 -4
- data/ext/allocation_tracer/allocation_tracer.c +12 -13
- data/lib/allocation_tracer/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a78ab5afb661776f40b461268284d07e8774b56c
|
4
|
+
data.tar.gz: eea35b335ca74adc44b124c807def5c127b5512f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 380a0ffdb0478d0adbe8530681e13806e41955c4baddb39919ff353b206e9b4362627077d89b089e4377da089afc1b02ab73ed71845c49f57414ebfb878a0a93
|
7
|
+
data.tar.gz: 75dd1e0a3b72427801147909660942611ffcff99f7e95775d19d6d0fb15cc4dcfb431a2e527259a58b6fb669f84999d66d3e69b629288f4afe0b981df7f66b76
|
@@ -294,7 +294,7 @@ aggregate_each_info(struct traceobj_arg *arg, struct allocation_info *info, size
|
|
294
294
|
}
|
295
295
|
key = (st_data_t)key_buff;
|
296
296
|
|
297
|
-
/* count, total age, max age, min age */
|
297
|
+
/* count, old count, total age, max age, min age */
|
298
298
|
val_buff = ALLOC_N(size_t, 6);
|
299
299
|
val_buff[0] = val_buff[1] = val_buff[2] = 0;
|
300
300
|
val_buff[3] = val_buff[4] = age;
|
@@ -309,7 +309,12 @@ aggregate_each_info(struct traceobj_arg *arg, struct allocation_info *info, size
|
|
309
309
|
}
|
310
310
|
|
311
311
|
val_buff[0] += 1;
|
312
|
+
#ifdef FL_PROMOTED
|
312
313
|
if (info->flags & FL_PROMOTED) val_buff[1] += 1;
|
314
|
+
#elif defined(FL_PROMOTED0) && defined(FL_PROMOTED1)
|
315
|
+
if (info->flags & FL_PROMOTED0 &&
|
316
|
+
info->flags & FL_PROMOTED1) val_buff[1] += 1;
|
317
|
+
#endif
|
313
318
|
val_buff[2] += age;
|
314
319
|
if (val_buff[3] > age) val_buff[3] = age; /* min */
|
315
320
|
if (val_buff[4] < age) val_buff[4] = age; /* max */
|
@@ -585,12 +590,12 @@ aggregate_result_i(st_data_t key, st_data_t val, void *data)
|
|
585
590
|
|
586
591
|
if (aar->update && (oldv = rb_hash_aref(result, k)) != Qnil) {
|
587
592
|
v = rb_ary_new3(6,
|
588
|
-
INT2FIX(val_buff[0] + FIX2INT(RARRAY_AREF(oldv, 0))), /* count */
|
589
|
-
INT2FIX(val_buff[1] + FIX2INT(RARRAY_AREF(oldv, 1))), /* old count */
|
590
|
-
INT2FIX(val_buff[2] + FIX2INT(RARRAY_AREF(oldv, 2))), /* total_age */
|
591
|
-
INT2FIX(MIN(val_buff[3], FIX2INT(RARRAY_AREF(oldv, 3)))), /* min age */
|
592
|
-
INT2FIX(MAX(val_buff[4], FIX2INT(RARRAY_AREF(oldv, 4)))), /* max age */
|
593
|
-
INT2FIX(val_buff[5] + FIX2INT(RARRAY_AREF(oldv, 5)))); /* memsize_of */
|
593
|
+
INT2FIX(val_buff[0] + (size_t)FIX2INT(RARRAY_AREF(oldv, 0))), /* count */
|
594
|
+
INT2FIX(val_buff[1] + (size_t)FIX2INT(RARRAY_AREF(oldv, 1))), /* old count */
|
595
|
+
INT2FIX(val_buff[2] + (size_t)FIX2INT(RARRAY_AREF(oldv, 2))), /* total_age */
|
596
|
+
INT2FIX(MIN(val_buff[3], (size_t)FIX2INT(RARRAY_AREF(oldv, 3)))), /* min age */
|
597
|
+
INT2FIX(MAX(val_buff[4], (size_t)FIX2INT(RARRAY_AREF(oldv, 4)))), /* max age */
|
598
|
+
INT2FIX(val_buff[5] + (size_t)FIX2INT(RARRAY_AREF(oldv, 5)))); /* memsize_of */
|
594
599
|
}
|
595
600
|
else {
|
596
601
|
v = rb_ary_new3(6,
|
@@ -649,12 +654,6 @@ lifetime_table_for_live_objects_i(st_data_t key, st_data_t val, st_data_t data)
|
|
649
654
|
return ST_CONTINUE;
|
650
655
|
}
|
651
656
|
|
652
|
-
static int
|
653
|
-
st_size(struct st_table *st)
|
654
|
-
{
|
655
|
-
return st->num_bins;
|
656
|
-
}
|
657
|
-
|
658
657
|
static VALUE
|
659
658
|
aggregate_result(struct traceobj_arg *arg)
|
660
659
|
{
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: allocation_tracer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Koichi Sasada
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -108,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
108
108
|
version: '0'
|
109
109
|
requirements: []
|
110
110
|
rubyforge_project:
|
111
|
-
rubygems_version: 2.
|
111
|
+
rubygems_version: 2.4.2
|
112
112
|
signing_key:
|
113
113
|
specification_version: 4
|
114
114
|
summary: allocation_tracer gem adds ObjectSpace::AllocationTracer module.
|