fdbcli: Add documentation for setknob/getknob commands
This commit is contained in:
parent
ff1b2df8f6
commit
2f898fb006
|
@ -128,6 +128,35 @@ set_knob(db, 'min_trace_severity', '10', None, 'description')
|
|||
set_knob(db, 'min_trace_severity', '20', 'az-1', 'description')
|
||||
```
|
||||
|
||||
### CLI Usage
|
||||
|
||||
Users may also utilize `fdbcli` to set and update knobs dynamically. Usage is as follows
|
||||
```
|
||||
setknob <knob_name> <knob_value> [config_class]
|
||||
getknob <knob_name> [config_class]
|
||||
```
|
||||
Where `knob_name` is an existing knob, `knob_value` is the desired value to set the knob and `config_class` is the optional configuration class. Furthermore, `setknob` may be combined within a `begin\commit` to update multiple knobs atomically. If using this option, a description must follow `commit` otherwise a prompt will be shown asking for a description. The description must be non-empty. An example follows.
|
||||
```
|
||||
begin
|
||||
setknob min_trace_severity 30
|
||||
setknob tracing_udp_listener_addr 192.168.0.1
|
||||
commit "fdbcli change"
|
||||
```
|
||||
Users may only combine knob configuration changes with other knob configuration changes in the same transaction. For example, the following is not permitted and will raise an error.
|
||||
```
|
||||
begin
|
||||
set foo bar
|
||||
setknob max_metric_size 1000
|
||||
commit "change"
|
||||
```
|
||||
Specifically, `set, clear, get, getrange, clearrange` cannot be combined in any transaction with a `setknob` or `getknob`.
|
||||
|
||||
If using an individual `setknob` without being inside a `begin\commit` block, then `fdbcli` will prompt for a description as well.
|
||||
|
||||
#### Type checking
|
||||
Knobs have implicit types attached to them when defined. For example, the knob `tracing_udp_listener_addr` is set to `"127.0.0.1"` as so the type is string. If a user invokes `setknob` on this knob with an incorrect value that is not a string, the transaction will fail.
|
||||
|
||||
|
||||
### Disable the Configuration Database
|
||||
|
||||
The configuration database includes both client and server changes and is
|
||||
|
|
|
@ -203,6 +203,13 @@ The ``get`` command fetches the value of a given key. Its syntax is ``get <KEY>`
|
|||
|
||||
Note that :ref:`characters can be escaped <cli-escaping>` when specifying keys (or values) in ``fdbcli``.
|
||||
|
||||
getknob
|
||||
-------
|
||||
|
||||
The ``getknob`` command fetches the value of a given knob that has been populated by ``setknob``. Its syntax is ``getknob <KNOBNAME> [CONFIGCLASS]``. It displays the value of ``<KNOBNAME>`` if ``<KNOBNAME>`` is present in the database and ``not found`` otherwise.
|
||||
|
||||
Note that :ref:`characters can be escaped <cli-escaping>` when specifying keys (or values) in ``fdbcli``.
|
||||
|
||||
getrange
|
||||
--------
|
||||
|
||||
|
@ -395,6 +402,13 @@ The ``setclass`` command can be used to change the :ref:`process class <guidelin
|
|||
|
||||
The available process classes are ``unset``, ``storage``, ``transaction``, ``resolution``, ``grv_proxy``, ``commit_proxy``, ``master``, ``test``, ``unset``, ``stateless``, ``log``, ``router``, ``cluster_controller``, ``fast_restore``, ``data_distributor``, ``coordinator``, ``ratekeeper``, ``storage_cache``, ``backup``, and ``default``.
|
||||
|
||||
setknob
|
||||
-------
|
||||
|
||||
The ``setknob`` command can be used to set knobs dynamically. Its syntax is ``setknob <KNOBNAME> <KNOBVALUE> [CONFIGCLASS]``. If not present in a ``begin\commit`` block, the CLI will prompt for a description of the change.
|
||||
|
||||
Note that :ref:`characters can be escaped <cli-escaping>` when specifying keys (or values) in ``fdbcli``.
|
||||
|
||||
sleep
|
||||
-----
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
from cProfile import run
|
||||
import sys
|
||||
import shutil
|
||||
import os
|
||||
|
|
Loading…
Reference in New Issue