Skip to content

Commit

Permalink
[user_events] Configure the provider name via exporter option (open-t…
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomsonTan committed Jun 17, 2024
1 parent 512a8a5 commit 93733bb
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 14 deletions.
11 changes: 9 additions & 2 deletions exporters/user_events/example/logs/main.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,12 @@ namespace user_events_logs = opentelemetry::exporter::user_events::logs;
namespace
{

std::string provider_name;

void InitLogger()
{
// Create user_events log exporter instance
auto exporter_options = user_events_logs::ExporterOptions();
auto exporter_options = user_events_logs::ExporterOptions(provider_name);
auto exporter =
std::unique_ptr<user_events_logs::Exporter>(new user_events_logs::Exporter(exporter_options));
auto processor = logs_sdk::SimpleLogRecordProcessorFactory::Create(std::move(exporter));
Expand Down Expand Up @@ -58,8 +60,13 @@ std::string get_fruit_name_from_customer()
}
}

int main()
int main(int argc, char * argv[])
{
if (argc > 1)
{
provider_name = argv[1];
}

InitLogger();

while (true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,18 @@ class Exporter final : public opentelemetry::sdk::logs::LogRecordExporter
const ExporterOptions options_;
bool is_shutdown_ = false;
mutable opentelemetry::common::SpinLockMutex lock_;

const std::array<event_level, 6> event_levels_map = {
static_cast<event_level>(6),
event_level_verbose,
event_level_information,
event_level_warning,
event_level_error,
event_level_critical_error
};

ehd::Provider provider_{"opentelemetry_logs"};
std::array<std::shared_ptr<const ehd::EventSet>, 6> event_set_levels_ = {
provider_.RegisterSet(static_cast<event_level>(6), 1),
provider_.RegisterSet(event_level_verbose, 1),
provider_.RegisterSet(event_level_information, 1),
provider_.RegisterSet(event_level_warning, 1),
provider_.RegisterSet(event_level_error, 1),
provider_.RegisterSet(event_level_critical_error, 1)};

ehd::Provider provider_;
std::array<std::shared_ptr<const ehd::EventSet>, 6> event_set_levels_;
}; // class Exporter

} // namespace logs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,33 @@ namespace user_events
namespace logs
{

const std::string kDefaultUserEventsLogsProviderName = "opentelemetry_logs";

/**
* Struct to hold the options needed for the user_events logs exporter.
*/

struct ExporterOptions
{};
{
public:
ExporterOptions() : ExporterOptions(kDefaultUserEventsLogsProviderName) {}

ExporterOptions(std::string provider_name)
{
if (provider_name.empty())
{
this->provider_name = kDefaultUserEventsLogsProviderName;
}
else
{
this->provider_name = provider_name;
}
}

public:
std::string provider_name;
};

} // namespace logs
} // namespace user_events
} // namespace exporter
Expand Down
9 changes: 8 additions & 1 deletion exporters/user_events/src/logs_exporter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,14 @@ namespace logs

/*********************** Constructor ***********************/

Exporter::Exporter(const ExporterOptions &options) noexcept : options_(options) {}
Exporter::Exporter(const ExporterOptions &options) noexcept : options_(options), provider_(options.provider_name)
{
// Initialize the event sets
for (int i = 0; i < sizeof(event_levels_map)/sizeof(event_levels_map[0]); i++)
{
event_set_levels_[i] = provider_.RegisterSet(event_levels_map[i], 1);
}
}

/*********************** Exporter methods ***********************/

