echo
----
----
-- (Issuing 1x1MiB, 3x replicated write that's not admitted.)


-- Flow token metrics from n1 after issuing 1x1MiB regular 3x replicated write
-- that's not admitted. We see 1*1MiB*3=3MiB deductions of regular tokens with
-- no corresponding returns.
SELECT name, crdb_internal.humanize_bytes(value::INT8)
    FROM crdb_internal.node_metrics
   WHERE name LIKE '%kvadmission%regular_tokens%'
ORDER BY name ASC;

  kvadmission.flow_controller.regular_tokens_available   | 45 MiB   
  kvadmission.flow_controller.regular_tokens_deducted    | 3.0 MiB  
  kvadmission.flow_controller.regular_tokens_returned    | 0 B      
  kvadmission.flow_controller.regular_tokens_unaccounted | 0 B      


-- (Replacing current raft leader on n1 in raft group with new n4 replica.)


-- Flow token metrics from n1 after raft leader removed itself from raft group.
-- All {regular,elastic} tokens deducted are returned.
SELECT name, crdb_internal.humanize_bytes(value::INT8)
    FROM crdb_internal.node_metrics
   WHERE name LIKE '%kvadmission%tokens%'
ORDER BY name ASC;

  kvadmission.flow_controller.elastic_tokens_available   | 24 MiB   
  kvadmission.flow_controller.elastic_tokens_deducted    | 3.0 MiB  
  kvadmission.flow_controller.elastic_tokens_returned    | 3.0 MiB  
  kvadmission.flow_controller.elastic_tokens_unaccounted | 0 B      
  kvadmission.flow_controller.regular_tokens_available   | 48 MiB   
  kvadmission.flow_controller.regular_tokens_deducted    | 3.0 MiB  
  kvadmission.flow_controller.regular_tokens_returned    | 3.0 MiB  
  kvadmission.flow_controller.regular_tokens_unaccounted | 0 B      


-- (Allow below-raft admission to proceed.)


-- Flow token metrics from n1 after work gets admitted. Tokens were already
-- returned earlier, so there's no change.
SELECT name, crdb_internal.humanize_bytes(value::INT8)
    FROM crdb_internal.node_metrics
   WHERE name LIKE '%kvadmission%tokens%'
ORDER BY name ASC;

  kvadmission.flow_controller.elastic_tokens_available   | 24 MiB   
  kvadmission.flow_controller.elastic_tokens_deducted    | 3.0 MiB  
  kvadmission.flow_controller.elastic_tokens_returned    | 3.0 MiB  
  kvadmission.flow_controller.elastic_tokens_unaccounted | 0 B      
  kvadmission.flow_controller.regular_tokens_available   | 48 MiB   
  kvadmission.flow_controller.regular_tokens_deducted    | 3.0 MiB  
  kvadmission.flow_controller.regular_tokens_returned    | 3.0 MiB  
  kvadmission.flow_controller.regular_tokens_unaccounted | 0 B      
----
----

# vim:ft=sql
