Telemetry framework: move BIFs to the primary-bif stage

This moves the Telemetry framework's BIF-defined functionalit from the
secondary-BIFs stage to the primary one. That is, this functionality is now
available from the end of init-bare.zeek, not only after the end of
init-frameworks-and-bifs.zeek.

This allows us to use script-layer telemetry in our Zeek's own code that get
pulled in during init-frameworks-and-bifs.

This change splits up the BIF features into functions, constants, and types,
because that's the granularity most workable in Func.cc and NetVar. It also now
defines the Telemetry::MetricsType enum once, not redundantly in BIFs and script
layer.

Due to subtle load ordering issues between the telemetry and cluster frameworks
this pushes the redef stage of Telemetry::metrics_port and address into
base/frameworks/telemetry/options.zeek, which is loaded sufficiently late in
init-frameworks-and-bifs.zeek to sidestep those issues. (When not doing this,
the effect is that the redef in telemetry/main.zeek doesn't yet find the
cluster-provided values, and Zeek does not end up listening on these ports.)

The need to add basic Zeek headers in script_opt/ZAM/ZBody.cc as a side-effect
of this is curious, but looks harmless.

Also includes baseline updates for the usual btests and adds a few doc strings.

(cherry picked from commit 71f7e89974)
This commit is contained in:
Christian Kreibich 2024-10-17 15:25:24 -07:00
parent 5503688758
commit 2ad80f8fb2
20 changed files with 99 additions and 63 deletions

View file

