mirror of
https://github.com/zeek/zeek.git
synced 2025-10-10 10:38:20 +00:00
NEWS: Some notes about timing related changes
This commit is contained in:
parent
833dd158de
commit
fd15a33f8c
1 changed files with 36 additions and 0 deletions
36
NEWS
36
NEWS
|
@ -93,6 +93,11 @@ New Functionality
|
||||||
|
|
||||||
- The supervisor framework can now start worker nodes that read from a trace file.
|
- The supervisor framework can now start worker nodes that read from a trace file.
|
||||||
|
|
||||||
|
- Zeek can be prevented from updating ``network_time()`` to the current time
|
||||||
|
by setting ``allow_network_time_forward=F``. Together with ``set_network_time()``
|
||||||
|
or a custom plugin, this allows control of ``network_time()`` without Zeek
|
||||||
|
interfering.
|
||||||
|
|
||||||
Changed Functionality
|
Changed Functionality
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
@ -125,6 +130,37 @@ Changed Functionality
|
||||||
``io_poll_interval_live`` for ease of testing, development and debugging
|
``io_poll_interval_live`` for ease of testing, development and debugging
|
||||||
of the main-loop.
|
of the main-loop.
|
||||||
|
|
||||||
|
- Zeek does not arbitrarily update ``network_time()`` to current time anymore.
|
||||||
|
When a packet source is providing a constant stream of packets, packets
|
||||||
|
drive network time. Previously, Zeek updated network time to the current
|
||||||
|
current time in various situations, disregarding timestamps of network packets.
|
||||||
|
Zeek will now update ``network_time()`` only when a packet source has been
|
||||||
|
inactive/idle for an interval of ``packet_source_inactivity_timeout``
|
||||||
|
(default 100msec). When a worker process suddenly observes no packets, timer
|
||||||
|
expiration may initially be delayed by ``packet_source_inactivity_timeout``.
|
||||||
|
|
||||||
|
- Calling ``suspend_processing()`` when reading traces does not update network
|
||||||
|
time to the current time anymore. Instead, Zeek keeps ``network_time()`` according
|
||||||
|
to the trace file. This causes scheduled events to not fire once ``suspend_processing()``
|
||||||
|
is called. However, this appears more sensible behavior than arbitrarily setting
|
||||||
|
``network_time()`` to the current time. Processing can still be continued from
|
||||||
|
broker events or input readers.
|
||||||
|
|
||||||
|
- Previously, Zeek would process and dispatch events for the very first packet
|
||||||
|
in a trace file in order to initialize time, even if ``suspend_processing()``
|
||||||
|
was called in a ``zeek_init()`` handler. This has been changed such that the
|
||||||
|
first packet will only be processed once ``continue_processing()`` has been
|
||||||
|
invoked again. Some background around the previous behaviour can be found
|
||||||
|
in GH-938. With the availability of ``network_time_init()``, this behavior
|
||||||
|
seems more reasonable.
|
||||||
|
|
||||||
|
- If an event is scheduled with a 0.0sec timeout from a ``zeek_init()`` handler
|
||||||
|
that also executes a ``suspend_processing()``, the scheduled event will fire
|
||||||
|
immediately with ``network_time()`` still yielding ``0.0``. Previously,
|
||||||
|
``network_time()`` was set to the current time. The new behavior is considered
|
||||||
|
more sensible with regards of determinism and in line with timers stopping
|
||||||
|
during a ``suspend_processing()``.
|
||||||
|
|
||||||
Removed Functionality
|
Removed Functionality
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue