mirror of
https://github.com/falcosecurity/falco.git
synced 2025-06-01 03:05:25 +00:00
update(metrics): introduce restart ts metric to statistically inspect restart/hot_reload conditions
Signed-off-by: Melissa Kilby <melissa.kilby.oss@gmail.com>
This commit is contained in:
parent
0123af47e7
commit
6824e369b9
@ -66,6 +66,10 @@ falco::app::run_result falco::app::actions::load_config(const falco::app::state&
|
||||
}
|
||||
}
|
||||
|
||||
s.config->m_falco_restart_ts = (int64_t)std::chrono::duration_cast<std::chrono::nanoseconds>(
|
||||
std::chrono::system_clock::now().time_since_epoch())
|
||||
.count();
|
||||
|
||||
s.config->m_buffered_outputs = !s.options.unbuffered_outputs;
|
||||
|
||||
return apply_deprecated_options(s);
|
||||
|
@ -161,6 +161,7 @@ public:
|
||||
|
||||
bool m_watch_config_files;
|
||||
bool m_buffered_outputs;
|
||||
int64_t m_falco_restart_ts;
|
||||
size_t m_outputs_queue_capacity;
|
||||
bool m_time_format_iso_8601;
|
||||
bool m_buffer_format_base64;
|
||||
|
@ -142,6 +142,14 @@ std::string falco_metrics::to_text(const falco::app::state& state) {
|
||||
}
|
||||
std::vector<metrics_v2> additional_wrapper_metrics;
|
||||
|
||||
additional_wrapper_metrics.emplace_back(libs::metrics::libsinsp_metrics::new_metric(
|
||||
"restart_ts",
|
||||
METRICS_V2_MISC,
|
||||
METRIC_VALUE_TYPE_S64,
|
||||
METRIC_VALUE_UNIT_TIME_TIMESTAMP_NS,
|
||||
METRIC_VALUE_METRIC_TYPE_NON_MONOTONIC_CURRENT,
|
||||
state.config->m_falco_restart_ts));
|
||||
|
||||
if(agent_info) {
|
||||
additional_wrapper_metrics.emplace_back(libs::metrics::libsinsp_metrics::new_metric(
|
||||
"start_ts",
|
||||
|
@ -354,6 +354,7 @@ void stats_writer::collector::get_metrics_output_fields_wrapper(
|
||||
/* Wrapper fields useful for statistical analyses and attributions. Always enabled. */
|
||||
output_fields["evt.time"] =
|
||||
now; /* Some ETLs may prefer a consistent timestamp within output_fields. */
|
||||
output_fields["falco.restart_ts"] = m_writer->m_config->m_falco_restart_ts;
|
||||
output_fields["falco.version"] = FALCO_VERSION;
|
||||
if(agent_info) {
|
||||
output_fields["falco.start_ts"] = agent_info->start_ts_epoch;
|
||||
|
Loading…
Reference in New Issue
Block a user