docs: the source-plugin framework, the --source options and the source-kinds probe
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
5cee00aaee
commit
4d859d6a37
6 files changed
+96
-11
No files matched your search
@@ -1824,6 +1824,38 @@ are unrealized and measure 0x0.
|
||||
- `rows` is the measurement count and `accums` the accumulator count; the two must agree, because one
|
||||
accumulator per measurement row is what makes `advanced` a statement about every row.
|
||||
|
||||
## `[source-kinds]`
|
||||
|
||||
```
|
||||
[source-kinds] kinds=udps,probe
|
||||
[source-kinds] form udps: round_trip=1 valid=1
|
||||
[source-kinds] form probe: round_trip=1 valid=1
|
||||
[source-kinds] panel disconnected: panels=1 present=1 sensitive=0
|
||||
[source-kinds] panel connected: panels=1 present=1 sensitive=1
|
||||
[source-kinds] capture button: present=1 sensitive=0
|
||||
[source-kinds] command: before=0 after=1 drained=1
|
||||
```
|
||||
|
||||
`UDPSCOPE_PROBE_SOURCE_KINDS=2000`, run as `--source probe --source-opt rate=500`, is the one reading for the
|
||||
source-plugin path from the registry to the producer thread. The variable also registers the test-only `probe`
|
||||
kind, so a run without it never shows that kind. The `form` line appears once per registered kind.
|
||||
|
||||
- `kinds=udps,probe`: a missing kind means `register_builtin_sources()` was not called before `parse_args()`,
|
||||
or the env var gate is wrong.
|
||||
- `round_trip=0`: a form's `write` and `read` disagree about a key -- a renamed `SourceConfig` key, or an
|
||||
absent key that was not defaulted. `valid=0` is a default configuration the form refuses.
|
||||
- `panel disconnected: sensitive=0 present=1`: **disable, don't hide.** `present=0` is a panel that was hidden
|
||||
or never added; `sensitive=1` is a panel that stays live with no source behind it.
|
||||
- `panel connected: sensitive=1`: anything else means `apply_source_panels` acted on the wrong widget (it must
|
||||
act on the kind's own widget, not the scroller around it).
|
||||
- `capture button: present=1 sensitive=0`: a source with no datagrams leaves the capture UI **disabled, not
|
||||
hidden.** `sensitive=1` is the button live for a source that has nothing to capture, `present=0` a hidden one.
|
||||
- `command: before=0 after=1 drained=1`: the command reached the producer thread through `post()`.
|
||||
`drained=0` is a queue that `poll()` does not drain on some path; `after` greater than `before + 1` is a
|
||||
command run twice.
|
||||
|
||||
The UDPS run has no `source-` page in `side_stack`, because the UDPS kind has no panels.
|
||||
|
||||
## `[prefs-probe]`
|
||||
|
||||
```
|
||||
@@ -1901,14 +1933,15 @@ copy and never writes is exactly the failure this has to catch.
|
||||
|
||||
```
|
||||
[prefs-probe] mnemonics=4/4
|
||||
[sources] form mnemonics=8/8
|
||||
[sources] form mnemonics=9/9
|
||||
```
|
||||
|
||||
How many of the dialog's rows have `use-underline` set -- the property that makes a `_` in a row's title a
|
||||
mnemonic. It is FALSE on `AdwPreferencesRow` by default, which is why these titles were drawn with a
|
||||
literal underscore; anything below the full count is that bug back. Read by property name rather than
|
||||
through one row type, for the reason in `invariants-gtk-and-chrome.md`. The form's line appears only when
|
||||
`UDPSCOPE_PROBE_NEWHOST` drives the form.
|
||||
`UDPSCOPE_PROBE_NEWHOST` drives the form. It reads 9/9 since the chooser gained its Source type row, which has a
|
||||
mnemonic of its own (a non-UDPS kind's form has fewer rows: the `probe` kind reads 6/6).
|
||||
|
||||
## `trigger panel:`
|
||||
|
||||
|
||||
Reference in new issue
Block a user