1111#include  " opentelemetry/exporters/otlp/otlp_http_metric_exporter_factory.h" 
1212#include  " opentelemetry/exporters/otlp/otlp_http_metric_exporter_options.h" 
1313#include  " opentelemetry/exporters/otlp/otlp_http_push_metric_builder.h" 
14+ #include  " opentelemetry/sdk/configuration/http_tls_configuration.h" 
1415#include  " opentelemetry/sdk/configuration/otlp_http_push_metric_exporter_builder.h" 
1516#include  " opentelemetry/sdk/configuration/otlp_http_push_metric_exporter_configuration.h" 
1617#include  " opentelemetry/sdk/configuration/registry.h" 
@@ -34,6 +35,8 @@ std::unique_ptr<opentelemetry::sdk::metrics::PushMetricExporter> OtlpHttpPushMet
3435{
3536  OtlpHttpMetricExporterOptions options (nullptr );
3637
38+   const  auto  *tls = model->tls .get ();
39+ 
3740  options.url                 = model->endpoint ;
3841  options.content_type        = OtlpBuilderUtils::ConvertOtlpHttpEncoding (model->encoding );
3942  options.json_bytes_mapping  = JsonBytesMappingKind::kHexId ;
@@ -46,10 +49,15 @@ std::unique_ptr<opentelemetry::sdk::metrics::PushMetricExporter> OtlpHttpPushMet
4649  options.aggregation_temporality  =
4750      OtlpBuilderUtils::ConvertTemporalityPreference (model->temporality_preference );
4851  options.ssl_insecure_skip_verify  = false ;
49-   options.ssl_ca_cert_path          = model->certificate_file ;
50-   options.ssl_client_key_path       = model->client_key_file ;
51-   options.ssl_client_cert_path      = model->client_certificate_file ;
52-   options.compression               = model->compression ;
52+ 
53+   if  (tls != nullptr )
54+   {
55+     options.ssl_ca_cert_path      = tls->certificate_file ;
56+     options.ssl_client_key_path   = tls->client_key_file ;
57+     options.ssl_client_cert_path  = tls->client_certificate_file ;
58+   }
59+ 
60+   options.compression  = model->compression ;
5361
5462  return  OtlpHttpMetricExporterFactory::Create (options);
5563}
0 commit comments