Skip to content

Commit 8441dc2

Browse files
committed
Add GC metric last_incremental_sweep (JuliaLang#50190)
Records the time that the last incremental sweep ran.
1 parent 4839fd2 commit 8441dc2

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

base/timing.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ struct GC_Num
2626
total_sweep_time ::Int64
2727
total_mark_time ::Int64
2828
last_full_sweep ::Int64
29+
last_incremental_sweep ::Int64
2930
end
3031

3132
gc_num() = ccall(:jl_gc_num, GC_Num, ())

src/gc.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3555,6 +3555,9 @@ static int _jl_gc_collect(jl_ptls_t ptls, jl_gc_collection_t collection)
35553555
if (sweep_full) {
35563556
gc_num.last_full_sweep = gc_end_time;
35573557
}
3558+
else {
3559+
gc_num.last_incremental_sweep = gc_end_time;
3560+
}
35583561

35593562
// sweeping is over
35603563
// 6. if it is a quick sweep, put back the remembered objects in queued state

src/gc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ typedef struct {
8383
uint64_t total_sweep_time;
8484
uint64_t total_mark_time;
8585
uint64_t last_full_sweep;
86+
uint64_t last_incremental_sweep;
8687
} jl_gc_num_t;
8788

8889
enum {

0 commit comments

Comments
 (0)