@@ -19,44 +19,6 @@ box.stat.vinyl()
1919 - 1047632
2020 ...
2121
22- .. _box_introspection-box_stat_vinyl_regulator :
23-
24- box.stat.vinyl().regulator
25- --------------------------
26- The vinyl regulator decides when to take or delay actions for
27- disk IO, grouping activity in batches so that it is
28- consistent and efficient. The regulator is invoked by
29- the vinyl scheduler, once per second, and updates
30- related variables whenever it is invoked.
31-
32- * ``box.stat.vinyl().regulator.dump_bandwidth `` is
33- the estimated average rate at which dumps are done.
34- Initially this will appear as 10485760 (10 megabytes per second).
35- Only significant dumps (larger than one megabyte) are used for estimating.
36-
37- * ``box.stat.vinyl().regulator.dump_watermark ``
38- is the point when dumping must occur.
39- The value is slightly smaller than the amount of memory
40- that is allocated for vinyl trees, which is the
41- :ref: `vinyl_memory <cfg_storage-vinyl_memory >` parameter.
42-
43- * ``box.stat.vinyl().regulator.write_rate ``
44- is the actual average rate at which recent writes to disk are done.
45- Averaging is done over a 5-second time window, so if there has
46- been no activity for 5 seconds then ``regulator.write_rate = 0 ``.
47- The ``write_rate `` may be slowed when a dump is in progress
48- or when the user has set
49- :ref: `snap_io_rate_limit <cfg_binary_logging_snapshots-snap_io_rate_limit >`.
50-
51- * ``box.stat.vinyl().regulator.rate_limit `` is the write rate limit,
52- in bytes per second, imposed on transactions by
53- the regulator based on the observed dump/compaction performance.
54-
55- * ``box.stat.vinyl().regulator.blocked_writers `` is the number of fibers
56- currently blocked waiting for vinyl :ref: `L0 memory <engines-algorithm_filling_lsm >`
57- quota.
58-
59-
6022 .. _box_introspection-box_stat_vinyl_disk :
6123
6224box.stat.vinyl().disk
@@ -110,38 +72,44 @@ bloom filter predicts their presence in a run file) --
11072that statistic can be found with
11173:doc: `/reference/reference_lua/box_index/stat `.
11274
113- .. _box_introspection-box_stat_vinyl_tx :
75+ .. _box_introspection-box_stat_vinyl_regulator :
11476
115- box.stat.vinyl().tx
116- -------------------
117- This is about requests that affect transactional activity
118- ("tx" is used here as an abbreviation for "transaction"):
77+ box.stat.vinyl().regulator
78+ --------------------------
79+ The vinyl regulator decides when to take or delay actions for
80+ disk IO, grouping activity in batches so that it is
81+ consistent and efficient. The regulator is invoked by
82+ the vinyl scheduler, once per second, and updates
83+ related variables whenever it is invoked.
11984
120- * ``box.stat.vinyl().tx.conflict ``
121- counts conflicts that caused a transaction to roll back.
122- * ``box.stat.vinyl().tx.commit ``
123- is the count of commits (successful transaction ends).
124- It includes implicit commits, for example any insert causes a commit unless
125- it is within a begin-end block.
126- * ``box.stat.vinyl().tx.rollback ``
127- is the count of rollbacks (unsuccessful transaction ends).
128- This is not merely a count of explicit
129- :doc: `/reference/reference_lua/box_txn_management/rollback ` requests --
130- it includes requests that ended in errors.
131- For example, after an attempted insert request that causes
132- a "Duplicate key exists in unique index" error, ``tx.rollback ``
133- is incremented.
134- * ``box.stat.vinyl().tx.statements ``
135- will usually be 0.
136- * ``box.stat.vinyl().tx.transactions ``
137- is the number of transactions that are currently running.
138- * ``box.stat.vinyl().tx.gap_locks ``
139- is the number of gap locks that are outstanding during execution of a request.
140- For a low-level description of Tarantool's implementation of gap locking, see
141- `Gap locks in Vinyl transaction manager <https://github.com/tarantool/tarantool/issues/2671 >`_.
142- * ``box.stat.vinyl().tx.read_views ``
143- shows whether a transaction has entered a read-only state
144- to avoid conflict temporarily. This will usually be 0.
85+ * ``box.stat.vinyl().regulator.dump_bandwidth `` is
86+ the estimated average rate at which dumps are done.
87+ Initially this will appear as 10485760 (10 megabytes per second).
88+ Only significant dumps (larger than one megabyte) are used for estimating.
89+
90+ * ``box.stat.vinyl().regulator.dump_watermark ``
91+ is the point when dumping must occur.
92+ The value is slightly smaller than the amount of memory
93+ that is allocated for vinyl trees, which is the
94+ :ref: `vinyl_memory <cfg_storage-vinyl_memory >` parameter.
95+
96+ * ``box.stat.vinyl().regulator.write_rate ``
97+ is the actual average rate at which recent writes to disk are done.
98+ Averaging is done over a 5-second time window, so if there has
99+ been no activity for 5 seconds then ``regulator.write_rate = 0 ``.
100+ The ``write_rate `` may be slowed when a dump is in progress
101+ or when the user has set
102+ :ref: `snap_io_rate_limit <cfg_binary_logging_snapshots-snap_io_rate_limit >`.
103+
104+ * ``box.stat.vinyl().regulator.rate_limit `` is the write rate limit,
105+ in bytes per second, imposed on transactions by
106+ the regulator based on the observed dump/compaction performance.
107+
108+ * ``box.stat.vinyl().regulator.blocked_writers `` is the number of fibers
109+ currently blocked waiting for vinyl :ref: `L0 memory <engines-algorithm_filling_lsm >`
110+ quota.
111+
112+ .. _box_introspection-box_stat_vinyl_scheduler :
145113
146114box.stat.vinyl().scheduler
147115--------------------------
@@ -190,4 +158,45 @@ for dumping or compaction:
190158
191159 A dump will also occur during a
192160 :doc: `snapshot </reference/reference_lua/box_snapshot >` operation.
193-
161+
162+ .. _box_introspection-box_stat_vinyl_memory_tuple :
163+
164+ box.stat.vinyl().memory.tuple
165+ -----------------------------
166+ Vinyl tuples returned to the user are allocated with `malloc() `, and they may be
167+ pinned by Lua indefinitely. This counter shows the total size of memory
168+ (in bytes) occupied by Vinyl tuples. It includes cached tuples and tuples pinned
169+ by the Lua world.
170+
171+ .. _box_introspection-box_stat_vinyl_tx :
172+
173+ box.stat.vinyl().tx
174+ -------------------
175+ This is about requests that affect transactional activity
176+ ("tx" is used here as an abbreviation for "transaction"):
177+
178+ * ``box.stat.vinyl().tx.conflict ``
179+ counts conflicts that caused a transaction to roll back.
180+ * ``box.stat.vinyl().tx.commit ``
181+ is the count of commits (successful transaction ends).
182+ It includes implicit commits, for example any insert causes a commit unless
183+ it is within a begin-end block.
184+ * ``box.stat.vinyl().tx.rollback ``
185+ is the count of rollbacks (unsuccessful transaction ends).
186+ This is not merely a count of explicit
187+ :doc: `/reference/reference_lua/box_txn_management/rollback ` requests --
188+ it includes requests that ended in errors.
189+ For example, after an attempted insert request that causes
190+ a "Duplicate key exists in unique index" error, ``tx.rollback ``
191+ is incremented.
192+ * ``box.stat.vinyl().tx.statements ``
193+ will usually be 0.
194+ * ``box.stat.vinyl().tx.transactions ``
195+ is the number of transactions that are currently running.
196+ * ``box.stat.vinyl().tx.gap_locks ``
197+ is the number of gap locks that are outstanding during execution of a request.
198+ For a low-level description of Tarantool's implementation of gap locking, see
199+ `Gap locks in Vinyl transaction manager <https://github.com/tarantool/tarantool/issues/2671 >`_.
200+ * ``box.stat.vinyl().tx.read_views ``
201+ shows whether a transaction has entered a read-only state
202+ to avoid conflict temporarily. This will usually be 0.
0 commit comments