refactor(ds): Rename macros for bitfield_lts metrics
This commit is contained in:
parent
0f2c19b656
commit
afe1c5617d
|
@ -35,15 +35,15 @@
|
||||||
-define(DS_STORE_BATCH_TIME, emqx_ds_store_batch_time).
|
-define(DS_STORE_BATCH_TIME, emqx_ds_store_batch_time).
|
||||||
-define(DS_BUILTIN_NEXT_TIME, emqx_ds_builtin_next_time).
|
-define(DS_BUILTIN_NEXT_TIME, emqx_ds_builtin_next_time).
|
||||||
|
|
||||||
%%% LTS Storage counters:
|
%%% Bitfield LTS Storage counters:
|
||||||
|
|
||||||
%% This counter is incremented when the iterator seeks to the next interval:
|
%% This counter is incremented when the iterator seeks to the next interval:
|
||||||
-define(DS_LTS_SEEK_COUNTER, emqx_ds_storage_bitfield_lts_counter_seek).
|
-define(DS_BITFIELD_LTS_SEEK_COUNTER, emqx_ds_storage_bitfield_lts_counter_seek).
|
||||||
%% This counter is incremented when the iterator proceeds to the next
|
%% This counter is incremented when the iterator proceeds to the next
|
||||||
%% key within the interval (this is is best case scenario):
|
%% key within the interval (this is is best case scenario):
|
||||||
-define(DS_LTS_NEXT_COUNTER, emqx_ds_storage_bitfield_lts_counter_next).
|
-define(DS_BITFIELD_LTS_NEXT_COUNTER, emqx_ds_storage_bitfield_lts_counter_next).
|
||||||
%% This counter is incremented when the key passes bitmask check, but
|
%% This counter is incremented when the key passes bitmask check, but
|
||||||
%% the value is rejected by the subsequent post-processing:
|
%% the value is rejected by the subsequent post-processing:
|
||||||
-define(DS_LTS_COLLISION_COUNTER, emqx_ds_storage_bitfield_lts_counter_collision).
|
-define(DS_BITFIELD_LTS_COLLISION_COUNTER, emqx_ds_storage_bitfield_lts_counter_collision).
|
||||||
|
|
||||||
-endif.
|
-endif.
|
||||||
|
|
|
@ -57,9 +57,9 @@
|
||||||
|
|
||||||
-define(STORAGE_LAYER_METRICS, [
|
-define(STORAGE_LAYER_METRICS, [
|
||||||
{slide, ?DS_STORE_BATCH_TIME},
|
{slide, ?DS_STORE_BATCH_TIME},
|
||||||
{counter, ?DS_LTS_SEEK_COUNTER},
|
{counter, ?DS_BITFIELD_LTS_SEEK_COUNTER},
|
||||||
{counter, ?DS_LTS_NEXT_COUNTER},
|
{counter, ?DS_BITFIELD_LTS_NEXT_COUNTER},
|
||||||
{counter, ?DS_LTS_COLLISION_COUNTER}
|
{counter, ?DS_BITFIELD_LTS_COLLISION_COUNTER}
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-define(FETCH_METRICS, [
|
-define(FETCH_METRICS, [
|
||||||
|
@ -150,15 +150,15 @@ observe_next_time(DB, NextTime) ->
|
||||||
|
|
||||||
-spec inc_lts_seek_counter(emqx_ds_storage_layer:shard_id(), non_neg_integer()) -> ok.
|
-spec inc_lts_seek_counter(emqx_ds_storage_layer:shard_id(), non_neg_integer()) -> ok.
|
||||||
inc_lts_seek_counter({DB, _}, Inc) ->
|
inc_lts_seek_counter({DB, _}, Inc) ->
|
||||||
catch emqx_metrics_worker:inc(?WORKER, DB, ?DS_LTS_SEEK_COUNTER, Inc).
|
catch emqx_metrics_worker:inc(?WORKER, DB, ?DS_BITFIELD_LTS_SEEK_COUNTER, Inc).
|
||||||
|
|
||||||
-spec inc_lts_next_counter(emqx_ds_storage_layer:shard_id(), non_neg_integer()) -> ok.
|
-spec inc_lts_next_counter(emqx_ds_storage_layer:shard_id(), non_neg_integer()) -> ok.
|
||||||
inc_lts_next_counter({DB, _}, Inc) ->
|
inc_lts_next_counter({DB, _}, Inc) ->
|
||||||
catch emqx_metrics_worker:inc(?WORKER, DB, ?DS_LTS_NEXT_COUNTER, Inc).
|
catch emqx_metrics_worker:inc(?WORKER, DB, ?DS_BITFIELD_LTS_NEXT_COUNTER, Inc).
|
||||||
|
|
||||||
-spec inc_lts_collision_counter(emqx_ds_storage_layer:shard_id(), non_neg_integer()) -> ok.
|
-spec inc_lts_collision_counter(emqx_ds_storage_layer:shard_id(), non_neg_integer()) -> ok.
|
||||||
inc_lts_collision_counter({DB, _}, Inc) ->
|
inc_lts_collision_counter({DB, _}, Inc) ->
|
||||||
catch emqx_metrics_worker:inc(?WORKER, DB, ?DS_LTS_COLLISION_COUNTER, Inc).
|
catch emqx_metrics_worker:inc(?WORKER, DB, ?DS_BITFIELD_LTS_COLLISION_COUNTER, Inc).
|
||||||
|
|
||||||
prometheus_meta() ->
|
prometheus_meta() ->
|
||||||
lists:map(
|
lists:map(
|
||||||
|
|
|
@ -156,7 +156,9 @@
|
||||||
-define(DIM_TOPIC, 1).
|
-define(DIM_TOPIC, 1).
|
||||||
-define(DIM_TS, 2).
|
-define(DIM_TS, 2).
|
||||||
|
|
||||||
-define(DS_LTS_COUNTERS, [?DS_LTS_SEEK_COUNTER, ?DS_LTS_NEXT_COUNTER, ?DS_LTS_COLLISION_COUNTER]).
|
-define(DS_LTS_COUNTERS, [
|
||||||
|
?DS_BITFIELD_LTS_SEEK_COUNTER, ?DS_BITFIELD_LTS_NEXT_COUNTER, ?DS_BITFIELD_LTS_COLLISION_COUNTER
|
||||||
|
]).
|
||||||
|
|
||||||
%% GVar used for idle detection:
|
%% GVar used for idle detection:
|
||||||
-define(IDLE_DETECT, idle_detect).
|
-define(IDLE_DETECT, idle_detect).
|
||||||
|
@ -637,7 +639,7 @@ next_loop(ITHandle, KeyMapper, Filter, Cutoff, It0, Acc0, N0) ->
|
||||||
Key1 ->
|
Key1 ->
|
||||||
%% assert
|
%% assert
|
||||||
true = Key1 > Key0,
|
true = Key1 > Key0,
|
||||||
inc_counter(?DS_LTS_SEEK_COUNTER),
|
inc_counter(?DS_BITFIELD_LTS_SEEK_COUNTER),
|
||||||
case rocksdb:iterator_move(ITHandle, {seek, Key1}) of
|
case rocksdb:iterator_move(ITHandle, {seek, Key1}) of
|
||||||
{ok, Key, Val} ->
|
{ok, Key, Val} ->
|
||||||
{N, It, Acc} = traverse_interval(
|
{N, It, Acc} = traverse_interval(
|
||||||
|
@ -663,7 +665,7 @@ traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, Key, Val, It0, Acc0, N) -
|
||||||
Acc = [{Key, Msg} | Acc0],
|
Acc = [{Key, Msg} | Acc0],
|
||||||
traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, It, Acc, N - 1);
|
traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, It, Acc, N - 1);
|
||||||
false ->
|
false ->
|
||||||
inc_counter(?DS_LTS_COLLISION_COUNTER),
|
inc_counter(?DS_BITFIELD_LTS_COLLISION_COUNTER),
|
||||||
traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, It, Acc0, N)
|
traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, It, Acc0, N)
|
||||||
end;
|
end;
|
||||||
overflow ->
|
overflow ->
|
||||||
|
@ -675,7 +677,7 @@ traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, Key, Val, It0, Acc0, N) -
|
||||||
traverse_interval(_ITHandle, _KeyMapper, _Filter, _Cutoff, It, Acc, 0) ->
|
traverse_interval(_ITHandle, _KeyMapper, _Filter, _Cutoff, It, Acc, 0) ->
|
||||||
{0, It, Acc};
|
{0, It, Acc};
|
||||||
traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, It, Acc, N) ->
|
traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, It, Acc, N) ->
|
||||||
inc_counter(?DS_LTS_NEXT_COUNTER),
|
inc_counter(?DS_BITFIELD_LTS_NEXT_COUNTER),
|
||||||
case rocksdb:iterator_move(ITHandle, next) of
|
case rocksdb:iterator_move(ITHandle, next) of
|
||||||
{ok, Key, Val} ->
|
{ok, Key, Val} ->
|
||||||
traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, Key, Val, It, Acc, N);
|
traverse_interval(ITHandle, KeyMapper, Filter, Cutoff, Key, Val, It, Acc, N);
|
||||||
|
@ -695,7 +697,7 @@ delete_next_loop(LoopContext0) ->
|
||||||
iterated_over := AccIter0,
|
iterated_over := AccIter0,
|
||||||
it_handle := ITHandle
|
it_handle := ITHandle
|
||||||
} = LoopContext0,
|
} = LoopContext0,
|
||||||
inc_counter(?DS_LTS_SEEK_COUNTER),
|
inc_counter(?DS_BITFIELD_LTS_SEEK_COUNTER),
|
||||||
#{?tag := ?DELETE_IT, ?last_seen_key := Key0} = It0,
|
#{?tag := ?DELETE_IT, ?last_seen_key := Key0} = It0,
|
||||||
case emqx_ds_bitmask_keymapper:bin_increment(Filter, Key0) of
|
case emqx_ds_bitmask_keymapper:bin_increment(Filter, Key0) of
|
||||||
overflow ->
|
overflow ->
|
||||||
|
@ -777,7 +779,7 @@ delete_traverse_interval1(LoopContext0) ->
|
||||||
iterated_over := AccIter,
|
iterated_over := AccIter,
|
||||||
storage_iter := It
|
storage_iter := It
|
||||||
} = LoopContext0,
|
} = LoopContext0,
|
||||||
inc_counter(?DS_LTS_NEXT_COUNTER),
|
inc_counter(?DS_BITFIELD_LTS_NEXT_COUNTER),
|
||||||
case rocksdb:iterator_move(ITHandle, next) of
|
case rocksdb:iterator_move(ITHandle, next) of
|
||||||
{ok, Key, Val} ->
|
{ok, Key, Val} ->
|
||||||
delete_traverse_interval(LoopContext0#{
|
delete_traverse_interval(LoopContext0#{
|
||||||
|
@ -940,9 +942,11 @@ init_counters() ->
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
report_counters(Shard) ->
|
report_counters(Shard) ->
|
||||||
emqx_ds_builtin_metrics:inc_lts_seek_counter(Shard, get(?DS_LTS_SEEK_COUNTER)),
|
emqx_ds_builtin_metrics:inc_lts_seek_counter(Shard, get(?DS_BITFIELD_LTS_SEEK_COUNTER)),
|
||||||
emqx_ds_builtin_metrics:inc_lts_next_counter(Shard, get(?DS_LTS_NEXT_COUNTER)),
|
emqx_ds_builtin_metrics:inc_lts_next_counter(Shard, get(?DS_BITFIELD_LTS_NEXT_COUNTER)),
|
||||||
emqx_ds_builtin_metrics:inc_lts_collision_counter(Shard, get(?DS_LTS_COLLISION_COUNTER)),
|
emqx_ds_builtin_metrics:inc_lts_collision_counter(
|
||||||
|
Shard, get(?DS_BITFIELD_LTS_COLLISION_COUNTER)
|
||||||
|
),
|
||||||
_ = [erase(I) || I <- ?DS_LTS_COUNTERS],
|
_ = [erase(I) || I <- ?DS_LTS_COUNTERS],
|
||||||
ok.
|
ok.
|
||||||
|
|
||||||
|
|
|
@ -512,9 +512,9 @@ emqx_collect(K = ?DS_BUFFER_BYTES, D) -> counter_metrics(?MG(K, D, []));
|
||||||
emqx_collect(K = ?DS_BUFFER_FLUSH_TIME, D) -> gauge_metrics(?MG(K, D, []));
|
emqx_collect(K = ?DS_BUFFER_FLUSH_TIME, D) -> gauge_metrics(?MG(K, D, []));
|
||||||
emqx_collect(K = ?DS_STORE_BATCH_TIME, D) -> gauge_metrics(?MG(K, D, []));
|
emqx_collect(K = ?DS_STORE_BATCH_TIME, D) -> gauge_metrics(?MG(K, D, []));
|
||||||
emqx_collect(K = ?DS_BUILTIN_NEXT_TIME, D) -> gauge_metrics(?MG(K, D, []));
|
emqx_collect(K = ?DS_BUILTIN_NEXT_TIME, D) -> gauge_metrics(?MG(K, D, []));
|
||||||
emqx_collect(K = ?DS_LTS_SEEK_COUNTER, D) -> counter_metrics(?MG(K, D, []));
|
emqx_collect(K = ?DS_BITFIELD_LTS_SEEK_COUNTER, D) -> counter_metrics(?MG(K, D, []));
|
||||||
emqx_collect(K = ?DS_LTS_NEXT_COUNTER, D) -> counter_metrics(?MG(K, D, []));
|
emqx_collect(K = ?DS_BITFIELD_LTS_NEXT_COUNTER, D) -> counter_metrics(?MG(K, D, []));
|
||||||
emqx_collect(K = ?DS_LTS_COLLISION_COUNTER, D) -> counter_metrics(?MG(K, D, [])).
|
emqx_collect(K = ?DS_BITFIELD_LTS_COLLISION_COUNTER, D) -> counter_metrics(?MG(K, D, [])).
|
||||||
|
|
||||||
%%--------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% Indicators
|
%% Indicators
|
||||||
|
|
Loading…
Reference in New Issue