Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SDK] Support OTEL_SDK_DISABLED environment variable #3245

Merged
merged 22 commits into from
Feb 5, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Revert all changes on EventLogger.
  • Loading branch information
marcalff committed Jan 28, 2025
commit 48554480b75a96f55b2afd44794612ad9838c871
18 changes: 9 additions & 9 deletions api/include/opentelemetry/logs/provider.h
Original file line number Diff line number Diff line change
@@ -59,6 +59,15 @@ class OPENTELEMETRY_EXPORT Provider
return nostd::shared_ptr<EventLoggerProvider>(GetEventProvider());
}

/**
* Changes the singleton EventLoggerProvider.
*/
static void SetEventLoggerProvider(const nostd::shared_ptr<EventLoggerProvider> &tp) noexcept
{
std::lock_guard<common::SpinLockMutex> guard(GetLock());
GetEventProvider() = tp;
}

#if OPENTELEMETRY_ABI_VERSION_NO >= 2
private:
#endif /* OPENTELEMETRY_ABI_VERSION_NO */
@@ -72,15 +81,6 @@ class OPENTELEMETRY_EXPORT Provider
GetProvider() = tp;
}

/**
* Changes the singleton EventLoggerProvider.
*/
static void SetEventLoggerProvider(const nostd::shared_ptr<EventLoggerProvider> &tp) noexcept
{
std::lock_guard<common::SpinLockMutex> guard(GetLock());
GetEventProvider() = tp;
}

private:
/* The SDK is allowed to change the singleton in the API. */
friend class opentelemetry::sdk::logs::Provider;
2 changes: 0 additions & 2 deletions api/test/logs/provider_test.cc
Original file line number Diff line number Diff line change
@@ -90,7 +90,6 @@ TEST(Provider, GetEventLoggerProviderDefault)
EXPECT_NE(nullptr, tf);
}

#if OPENTELEMETRY_ABI_VERSION_NO == 1
TEST(Provider, SetEventLoggerProvider)
{
auto tf = nostd::shared_ptr<EventLoggerProvider>(new TestEventLoggerProvider());
@@ -107,7 +106,6 @@ TEST(Provider, MultipleEventLoggerProviders)

ASSERT_NE(Provider::GetEventLoggerProvider(), tf);
}
#endif /* OPENTELEMETRY_ABI_VERSION_NO */

TEST(Provider, CreateEventLogger)
{
6 changes: 0 additions & 6 deletions sdk/include/opentelemetry/sdk/logs/provider.h
Original file line number Diff line number Diff line change
@@ -26,12 +26,6 @@ class Provider
*/
static void SetLoggerProvider(
const nostd::shared_ptr<opentelemetry::logs::LoggerProvider> &lp) noexcept;

/**
* Changes the singleton EventLoggerProvider.
*/
static void SetEventLoggerProvider(
const nostd::shared_ptr<opentelemetry::logs::EventLoggerProvider> &lp) noexcept;
};

} // namespace logs
11 changes: 0 additions & 11 deletions sdk/src/logs/provider.cc
Original file line number Diff line number Diff line change
@@ -28,17 +28,6 @@ void Provider::SetLoggerProvider(
}
}

void Provider::SetEventLoggerProvider(
const nostd::shared_ptr<opentelemetry::logs::EventLoggerProvider> &lp) noexcept
{
bool disabled = opentelemetry::sdk::common::GetSdkDisabled();

if (!disabled)
{
opentelemetry::logs::Provider::SetEventLoggerProvider(lp);
}
}

} // namespace logs
} // namespace sdk
OPENTELEMETRY_END_NAMESPACE
56 changes: 0 additions & 56 deletions sdk/test/logs/logger_provider_set_test.cc
Original file line number Diff line number Diff line change
@@ -88,59 +88,3 @@ TEST(Provider, MultipleLoggerProviders)

ASSERT_NE(logs_api::Provider::GetLoggerProvider(), tf);
}

class TestEventLoggerProvider : public EventLoggerProvider
{
public:
nostd::shared_ptr<EventLogger> CreateEventLogger(
nostd::shared_ptr<Logger> /*delegate_logger*/,
nostd::string_view /*event_domain*/) noexcept override
{
return nostd::shared_ptr<EventLogger>(nullptr);
}
};

TEST(Provider, SetEventLoggerProviderDefault)
{
#ifndef NO_GETENV
unsetenv("OTEL_SDK_DISABLED");
#endif

auto tf = nostd::shared_ptr<EventLoggerProvider>(new TestEventLoggerProvider());
logs_sdk::Provider::SetEventLoggerProvider(tf);
ASSERT_EQ(tf, logs_api::Provider::GetEventLoggerProvider());
}

#ifndef NO_GETENV
TEST(Provider, SetEventLoggerProviderEnabled)
{
setenv("OTEL_SDK_DISABLED", "false", 1);

auto tf = nostd::shared_ptr<EventLoggerProvider>(new TestEventLoggerProvider());
logs_sdk::Provider::SetEventLoggerProvider(tf);
ASSERT_EQ(tf, logs_api::Provider::GetEventLoggerProvider());

unsetenv("OTEL_SDK_DISABLED");
}

TEST(Provider, SetEventLoggerProviderDisabled)
{
setenv("OTEL_SDK_DISABLED", "true", 1);

auto tf = nostd::shared_ptr<EventLoggerProvider>(new TestEventLoggerProvider());
logs_sdk::Provider::SetEventLoggerProvider(tf);
ASSERT_NE(tf, logs_api::Provider::GetEventLoggerProvider());

unsetenv("OTEL_SDK_DISABLED");
}
#endif

TEST(Provider, MultipleEventLoggerProviders)
{
auto tf = nostd::shared_ptr<EventLoggerProvider>(new TestEventLoggerProvider());
logs_sdk::Provider::SetEventLoggerProvider(tf);
auto tf2 = nostd::shared_ptr<EventLoggerProvider>(new TestEventLoggerProvider());
logs_sdk::Provider::SetEventLoggerProvider(tf2);

ASSERT_NE(logs_api::Provider::GetEventLoggerProvider(), tf);
}