5555]).
5656-define (LOG_FREQUENCY_SECONDS , 30 ).
5757
58+ -define (INITIAL_BOOKIE_STATUS , #{
59+ avg_compaction_score => undefined ,
60+ avg_compaction_score_sample => [],
61+ fetch_count_by_level =>
62+ #{
63+ not_found => #{count => 0 , time => 0 },
64+ mem => #{count => 0 , time => 0 },
65+ lower => #{count => 0 , time => 0 },
66+ '0' => #{count => 0 , time => 0 },
67+ '1' => #{count => 0 , time => 0 },
68+ '2' => #{count => 0 , time => 0 },
69+ '3' => #{count => 0 , time => 0 }
70+ },
71+ get_body_time => 0 ,
72+ get_sample_count => 0 ,
73+ head_rsp_time => 0 ,
74+ head_sample_count => 0 ,
75+ journal_last_compaction_result => undefined ,
76+ journal_last_compaction_time => undefined ,
77+ ledger_cache_size => undefined ,
78+ level_files_count => #{},
79+ n_active_journal_files => 0 ,
80+ penciller_inmem_cache_size => undefined ,
81+ penciller_last_merge_time => undefined ,
82+ penciller_work_backlog_status => undefined ,
83+ put_ink_time => 0 ,
84+ put_mem_time => 0 ,
85+ put_prep_time => 0 ,
86+ put_sample_count => 0 ,
87+ recent_putgethead_counts => undefined
88+ }).
89+
5890-record (bookie_get_timings , {
5991 sample_count = 0 :: non_neg_integer (),
6092 head_time = 0 :: non_neg_integer (),
133165
134166-type bookie_status () :: #{
135167 ledger_cache_size => undefined | non_neg_integer (),
136- n_active_journal_files => undefined | pos_integer (),
137- avg_compaction_score_sample => undefined | [float ()],
138- level_files_count => undefined | #{non_neg_integer () => non_neg_integer ()},
168+ n_active_journal_files => non_neg_integer (),
169+ avg_compaction_score => undefined | float (),
170+ avg_compaction_score_sample => [float ()],
171+ level_files_count => #{non_neg_integer () => non_neg_integer ()},
139172 penciller_inmem_cache_size => undefined | pos_integer (),
140173 penciller_work_backlog_status =>
141174 undefined | {non_neg_integer (), boolean (), boolean ()},
154187 count => non_neg_integer (),
155188 time => non_neg_integer ()
156189 }
157- }
190+ },
191+ get_body_time => undefined | non_neg_integer (),
192+ get_sample_count => non_neg_integer (),
193+ head_rsp_time => undefined | non_neg_integer (),
194+ head_sample_count => non_neg_integer (),
195+ put_ink_time => undefined | non_neg_integer (),
196+ put_mem_time => undefined | non_neg_integer (),
197+ put_prep_time => undefined | non_neg_integer (),
198+ put_sample_count => non_neg_integer ()
158199}.
159200-type reporting_fetch_level () ::
160201 not_found | mem | '0' | '1' | '2' | '3' | lower .
171212 cdb_get_timings = # cdb_get_timings {} :: cdb_get_timings (),
172213 log_frequency = ? LOG_FREQUENCY_SECONDS :: pos_integer (),
173214 log_order = [] :: list (log_type ()),
174- bookie_status = #{} :: bookie_status ()
215+ bookie_status :: bookie_status ()
175216}).
176217
177218-type bookie_get_timings () :: # bookie_get_timings {}.
@@ -328,7 +369,7 @@ init([LogOpts, LogFrequency, LogOrder]) ->
328369 {ok , # state {
329370 log_frequency = LogFrequency ,
330371 log_order = RandomLogOrder ,
331- bookie_status = #{}
372+ bookie_status = ? INITIAL_BOOKIE_STATUS
332373 }}.
333374
334375handle_call (
@@ -750,21 +791,13 @@ handle_cast({ledger_cache_size_update, A}, State = #state{bookie_status = BS}) -
750791handle_cast (
751792 {n_active_journal_files_update , Delta }, State = # state {bookie_status = BS0 }
752793) ->
753- A =
754- case maps :get (n_active_journal_files , BS0 , undefined ) of
755- undefined -> 0 ;
756- Defined -> Defined
757- end ,
794+ A = maps :get (n_active_journal_files , BS0 ),
758795 BS = maps :put (n_active_journal_files , A + Delta , BS0 ),
759796 {noreply , State # state {bookie_status = BS }};
760797handle_cast (
761798 {avg_compaction_score_update , A }, State = # state {bookie_status = BS }
762799) ->
763- OldSample =
764- case maps :get (avg_compaction_score_sample , BS , undefined ) of
765- undefined -> [];
766- Defined -> Defined
767- end ,
800+ OldSample = maps :get (avg_compaction_score_sample , BS ),
768801 NewSample =
769802 case [A | OldSample ] of
770803 L when length (L ) > ? AVG_COMPACTION_SCORE_OVER_MAX ->
@@ -778,11 +811,7 @@ handle_cast(
778811handle_cast (
779812 {level_files_count_update , U , TS }, State = # state {bookie_status = BS0 }
780813) ->
781- A =
782- case maps :get (level_files_count , BS0 , undefined ) of
783- undefined -> #{};
784- Defined -> Defined
785- end ,
814+ A = maps :get (level_files_count , BS0 , undefined ),
786815 BS1 = maps :put (level_files_count , maps :merge (A , U ), BS0 ),
787816 BS2 = maps :put (penciller_last_merge_time , TS , BS1 ),
788817 {noreply , State # state {bookie_status = BS2 }};
0 commit comments