From 1f036d7707547dec32bd949b04be0d9606d7dd19 Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Sat, 17 Sep 2022 17:13:39 +0000 Subject: [PATCH] Feature: Record dumpfile filename in events --- src/event.c | 2 ++ src/event.h | 1 + src/event_exec.c | 1 + src/source.c | 4 ++-- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/event.c b/src/event.c index 521fda1d..e3664438 100644 --- a/src/event.c +++ b/src/event.c @@ -83,6 +83,7 @@ const char * event_extra_key_name(event_extra_key_t key) case EVENT_EXTRA_KEY_CLIENT_USERNAME: return "client-username"; break; case EVENT_EXTRA_KEY_CLIENT_USERAGENT: return "client-useragent"; break; case EVENT_EXTRA_KEY_SOURCE_MEDIA_TYPE: return "source-mediatype"; break; + case EVENT_EXTRA_KEY_DUMPFILE_FILENAME: return "dumpfile-filename"; break; #ifndef DEVEL_LOGGING default: break; #endif @@ -100,6 +101,7 @@ igloo_error_t event_to_string_renderer(const event_t *event, string_renderer_t * EVENT_EXTRA_KEY_CLIENT_ROLE, EVENT_EXTRA_KEY_CLIENT_USERNAME, EVENT_EXTRA_KEY_CLIENT_USERAGENT, + EVENT_EXTRA_KEY_DUMPFILE_FILENAME, EVENT_EXTRA_LIST_END }; diff --git a/src/event.h b/src/event.h index 59289d39..0afe6647 100644 --- a/src/event.h +++ b/src/event.h @@ -41,6 +41,7 @@ typedef enum { EVENT_EXTRA_KEY_CLIENT_USERNAME, EVENT_EXTRA_KEY_CLIENT_USERAGENT, EVENT_EXTRA_KEY_SOURCE_MEDIA_TYPE, + EVENT_EXTRA_KEY_DUMPFILE_FILENAME, } event_extra_key_t; typedef struct { diff --git a/src/event_exec.c b/src/event_exec.c index 5678c239..574bf2aa 100644 --- a/src/event_exec.c +++ b/src/event_exec.c @@ -157,6 +157,7 @@ static inline void __setup_environ(ice_config_t *config, event_exec_t *self, eve __update_environ_with_key(event, "CLIENT_ROLE", EVENT_EXTRA_KEY_CLIENT_ROLE); __update_environ_with_key(event, "CLIENT_USERNAME", EVENT_EXTRA_KEY_CLIENT_USERNAME); __update_environ_with_key(event, "CLIENT_USERAGENT", EVENT_EXTRA_KEY_CLIENT_USERAGENT); + __update_environ_with_key(event, "DUMPFILE_FILENAME", EVENT_EXTRA_KEY_DUMPFILE_FILENAME); snprintf(buf, sizeof(buf), "%lu", event->connection_id); __update_environ("CLIENT_ID", buf); diff --git a/src/source.c b/src/source.c index 6c4a97a2..ef142113 100644 --- a/src/source.c +++ b/src/source.c @@ -659,12 +659,12 @@ static bool source_open_dumpfile(source_t *source) source->dumpfile_start = curtime; stats_event(source->mount, "dumpfile_written", "0"); stats_event_time_iso8601(source->mount, "dumpfile_start"); - event_emit_va("dumpfile-opened", EVENT_EXTRA_SOURCE, source, EVENT_EXTRA_LIST_END); + event_emit_va("dumpfile-opened", EVENT_EXTRA_SOURCE, source, EVENT_EXTRA_KEY_DUMPFILE_FILENAME, filename, EVENT_EXTRA_LIST_END); return true; } else { ICECAST_LOG_WARN("Cannot open dump file for source %#H with filename %#H for appending: %s, disabling.", source->mount, source->dumpfilename, strerror(errno)); - event_emit_va("dumpfile-error", EVENT_EXTRA_SOURCE, source, EVENT_EXTRA_LIST_END); + event_emit_va("dumpfile-error", EVENT_EXTRA_SOURCE, source, EVENT_EXTRA_KEY_DUMPFILE_FILENAME, filename, EVENT_EXTRA_LIST_END); return false; } }