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