From 66b4a547981083440e046728b34e6992d00494a8 Mon Sep 17 00:00:00 2001 From: Dan Wilbanks Date: Wed, 2 Aug 2023 13:04:42 -0400 Subject: [PATCH] Adapter: Enable query metrics by default if prometheus-metrics Enables --query-log and --query-log-ad-hoc by default when --prometheus-metrics are set. Though this is slightly unidiomatic (flags are disabled by default), most users trying out ReadySet will want all three of these flags set. Users will now have to explicitly disable --query-log and/or --query-log-ad-hoc if they only want to run a subset of these flags. Release-Note-Core: --query-log and --query-log-ad-hoc are now enabled by default if --prometheus-metrics is set, which effectively enables all query metrics by default if metrics are enabled. Change-Id: Id9a03ad9eb3979c8599b01f13d38947ee22bcd36 Reviewed-on: https://gerrit.readyset.name/c/readyset/+/5653 Tested-by: Buildkite CI Reviewed-by: Luke Osborne --- readyset/src/lib.rs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/readyset/src/lib.rs b/readyset/src/lib.rs index 3af284eb7c..b9e23c760f 100644 --- a/readyset/src/lib.rs +++ b/readyset/src/lib.rs @@ -245,11 +245,24 @@ pub struct Options { noria_metrics: bool, /// Enable logging queries and execution metrics. This creates a histogram per unique query. - #[clap(long, env = "QUERY_LOG", requires = "metrics")] + /// Enabled by default if prometheus-metrics is enabled. + #[clap( + long, + env = "QUERY_LOG", + requires = "metrics", + default_value_if("promethues-metrics", "true", Some("true")) + )] query_log: bool, - /// Enables logging ad-hoc queries in the query log. Useful for testing. - #[clap(long, hide = true, env = "QUERY_LOG_AD_HOC", requires = "query_log")] + /// Enables logging ad-hoc queries in the query log. Useful for testing. Enabled by default if + /// prometheus-metrics is enabled. + #[clap( + long, + hide = true, + env = "QUERY_LOG_AD_HOC", + requires = "query_log", + default_value_if("prometheus_metrics", "true", Some("true")) + )] query_log_ad_hoc: bool, /// Use the AWS EC2 metadata service to determine the external address of this noria adapter's