Expand Down
2 changes: 1 addition & 1 deletion exporters/user_events/third_party/LinuxTracepoints
Submodule LinuxTracepoints updated 86 files
+11 −5 .gitattributes
+15 −2 .github/workflows/CMake.yml
+74 −0 CHANGELOG.md
+3 −4 CMakeLists.txt
+0 −53 CMakeSettings.json
+61 −26 README.md
+11 −11 SUPPORT.md
+ TestOutput/EventHeaderInterceptorLE64.dat
+0 −510 TestOutput/EventHeaderInterceptorLE64.dat.dotnet.json
+11 −5 TestOutput/EventHeaderInterceptorLE64.dat.linux.json
+10 −4 TestOutput/EventHeaderInterceptorLE64.dat.windows.json
+4 −3 libeventheader-decode-cpp/CMakeLists.txt
+14 −1 libeventheader-decode-cpp/include/eventheader/EventFormatter.h
+87 −46 libeventheader-decode-cpp/src/EventFormatter.cpp
+1 −1 libeventheader-decode-cpp/tools/decode-perf.cpp
+0 −14 libeventheader-decode-dotnet/CMakeLists.txt
+0 −4 libeventheader-decode-dotnet/README.md
+0 −6 libeventheader-decode-dotnet/samples/App.config
+0 −4 libeventheader-decode-dotnet/samples/CMakeLists.txt
+0 −339 libeventheader-decode-dotnet/samples/decode-files.cs
+0 −12 libeventheader-decode-dotnet/src/CMakeLists.txt
+0 −1,670 libeventheader-decode-dotnet/src/EventEnumerator.cs
+0 −685 libeventheader-decode-dotnet/src/EventHeader.cs
+0 −124 libeventheader-decode-dotnet/src/EventInfo.cs
+0 −883 libeventheader-decode-dotnet/src/EventItemInfo.cs
+0 −76 libeventheader-decode-dotnet/src/EventUtility.cs
+4 −8 libeventheader-tracepoint/CMakeLists.txt
+1 −2 libeventheader-tracepoint/README.md
+2 −1 libeventheader-tracepoint/include/CMakeLists.txt
+3 −3 libeventheader-tracepoint/include/eventheader/EventHeaderDynamic.h
+2 −6 libeventheader-tracepoint/include/eventheader/TraceLoggingProvider.h
+1 −1 libeventheader-tracepoint/include/eventheader/eventheader.h
+12 −3 libeventheader-tracepoint/samples/CMakeLists.txt
+26 −3 libeventheader-tracepoint/samples/TestProviderCommon.h
+51 −0 libeventheader-tracepoint/samples/tracepoint-sample.cpp
+0 −5 libeventheader-tracepoint/src/eventheader-tracepointConfig.cmake.in
+0 −5 libeventheader-tracepoint/tools/CMakeLists.txt
+0 −118 libeventheader-tracepoint/tools/eventheader-register.cpp
+8 −2 libtracepoint-control-cpp/CMakeLists.txt
+6 −4 libtracepoint-control-cpp/README.md
+25 −1 libtracepoint-control-cpp/include/tracepoint/TracepointCache.h
+15 −5 libtracepoint-control-cpp/include/tracepoint/TracepointName.h
+6 −3 libtracepoint-control-cpp/include/tracepoint/TracepointPath.h
+743 −166 libtracepoint-control-cpp/include/tracepoint/TracepointSession.h
+106 −0 libtracepoint-control-cpp/include/tracepoint/TracepointSpec.h
+7 −0 libtracepoint-control-cpp/samples/CMakeLists.txt
+4 −0 libtracepoint-control-cpp/samples/control-lookup.cpp
+24 −7 libtracepoint-control-cpp/samples/control-session.cpp
+107 −0 libtracepoint-control-cpp/samples/save-session.cpp
+4 −2 libtracepoint-control-cpp/src/CMakeLists.txt
+131 −14 libtracepoint-control-cpp/src/TracepointCache.cpp
+89 −78 libtracepoint-control-cpp/src/TracepointPath.cpp
+1,446 −502 libtracepoint-control-cpp/src/TracepointSession.cpp
+306 −0 libtracepoint-control-cpp/src/TracepointSpec.cpp
+0 −5 libtracepoint-control-cpp/src/tracepoint-controlConfig.cmake.in
+7 −0 libtracepoint-control-cpp/tools/CMakeLists.txt
+942 −0 libtracepoint-control-cpp/tools/tracepoint-collect.cpp
+3 −1 libtracepoint-decode-cpp/CMakeLists.txt
+96 −69 libtracepoint-decode-cpp/include/tracepoint/PerfDataFile.h
+79 −0 libtracepoint-decode-cpp/include/tracepoint/PerfDataFileDefs.h
+347 −0 libtracepoint-decode-cpp/include/tracepoint/PerfDataFileWriter.h
+41 −33 libtracepoint-decode-cpp/include/tracepoint/PerfEventAbi.h
+75 −28 libtracepoint-decode-cpp/include/tracepoint/PerfEventInfo.h
+7 −1 libtracepoint-decode-cpp/include/tracepoint/PerfEventMetadata.h
+91 −0 libtracepoint-decode-cpp/include/tracepoint/PerfEventSessionInfo.h
+6 −0 libtracepoint-decode-cpp/samples/CMakeLists.txt
+347 −0 libtracepoint-decode-cpp/samples/perf-file-rewrite.cpp
+8 −2 libtracepoint-decode-cpp/src/CMakeLists.txt
+236 −73 libtracepoint-decode-cpp/src/PerfDataFile.cpp
+1,013 −0 libtracepoint-decode-cpp/src/PerfDataFileWriter.cpp
+2 −2 libtracepoint-decode-cpp/src/PerfEventAbi.cpp
+58 −0 libtracepoint-decode-cpp/src/PerfEventInfo.cpp
+2 −0 libtracepoint-decode-cpp/src/PerfEventMetadata.cpp
+124 −0 libtracepoint-decode-cpp/src/PerfEventSessionInfo.cpp
+7 −1 libtracepoint/CMakeLists.txt
+4 −0 libtracepoint/README.md
+2 −1 libtracepoint/include/CMakeLists.txt
+5 −6 libtracepoint/include/tracepoint/tracepoint-provider.h
+1 −1 libtracepoint/include/tracepoint/tracepoint.h
+2 −2 libtracepoint/samples/tracepoint-sample.c
+67 −19 libtracepoint/src/tracepoint.c
+0 −5 libtracepoint/src/tracepointConfig.cmake.in
+5 −0 libtracepoint/tools/CMakeLists.txt
+541 −0 libtracepoint/tools/tracepoint-register.cpp
+0 −3 rust/README.md
+8 −0 version.cmake

0 comments on commit 93733bb

Please sign in to comment.