@@ -19,44 +19,6 @@ box.stat.vinyl()
19
19
- 1047632
20
20
...
21
21
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
-
60
22
.. _box_introspection-box_stat_vinyl_disk :
61
23
62
24
box.stat.vinyl().disk
@@ -88,7 +50,10 @@ Although the vinyl storage engine is not "in-memory", Tarantool does
88
50
need to have memory for write buffers and for caches:
89
51
90
52
* ``box.stat.vinyl().memory.tuple_cache ``
91
- is the number of bytes that are being used for tuples (data).
53
+ is the size of memory (in bytes) occupied by tuples stored in the cache.
54
+ * ``box.stat.vinyl().memory.tuple ``
55
+ is the size of memory (in bytes) occupied by all allocated tuples.
56
+ This includes cached tuples and tuples that are referenced in Lua.
92
57
* ``box.stat.vinyl().memory.tx ``
93
58
is transactional memory. This will usually be 0.
94
59
* ``box.stat.vinyl().memory.level0 ``
@@ -110,38 +75,44 @@ bloom filter predicts their presence in a run file) --
110
75
that statistic can be found with
111
76
:doc: `/reference/reference_lua/box_index/stat `.
112
77
113
- .. _box_introspection-box_stat_vinyl_tx :
78
+ .. _box_introspection-box_stat_vinyl_regulator :
114
79
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"):
80
+ box.stat.vinyl().regulator
81
+ --------------------------
82
+ The vinyl regulator decides when to take or delay actions for
83
+ disk IO, grouping activity in batches so that it is
84
+ consistent and efficient. The regulator is invoked by
85
+ the vinyl scheduler, once per second, and updates
86
+ related variables whenever it is invoked.
119
87
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.
88
+ * ``box.stat.vinyl().regulator.dump_bandwidth `` is
89
+ the estimated average rate at which dumps are done.
90
+ Initially this will appear as 10485760 (10 megabytes per second).
91
+ Only significant dumps (larger than one megabyte) are used for estimating.
92
+
93
+ * ``box.stat.vinyl().regulator.dump_watermark ``
94
+ is the point when dumping must occur.
95
+ The value is slightly smaller than the amount of memory
96
+ that is allocated for vinyl trees, which is the
97
+ :ref: `vinyl_memory <cfg_storage-vinyl_memory >` parameter.
98
+
99
+ * ``box.stat.vinyl().regulator.write_rate ``
100
+ is the actual average rate at which recent writes to disk are done.
101
+ Averaging is done over a 5-second time window, so if there has
102
+ been no activity for 5 seconds then ``regulator.write_rate = 0 ``.
103
+ The ``write_rate `` may be slowed when a dump is in progress
104
+ or when the user has set
105
+ :ref: `snap_io_rate_limit <cfg_binary_logging_snapshots-snap_io_rate_limit >`.
106
+
107
+ * ``box.stat.vinyl().regulator.rate_limit `` is the write rate limit,
108
+ in bytes per second, imposed on transactions by
109
+ the regulator based on the observed dump/compaction performance.
110
+
111
+ * ``box.stat.vinyl().regulator.blocked_writers `` is the number of fibers
112
+ currently blocked waiting for vinyl :ref: `L0 memory <engines-algorithm_filling_lsm >`
113
+ quota.
114
+
115
+ .. _box_introspection-box_stat_vinyl_scheduler :
145
116
146
117
box.stat.vinyl().scheduler
147
118
--------------------------
@@ -190,4 +161,36 @@ for dumping or compaction:
190
161
191
162
A dump will also occur during a
192
163
:doc: `snapshot </reference/reference_lua/box_snapshot >` operation.
193
-
164
+
165
+ .. _box_introspection-box_stat_vinyl_tx :
166
+
167
+ box.stat.vinyl().tx
168
+ -------------------
169
+ This is about requests that affect transactional activity
170
+ ("tx" is used here as an abbreviation for "transaction"):
171
+
172
+ * ``box.stat.vinyl().tx.conflict ``
173
+ counts conflicts that caused a transaction to roll back.
174
+ * ``box.stat.vinyl().tx.commit ``
175
+ is the count of commits (successful transaction ends).
176
+ It includes implicit commits, for example any insert causes a commit unless
177
+ it is within a begin-end block.
178
+ * ``box.stat.vinyl().tx.rollback ``
179
+ is the count of rollbacks (unsuccessful transaction ends).
180
+ This is not merely a count of explicit
181
+ :doc: `/reference/reference_lua/box_txn_management/rollback ` requests --
182
+ it includes requests that ended in errors.
183
+ For example, after an attempted insert request that causes
184
+ a "Duplicate key exists in unique index" error, ``tx.rollback ``
185
+ is incremented.
186
+ * ``box.stat.vinyl().tx.statements ``
187
+ will usually be 0.
188
+ * ``box.stat.vinyl().tx.transactions ``
189
+ is the number of transactions that are currently running.
190
+ * ``box.stat.vinyl().tx.gap_locks ``
191
+ is the number of gap locks that are outstanding during execution of a request.
192
+ For a low-level description of Tarantool's implementation of gap locking, see
193
+ `Gap locks in Vinyl transaction manager <https://github.com/tarantool/tarantool/issues/2671 >`_.
194
+ * ``box.stat.vinyl().tx.read_views ``
195
+ shows whether a transaction has entered a read-only state
196
+ to avoid conflict temporarily. This will usually be 0.
0 commit comments