From 02b7b52f152f2e204528c85b946ea604fd45a867 Mon Sep 17 00:00:00 2001 From: Andrew Crump Date: Thu, 17 Aug 2023 11:46:31 +1200 Subject: [PATCH] Allow metric exporters to be provided as a string (#365) Signed-off-by: Andrew Crump Co-authored-by: Carson Long --- jobs/otel-collector-windows/templates/config.yml.erb | 10 +++++++--- jobs/otel-collector/templates/config.yml.erb | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/jobs/otel-collector-windows/templates/config.yml.erb b/jobs/otel-collector-windows/templates/config.yml.erb index 1c3e7385d..c5209f1d3 100644 --- a/jobs/otel-collector-windows/templates/config.yml.erb +++ b/jobs/otel-collector-windows/templates/config.yml.erb @@ -1,5 +1,9 @@ <%= -if p('metric_exporters').keys.any?{|k| k.include?('/cf-internal')} +metric_exporters = p('metric_exporters') +unless metric_exporters.respond_to?(:keys) + metric_exporters = YAML::load(metric_exporters) +end +if metric_exporters.keys.any?{|k| k.include?('/cf-internal')} raise 'Metric exporters cannot be defined under cf-internal namespace' end @@ -19,10 +23,10 @@ config = { } } }, - "exporters"=>p('metric_exporters'), + "exporters"=>metric_exporters, "service"=>{ "telemetry"=>{"metrics"=>{"level"=>"none"}}, - "pipelines"=>{"metrics"=>{"receivers"=>["otlp"], "exporters"=>p('metric_exporters').keys}} + "pipelines"=>{"metrics"=>{"receivers"=>["otlp"], "exporters"=>metric_exporters.keys}} } } diff --git a/jobs/otel-collector/templates/config.yml.erb b/jobs/otel-collector/templates/config.yml.erb index 95fd63483..b537d81e5 100644 --- a/jobs/otel-collector/templates/config.yml.erb +++ b/jobs/otel-collector/templates/config.yml.erb @@ -1,5 +1,9 @@ <%= -if p('metric_exporters').keys.any?{|k| k.include?('/cf-internal')} +metric_exporters = p('metric_exporters') +unless metric_exporters.respond_to?(:keys) + metric_exporters = YAML::load(metric_exporters) +end +if metric_exporters.keys.any?{|k| k.include?('/cf-internal')} raise 'Metric exporters cannot be defined under cf-internal namespace' end @@ -19,10 +23,10 @@ config = { } } }, - "exporters"=>p('metric_exporters'), + "exporters"=>metric_exporters, "service"=>{ "telemetry"=>{"metrics"=>{"level"=>"none"}}, - "pipelines"=>{"metrics"=>{"receivers"=>["otlp"], "exporters"=>p('metric_exporters').keys}} + "pipelines"=>{"metrics"=>{"receivers"=>["otlp"], "exporters"=>metric_exporters.keys}} } }