B.8 emission.*
Every field the catalogue defines under emission, in path order. Each entry gives the field's definition and, under Carried by, every event type that writes it.
B.8.1 emission.batch-index #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The zero-based position, in a batch emit, of the entry that failed. A batch is emitted up to this entry and not from it: every earlier entry reached the ring, and this entry and every later one did not.
Carried by:
No event carries this field yet.
B.8.2 emission.buckets-clamped #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The number of per-process rate buckets a reconfiguration cut down.
Lowering emission.rate-limit clamps the remaining budget of every live
process to the new ceiling at once; this counts the processes whose budget
was above it.
Carried by:
No event carries this field yet.
B.8.3 emission.budget #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The number of events a process could still emit before its rate limit
stopped it: the tokens left in its bucket when the record was made. The
bucket refills at emission.rate-limit events a second and holds no more
than that, so a process's burst is one second's worth. On a throttled
emit this is below emission.requested, which is why the emit was
refused.
Carried by:
No event carries this field yet.
B.8.4 emission.emitted #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The number of events an emit operation actually wrote to the ring. Where
it falls short of emission.requested, the difference is events the
caller meant to record that are not in the stream.
Carried by:
No event carries this field yet.
B.8.5 emission.length #
- Type:
uint.bytes - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The total size of one event as written to the ring: the fixed header, the event type and the payload together. It is the figure checked against the configured maximum event size, and against half the ring's capacity, the largest event a ring accepts.
Carried by:
No event carries this field yet.
B.8.6 emission.length-claimed #
- Type:
uint.bytes - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
An event length read from a ring that failed KMES's sanity check: zero, larger than the ring, or larger than the bytes between the tail and the write position. It is not the size of any real event. It means the ring's framing is corrupt, and KMES recovered by discarding everything pending in that ring at once — a loss that is never added to the ring's dropped count and is bounded only by the ring's size.
Carried by:
No event carries this field yet.
B.8.7 emission.payload-length #
- Type:
uint.bytes - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The byte length of an event's MessagePack payload, without the header or the event type.
Carried by:
B.8.8 emission.rate-limit #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The per-process emission ceiling KMES is running on, in events a second:
the MaxEmitRatePerProcess registry value, 10 000 by default and accepted
from 100 to 1 000 000. It applies to emission from userspace; kernel
emitters are not limited, and a process holding SeTcbPrivilege is exempt.
Carried by:
B.8.9 emission.rate-limit-previous #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The per-process emission ceiling before a reconfiguration, in events a
second. Lowering the ceiling is a way to thin out the event stream, so a
record where this exceeds emission.rate-limit deserves a look at who
changed it.
Carried by:
No event carries this field yet.
B.8.10 emission.requested #
- Type:
uint - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The number of events an emit operation asked to write: 1 for a single emit, or the entry count of a batch, which is at most 256.
Carried by:
No event carries this field yet.
B.8.11 emission.throttled #
- Type:
uint.duration - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
How long a producer was held back by its rate limit, from the first emit refused for want of budget to the first accepted again. A duration, not a flag. Every emit refused in that span was an event the producer meant to record that is not in the stream.
Carried by:
No event carries this field yet.
B.8.12 emission.type #
- Type:
str - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The event type an emitter was trying to emit, as it supplied it. It names
what was attempted, not what was recorded: a record carrying it is about
an emission that failed or was cut short, and no event of this type need
exist. Absent where the type itself was the fault — empty, or not valid
UTF-8 — in which case emission.type-length still gives its length.
Carried by:
B.8.13 emission.type-length #
- Type:
uint.bytes - Asserted: no
- Carried in: the payload
- Defined in:
kmes.evman
The byte length of the event type an emitter supplied, at most 65 535.
Carried by:
No event carries this field yet.
Generated from kmes.evman by pkm/tools/gen-events-book.py. Edit the fragment, not this page.