Skip to content

Commit c96a3e3

Browse files
authored
Reorder the destructor of members in LoggerProvider and TracerProvider (#1245)
1 parent cba0a2a commit c96a3e3

26 files changed

+150
-46
lines changed

exporters/elasticsearch/include/opentelemetry/exporters/elasticsearch/es_log_recordable.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,8 @@ class ElasticSearchRecordable final : public sdk::logs::Recordable
111111
void SetSeverity(opentelemetry::logs::Severity severity) noexcept override
112112
{
113113
// Convert the severity enum to a string
114-
int severity_index = static_cast<int>(severity);
115-
if (severity_index < 0 ||
116-
severity_index >= std::extent<decltype(opentelemetry::logs::SeverityNumToText)>::value)
114+
std::uint32_t severity_index = static_cast<std::uint32_t>(severity);
115+
if (severity_index >= std::extent<decltype(opentelemetry::logs::SeverityNumToText)>::value)
117116
{
118117
std::stringstream sout;
119118
sout << "Invalid severity(" << severity_index << ")";

exporters/ostream/src/log_exporter.cc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,12 +146,11 @@ sdk::common::ExportResult OStreamLogExporter::Export(
146146
// into severity_num and severity_text
147147
sout_ << "{\n"
148148
<< " timestamp : " << log_record->GetTimestamp().time_since_epoch().count() << "\n"
149-
<< " severity_num : " << static_cast<int>(log_record->GetSeverity()) << "\n"
149+
<< " severity_num : " << static_cast<std::uint32_t>(log_record->GetSeverity()) << "\n"
150150
<< " severity_text : ";
151151

152-
int severity_index = static_cast<int>(log_record->GetSeverity());
153-
if (severity_index < 0 ||
154-
severity_index >= std::extent<decltype(opentelemetry::logs::SeverityNumToText)>::value)
152+
std::uint32_t severity_index = static_cast<std::uint32_t>(log_record->GetSeverity());
153+
if (severity_index >= std::extent<decltype(opentelemetry::logs::SeverityNumToText)>::value)
155154
{
156155
sout_ << "Invalid severity(" << severity_index << ")\n";
157156
}

exporters/otlp/src/otlp_grpc_exporter.cc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@ sdk::common::ExportResult OtlpGrpcExporter::Export(
110110
<< " span(s) failed, exporter is shutdown");
111111
return sdk::common::ExportResult::kFailure;
112112
}
113+
if (spans.empty())
114+
{
115+
return sdk::common::ExportResult::kSuccess;
116+
}
117+
113118
proto::collector::trace::v1::ExportTraceServiceRequest request;
114119
OtlpRecordableUtils::PopulateRequest(spans, &request);
115120

exporters/otlp/src/otlp_grpc_log_exporter.cc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,11 @@ opentelemetry::sdk::common::ExportResult OtlpGrpcLogExporter::Export(
131131
<< " log(s) failed, exporter is shutdown");
132132
return sdk::common::ExportResult::kFailure;
133133
}
134+
if (logs.empty())
135+
{
136+
return sdk::common::ExportResult::kSuccess;
137+
}
138+
134139
proto::collector::logs::v1::ExportLogsServiceRequest request;
135140
OtlpRecordableUtils::PopulateRequest(logs, &request);
136141

exporters/otlp/src/otlp_http_exporter.cc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ std::unique_ptr<opentelemetry::sdk::trace::Recordable> OtlpHttpExporter::MakeRec
4646
opentelemetry::sdk::common::ExportResult OtlpHttpExporter::Export(
4747
const nostd::span<std::unique_ptr<opentelemetry::sdk::trace::Recordable>> &spans) noexcept
4848
{
49+
if (spans.empty())
50+
{
51+
return opentelemetry::sdk::common::ExportResult::kSuccess;
52+
}
53+
4954
proto::collector::trace::v1::ExportTraceServiceRequest service_request;
5055
OtlpRecordableUtils::PopulateRequest(spans, &service_request);
5156
return http_client_->Export(service_request);

exporters/otlp/src/otlp_http_log_exporter.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ std::unique_ptr<opentelemetry::sdk::logs::Recordable> OtlpHttpLogExporter::MakeR
4848
opentelemetry::sdk::common::ExportResult OtlpHttpLogExporter::Export(
4949
const nostd::span<std::unique_ptr<opentelemetry::sdk::logs::Recordable>> &logs) noexcept
5050
{
51+
if (logs.empty())
52+
{
53+
return opentelemetry::sdk::common::ExportResult::kSuccess;
54+
}
5155
proto::collector::logs::v1::ExportLogsServiceRequest service_request;
5256
OtlpRecordableUtils::PopulateRequest(logs, &service_request);
5357
return http_client_->Export(service_request);

exporters/otlp/test/otlp_http_log_exporter_test.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ TEST_F(OtlpHttpLogExporterTestPeer, ExportJsonIntegrationTest)
103103

104104
auto provider = nostd::shared_ptr<sdk::logs::LoggerProvider>(new sdk::logs::LoggerProvider());
105105
provider->AddProcessor(std::unique_ptr<sdk::logs::LogProcessor>(
106-
new sdk::logs::BatchLogProcessor(std::move(exporter), 5, std::chrono::milliseconds(256), 1)));
106+
new sdk::logs::BatchLogProcessor(std::move(exporter), 5, std::chrono::milliseconds(256), 5)));
107107

108108
std::string report_trace_id;
109109
std::string report_span_id;
@@ -192,7 +192,7 @@ TEST_F(OtlpHttpLogExporterTestPeer, ExportBinaryIntegrationTest)
192192

193193
auto provider = nostd::shared_ptr<sdk::logs::LoggerProvider>(new sdk::logs::LoggerProvider());
194194
provider->AddProcessor(std::unique_ptr<sdk::logs::LogProcessor>(
195-
new sdk::logs::BatchLogProcessor(std::move(exporter), 5, std::chrono::milliseconds(256), 1)));
195+
new sdk::logs::BatchLogProcessor(std::move(exporter), 5, std::chrono::milliseconds(256), 5)));
196196

197197
std::string report_trace_id;
198198
std::string report_span_id;

ext/test/http/curl_http_test.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,9 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
291291
auto result = http_client.Get("http://222.222.222.200:19000/get/", m1);
292292
EXPECT_EQ(result, false);
293293

294-
EXPECT_EQ(result.GetSessionState(), http_client::SessionState::ConnectFailed);
294+
// When network is under proxy, it may connect success but closed by peer when send data
295+
EXPECT_TRUE(result.GetSessionState() == http_client::SessionState::ConnectFailed ||
296+
result.GetSessionState() == http_client::SessionState::SendFailed);
295297
}
296298

297299
TEST_F(BasicCurlHttpTests, SendPostRequestSync)

sdk/include/opentelemetry/sdk/_metrics/controller.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@ class PushController
8080
{
8181
if (active_.exchange(false))
8282
{
83-
runner_.join();
83+
if (runner_.joinable())
84+
{
85+
runner_.join();
86+
}
8487
tick(); // flush metrics sitting in the processor
8588
}
8689
}

sdk/include/opentelemetry/sdk/logs/batch_log_processor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ class BatchLogProcessor : public LogProcessor
108108

109109
/* Synchronization primitives */
110110
std::condition_variable cv_, force_flush_cv_;
111-
std::mutex cv_m_, force_flush_cv_m_;
111+
std::mutex cv_m_, force_flush_cv_m_, shutdown_m_;
112112

113113
/* The buffer/queue to which the ended logs are added */
114114
common::CircularBuffer<Recordable> buffer_;

0 commit comments

Comments
 (0)