@ -5,28 +5,10 @@
##! enabled by setting :zeek:see:`Telemetry::metrics_port`.
@load base/misc/version
@load base/frameworks/cluster
@load base/frameworks/telemetry/options
@load base/bif/telemetry_functions.bif
module Telemetry;
# In a cluster configuration, open the port number for metrics
# from the cluster node configuration for exporting data to
# Prometheus.
#
# The manager node will also provide a ``/services.json`` endpoint
# for the HTTP Service Discovery system in Prometheus to use for
# configuration. This endpoint will include information for all of
# the other nodes in the cluster.
@if ( Cluster::is_enabled() )
redef Telemetry::metrics_endpoint_name = Cluster::node;
@if ( Cluster::local_node_metrics_port() != 0/unknown )
redef Telemetry::metrics_port = Cluster::local_node_metrics_port();
@endif
@endif
export {
## Alias for a vector of label values.
type labels_vector: vector of string;

View file

@ -1,9 +1,10 @@
module Telemetry;
##! Configurable settings for the Telemetry framework.
##!
##! These reside separately from the main framework so that they can be loaded
##! in bare mode without all of the framework. This allows things like the
##! plugins.hooks test to see the options without needing the rest.
# This file contains the options for the Telemetry framework. These are kept
# separately so that they can be loaded in bare mode without loading all of
# the rest of the framework. This allows things like the plugins.hooks test
# to see the options without needing the rest.
module Telemetry;
export {
## Address used to make metric data available to Prometheus scrapers via
@ -19,3 +20,23 @@ export {
## defaults to the name of the node in the cluster configuration.
const metrics_endpoint_name = "" &redef;
}
# When running a cluster, use the metrics port from the cluster node
# configuration for exporting data to Prometheus.
#
# The manager node will also provide a ``/services.json`` endpoint
# for the HTTP Service Discovery system in Prometheus to use for
# configuration. This endpoint will include information for all of
# the other nodes in the cluster.
# We do this here, and not in main.zeek, to avoid ordering issues when loading
# the telemetry and cluster frameworks. This applies even in bare mode, per
# init-frameworks-and-bifs.zeek: the cluster's metrics ports need to be available
# for the redefs to assign the correct values.
@if ( Cluster::is_enabled() )
redef Telemetry::metrics_endpoint_name = Cluster::node;
@if ( Cluster::local_node_metrics_port() != 0/unknown )
redef Telemetry::metrics_port = Cluster::local_node_metrics_port();
@endif
@endif

View file

@ -5787,15 +5787,11 @@ export {
const flowbuffer_contract_threshold = 2 * 1024 * 1024 &redef;
}
@load base/bif/telemetry_functions.bif
@load base/bif/telemetry_types.bif
module Telemetry;
export {
type MetricType: enum {
COUNTER,
GAUGE,
HISTOGRAM,
};
## Type that captures options used to create metrics.
type MetricOpts: record {
## The prefix (namespace) of the metric. Zeek uses the ``zeek``

View file

@ -123,6 +123,11 @@ set(BIF_SRCS
strings.bif
types.bif
zeek.bif
# The script-layer telemetry API needs to be available to our own frameworks
# to allow them to add metrics, so we source it in early.
telemetry/telemetry_types.bif
telemetry/telemetry_consts.bif
telemetry/telemetry_functions.bif
# The packet analysis BIF is treated like other top-level BIFs because it's
# needed before parsing the packet protocol scripts, which happen very near
# to the start of parsing.

View file

@ -53,6 +53,7 @@
#include "packet_analysis.bif.func_h"
#include "CPP-load.bif.func_h"
#include "mmdb.bif.func_h"
#include "telemetry_functions.bif.func_h"
#include "zeek.bif.func_def"
#include "communityid.bif.func_def"
@ -64,6 +65,7 @@
#include "packet_analysis.bif.func_def"
#include "CPP-load.bif.func_def"
#include "mmdb.bif.func_def"
#include "telemetry_functions.bif.func_def"
// clang-format on
extern RETSIGTYPE sig_handler(int signo);
@ -1065,6 +1067,7 @@ void init_primary_bifs() {
#include "stats.bif.func_init"
#include "strings.bif.func_init"
#include "supervisor.bif.func_init"
#include "telemetry_functions.bif.func_init"
#include "zeek.bif.func_init"
init_builtin_types();

View file

@ -205,9 +205,11 @@ static void bif_init_net_var() {
#include "packet_analysis.bif.netvar_init"
#include "reporter.bif.netvar_init"
#include "supervisor.bif.netvar_init"
#include "telemetry_consts.bif.netvar_init"
}
static void init_bif_types() {
#include "telemetry_types.bif.netvar_init"
#include "types.bif.netvar_init"
}
@ -216,6 +218,8 @@ static void init_bif_types() {
#include "packet_analysis.bif.netvar_def"
#include "reporter.bif.netvar_def"
#include "supervisor.bif.netvar_def"
#include "telemetry_consts.bif.netvar_def"
#include "telemetry_types.bif.netvar_def"
#include "types.bif.netvar_def"
// Re-open the namespace now that the bif headers are all included.

View file

@ -107,4 +107,6 @@ extern void init_builtin_types();
#include "packet_analysis.bif.netvar_h"
#include "reporter.bif.netvar_h"
#include "supervisor.bif.netvar_h"
#include "telemetry_consts.bif.netvar_h"
#include "telemetry_types.bif.netvar_h"
#include "types.bif.netvar_h"

View file

@ -2,9 +2,12 @@
#include "zeek/script_opt/ZAM/ZBody.h"
#include "zeek/Conn.h"
#include "zeek/Desc.h"
#include "zeek/EventHandler.h"
#include "zeek/Frame.h"
#include "zeek/IPAddr.h"
#include "zeek/OpaqueVal.h"
#include "zeek/Overflow.h"
#include "zeek/RE.h"
#include "zeek/Reporter.h"

View file

@ -7,10 +7,10 @@ zeek_add_subdir_library(
Manager.cc
Opaques.cc
ProcessStats.cc
Utils.cc
BIFS
consts.bif
telemetry.bif)
Utils.cc)
# BIFs are loaded in src/CMakeLists.txt so they are available early on, to allow
# our own frameworks to establish metrics in the script layer.
# We don't need to include the civetweb headers across the whole project, only
# here in the telemetry framework.

View file

@ -7,10 +7,10 @@
#include <initializer_list>
#include <memory>
#include "zeek/NetVar.h"
#include "zeek/Span.h"
#include "zeek/telemetry/MetricFamily.h"
#include "zeek/telemetry/Utils.h"
#include "zeek/telemetry/telemetry.bif.h"
namespace zeek::telemetry {

View file

@ -8,10 +8,10 @@
#include <initializer_list>
#include <memory>
#include "zeek/NetVar.h"
#include "zeek/Span.h"
#include "zeek/telemetry/MetricFamily.h"
#include "zeek/telemetry/Utils.h"
#include "zeek/telemetry/telemetry.bif.h"
namespace zeek::telemetry {

View file

@ -8,10 +8,10 @@
#include <initializer_list>
#include <memory>
#include "zeek/NetVar.h"
#include "zeek/Span.h"
#include "zeek/telemetry/MetricFamily.h"
#include "zeek/telemetry/Utils.h"
#include "zeek/telemetry/telemetry.bif.h"
namespace zeek::telemetry {

View file

@ -17,14 +17,13 @@
#include "zeek/3rdparty/doctest.h"
#include "zeek/ID.h"
#include "zeek/IPAddr.h"
#include "zeek/RunState.h"
#include "zeek/ZeekString.h"
#include "zeek/broker/Manager.h"
#include "zeek/iosource/Manager.h"
#include "zeek/telemetry/ProcessStats.h"
#include "zeek/telemetry/Timer.h"
#include "zeek/telemetry/consts.bif.h"
#include "zeek/telemetry/telemetry.bif.h"
#include "zeek/threading/formatters/detail/json.h"
namespace zeek::telemetry {

View file

@ -3,7 +3,6 @@
#include "zeek/ID.h"
#include "zeek/Reporter.h"
#include "zeek/Val.h"
#include "zeek/telemetry/telemetry.bif.h"
#include "zeek/util.h"
using namespace zeek;

View file

@ -2,12 +2,6 @@
module Telemetry;
enum MetricType %{
COUNTER,
GAUGE,
HISTOGRAM,
%}
%%{
#include "zeek/telemetry/Counter.h"

View file

@ -0,0 +1,8 @@
module Telemetry;
## An enum that specifies which type of metric you're operating on.
enum MetricType %{
COUNTER, ##< Counters track entities that increment over time.
GAUGE, ##< Gauges track entities that fluctuate over time.
HISTOGRAM, ##< Histograms group observations into predefined bins.
%}

View file

@ -24,6 +24,8 @@ scripts/base/init-bare.zeek
build/scripts/base/bif/plugins/Zeek_SNMP.types.bif.zeek
build/scripts/base/bif/plugins/Zeek_KRB.types.bif.zeek
build/scripts/base/bif/event.bif.zeek
build/scripts/base/bif/telemetry_functions.bif.zeek
build/scripts/base/bif/telemetry_types.bif.zeek
scripts/base/packet-protocols/__load__.zeek
scripts/base/packet-protocols/main.zeek
scripts/base/frameworks/analyzer/main.zeek
@ -146,8 +148,7 @@ scripts/base/init-frameworks-and-bifs.zeek
scripts/base/frameworks/files/magic/__load__.zeek
scripts/base/frameworks/telemetry/options.zeek
build/scripts/base/bif/__load__.zeek
build/scripts/base/bif/consts.bif.zeek
build/scripts/base/bif/telemetry.bif.zeek
build/scripts/base/bif/telemetry_consts.bif.zeek
build/scripts/base/bif/zeekygen.bif.zeek
build/scripts/base/bif/pcap.bif.zeek
build/scripts/base/bif/bloom-filter.bif.zeek

View file

@ -24,6 +24,8 @@ scripts/base/init-bare.zeek
build/scripts/base/bif/plugins/Zeek_SNMP.types.bif.zeek
build/scripts/base/bif/plugins/Zeek_KRB.types.bif.zeek
build/scripts/base/bif/event.bif.zeek
build/scripts/base/bif/telemetry_functions.bif.zeek
build/scripts/base/bif/telemetry_types.bif.zeek
scripts/base/packet-protocols/__load__.zeek
scripts/base/packet-protocols/main.zeek
scripts/base/frameworks/analyzer/main.zeek
@ -146,8 +148,7 @@ scripts/base/init-frameworks-and-bifs.zeek
scripts/base/frameworks/files/magic/__load__.zeek
scripts/base/frameworks/telemetry/options.zeek
build/scripts/base/bif/__load__.zeek
build/scripts/base/bif/consts.bif.zeek
build/scripts/base/bif/telemetry.bif.zeek
build/scripts/base/bif/telemetry_consts.bif.zeek
build/scripts/base/bif/zeekygen.bif.zeek
build/scripts/base/bif/pcap.bif.zeek
build/scripts/base/bif/bloom-filter.bif.zeek

View file

@ -466,7 +466,6 @@
0.000000 MetaHookPost LoadFile(0, ./comm.bif.zeek, <...>/comm.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./communityid.bif.zeek, <...>/communityid.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./const.bif.zeek, <...>/const.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./consts.bif.zeek, <...>/consts.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./contents, <...>/contents.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./control, <...>/control.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./data.bif.zeek, <...>/data.bif.zeek) -> -1
@ -504,7 +503,9 @@
0.000000 MetaHookPost LoadFile(0, ./store.bif.zeek, <...>/store.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./strings.bif.zeek, <...>/strings.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./supervisor.bif.zeek, <...>/supervisor.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./telemetry.bif.zeek, <...>/telemetry.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./telemetry_consts.bif.zeek, <...>/telemetry_consts.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./telemetry_functions.bif.zeek, <...>/telemetry_functions.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./telemetry_types.bif.zeek, <...>/telemetry_types.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./thresholds, <...>/thresholds.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./top-k.bif.zeek, <...>/top-k.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, ./types, <...>/types.zeek) -> -1
@ -601,6 +602,8 @@
0.000000 MetaHookPost LoadFile(0, base<...>/supervisor, <...>/supervisor) -> -1
0.000000 MetaHookPost LoadFile(0, base<...>/supervisor.bif, <...>/supervisor.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, base<...>/tcp, <...>/tcp) -> -1
0.000000 MetaHookPost LoadFile(0, base<...>/telemetry_functions.bif, <...>/telemetry_functions.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, base<...>/telemetry_types.bif, <...>/telemetry_types.bif.zeek) -> -1
0.000000 MetaHookPost LoadFile(0, base<...>/teredo, <...>/teredo) -> -1
0.000000 MetaHookPost LoadFile(0, base<...>/tunnels, <...>/tunnels) -> -1
0.000000 MetaHookPost LoadFile(0, base<...>/types.bif, <...>/types.bif.zeek) -> -1
@ -762,7 +765,6 @@
0.000000 MetaHookPost LoadFileExtended(0, ./comm.bif.zeek, <...>/comm.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./communityid.bif.zeek, <...>/communityid.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./const.bif.zeek, <...>/const.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./consts.bif.zeek, <...>/consts.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./contents, <...>/contents.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./control, <...>/control.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./data.bif.zeek, <...>/data.bif.zeek) -> (-1, <no content>)
@ -800,7 +802,9 @@
0.000000 MetaHookPost LoadFileExtended(0, ./store.bif.zeek, <...>/store.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./strings.bif.zeek, <...>/strings.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./supervisor.bif.zeek, <...>/supervisor.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./telemetry.bif.zeek, <...>/telemetry.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./telemetry_consts.bif.zeek, <...>/telemetry_consts.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./telemetry_functions.bif.zeek, <...>/telemetry_functions.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./telemetry_types.bif.zeek, <...>/telemetry_types.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./thresholds, <...>/thresholds.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./top-k.bif.zeek, <...>/top-k.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, ./types, <...>/types.zeek) -> (-1, <no content>)
@ -897,6 +901,8 @@
0.000000 MetaHookPost LoadFileExtended(0, base<...>/supervisor, <...>/supervisor) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, base<...>/supervisor.bif, <...>/supervisor.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, base<...>/tcp, <...>/tcp) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, base<...>/telemetry_functions.bif, <...>/telemetry_functions.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, base<...>/telemetry_types.bif, <...>/telemetry_types.bif.zeek) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, base<...>/teredo, <...>/teredo) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, base<...>/tunnels, <...>/tunnels) -> (-1, <no content>)
0.000000 MetaHookPost LoadFileExtended(0, base<...>/types.bif, <...>/types.bif.zeek) -> (-1, <no content>)
@ -1391,7 +1397,6 @@
0.000000 MetaHookPre LoadFile(0, ./comm.bif.zeek, <...>/comm.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./communityid.bif.zeek, <...>/communityid.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./const.bif.zeek, <...>/const.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./consts.bif.zeek, <...>/consts.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./contents, <...>/contents.zeek)
0.000000 MetaHookPre LoadFile(0, ./control, <...>/control.zeek)
0.000000 MetaHookPre LoadFile(0, ./data.bif.zeek, <...>/data.bif.zeek)
@ -1429,7 +1434,9 @@
0.000000 MetaHookPre LoadFile(0, ./store.bif.zeek, <...>/store.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./strings.bif.zeek, <...>/strings.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./supervisor.bif.zeek, <...>/supervisor.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./telemetry.bif.zeek, <...>/telemetry.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./telemetry_consts.bif.zeek, <...>/telemetry_consts.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./telemetry_functions.bif.zeek, <...>/telemetry_functions.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./telemetry_types.bif.zeek, <...>/telemetry_types.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./thresholds, <...>/thresholds.zeek)
0.000000 MetaHookPre LoadFile(0, ./top-k.bif.zeek, <...>/top-k.bif.zeek)
0.000000 MetaHookPre LoadFile(0, ./types, <...>/types.zeek)
@ -1526,6 +1533,8 @@
0.000000 MetaHookPre LoadFile(0, base<...>/supervisor, <...>/supervisor)
0.000000 MetaHookPre LoadFile(0, base<...>/supervisor.bif, <...>/supervisor.bif.zeek)
0.000000 MetaHookPre LoadFile(0, base<...>/tcp, <...>/tcp)
0.000000 MetaHookPre LoadFile(0, base<...>/telemetry_functions.bif, <...>/telemetry_functions.bif.zeek)
0.000000 MetaHookPre LoadFile(0, base<...>/telemetry_types.bif, <...>/telemetry_types.bif.zeek)
0.000000 MetaHookPre LoadFile(0, base<...>/teredo, <...>/teredo)
0.000000 MetaHookPre LoadFile(0, base<...>/tunnels, <...>/tunnels)
0.000000 MetaHookPre LoadFile(0, base<...>/types.bif, <...>/types.bif.zeek)
@ -1687,7 +1696,6 @@
0.000000 MetaHookPre LoadFileExtended(0, ./comm.bif.zeek, <...>/comm.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./communityid.bif.zeek, <...>/communityid.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./const.bif.zeek, <...>/const.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./consts.bif.zeek, <...>/consts.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./contents, <...>/contents.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./control, <...>/control.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./data.bif.zeek, <...>/data.bif.zeek)
@ -1725,7 +1733,9 @@
0.000000 MetaHookPre LoadFileExtended(0, ./store.bif.zeek, <...>/store.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./strings.bif.zeek, <...>/strings.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./supervisor.bif.zeek, <...>/supervisor.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./telemetry.bif.zeek, <...>/telemetry.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./telemetry_consts.bif.zeek, <...>/telemetry_consts.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./telemetry_functions.bif.zeek, <...>/telemetry_functions.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./telemetry_types.bif.zeek, <...>/telemetry_types.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./thresholds, <...>/thresholds.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./top-k.bif.zeek, <...>/top-k.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, ./types, <...>/types.zeek)
@ -1822,6 +1832,8 @@
0.000000 MetaHookPre LoadFileExtended(0, base<...>/supervisor, <...>/supervisor)
0.000000 MetaHookPre LoadFileExtended(0, base<...>/supervisor.bif, <...>/supervisor.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, base<...>/tcp, <...>/tcp)
0.000000 MetaHookPre LoadFileExtended(0, base<...>/telemetry_functions.bif, <...>/telemetry_functions.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, base<...>/telemetry_types.bif, <...>/telemetry_types.bif.zeek)
0.000000 MetaHookPre LoadFileExtended(0, base<...>/teredo, <...>/teredo)
0.000000 MetaHookPre LoadFileExtended(0, base<...>/tunnels, <...>/tunnels)
0.000000 MetaHookPre LoadFileExtended(0, base<...>/types.bif, <...>/types.bif.zeek)
@ -2317,7 +2329,6 @@
0.000000 | HookLoadFile ./comm.bif.zeek <...>/comm.bif.zeek
0.000000 | HookLoadFile ./communityid.bif.zeek <...>/communityid.bif.zeek
0.000000 | HookLoadFile ./const.bif.zeek <...>/const.bif.zeek
0.000000 | HookLoadFile ./consts.bif.zeek <...>/consts.bif.zeek
0.000000 | HookLoadFile ./contents <...>/contents.zeek
0.000000 | HookLoadFile ./control <...>/control.zeek
0.000000 | HookLoadFile ./data.bif.zeek <...>/data.bif.zeek
@ -2364,7 +2375,9 @@
0.000000 | HookLoadFile ./store.bif.zeek <...>/store.bif.zeek
0.000000 | HookLoadFile ./strings.bif.zeek <...>/strings.bif.zeek
0.000000 | HookLoadFile ./supervisor.bif.zeek <...>/supervisor.bif.zeek
0.000000 | HookLoadFile ./telemetry.bif.zeek <...>/telemetry.bif.zeek
0.000000 | HookLoadFile ./telemetry_consts.bif.zeek <...>/telemetry_consts.bif.zeek
0.000000 | HookLoadFile ./telemetry_functions.bif.zeek <...>/telemetry_functions.bif.zeek
0.000000 | HookLoadFile ./telemetry_types.bif.zeek <...>/telemetry_types.bif.zeek
0.000000 | HookLoadFile ./thresholds <...>/thresholds.zeek
0.000000 | HookLoadFile ./top-k.bif.zeek <...>/top-k.bif.zeek
0.000000 | HookLoadFile ./types <...>/types.zeek
@ -2462,6 +2475,8 @@
0.000000 | HookLoadFile base<...>/supervisor <...>/supervisor
0.000000 | HookLoadFile base<...>/supervisor.bif <...>/supervisor.bif.zeek
0.000000 | HookLoadFile base<...>/tcp <...>/tcp
0.000000 | HookLoadFile base<...>/telemetry_functions.bif <...>/telemetry_functions.bif.zeek
0.000000 | HookLoadFile base<...>/telemetry_types.bif <...>/telemetry_types.bif.zeek
0.000000 | HookLoadFile base<...>/teredo <...>/teredo
0.000000 | HookLoadFile base<...>/tunnels <...>/tunnels
0.000000 | HookLoadFile base<...>/types.bif <...>/types.bif.zeek
@ -2613,7 +2628,6 @@
0.000000 | HookLoadFileExtended ./comm.bif.zeek <...>/comm.bif.zeek
0.000000 | HookLoadFileExtended ./communityid.bif.zeek <...>/communityid.bif.zeek
0.000000 | HookLoadFileExtended ./const.bif.zeek <...>/const.bif.zeek
0.000000 | HookLoadFileExtended ./consts.bif.zeek <...>/consts.bif.zeek
0.000000 | HookLoadFileExtended ./contents <...>/contents.zeek
0.000000 | HookLoadFileExtended ./control <...>/control.zeek
0.000000 | HookLoadFileExtended ./data.bif.zeek <...>/data.bif.zeek
@ -2660,7 +2674,9 @@
0.000000 | HookLoadFileExtended ./store.bif.zeek <...>/store.bif.zeek
0.000000 | HookLoadFileExtended ./strings.bif.zeek <...>/strings.bif.zeek
0.000000 | HookLoadFileExtended ./supervisor.bif.zeek <...>/supervisor.bif.zeek
0.000000 | HookLoadFileExtended ./telemetry.bif.zeek <...>/telemetry.bif.zeek
0.000000 | HookLoadFileExtended ./telemetry_consts.bif.zeek <...>/telemetry_consts.bif.zeek
0.000000 | HookLoadFileExtended ./telemetry_functions.bif.zeek <...>/telemetry_functions.bif.zeek
0.000000 | HookLoadFileExtended ./telemetry_types.bif.zeek <...>/telemetry_types.bif.zeek
0.000000 | HookLoadFileExtended ./thresholds <...>/thresholds.zeek
0.000000 | HookLoadFileExtended ./top-k.bif.zeek <...>/top-k.bif.zeek
0.000000 | HookLoadFileExtended ./types <...>/types.zeek
@ -2758,6 +2774,8 @@
0.000000 | HookLoadFileExtended base<...>/supervisor <...>/supervisor
0.000000 | HookLoadFileExtended base<...>/supervisor.bif <...>/supervisor.bif.zeek
0.000000 | HookLoadFileExtended base<...>/tcp <...>/tcp
0.000000 | HookLoadFileExtended base<...>/telemetry_functions.bif <...>/telemetry_functions.bif.zeek
0.000000 | HookLoadFileExtended base<...>/telemetry_types.bif <...>/telemetry_types.bif.zeek
0.000000 | HookLoadFileExtended base<...>/teredo <...>/teredo
0.000000 | HookLoadFileExtended base<...>/tunnels <...>/tunnels
0.000000 | HookLoadFileExtended base<...>/types.bif <...>/types.bif.zeek