diff --git a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_log_recordable.h b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_log_recordable.h index 02a7f9d86e..5a1ddf37b4 100644 --- a/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_log_recordable.h +++ b/exporters/otlp/include/opentelemetry/exporters/otlp/otlp_log_recordable.h @@ -76,10 +76,7 @@ class OtlpLogRecordable final : public opentelemetry::sdk::logs::Recordable * @param id the event Id to set * @param name the event name to set */ - void SetEventId(int64_t /* id */, nostd::string_view /* name */) noexcept override - { - // TODO: export Event Id to OTLP - } + void SetEventId(int64_t /* id */, nostd::string_view event_name) noexcept override; /** * Set the trace id for this log. diff --git a/exporters/otlp/src/otlp_log_recordable.cc b/exporters/otlp/src/otlp_log_recordable.cc index cb27651c03..374c3c2f5a 100644 --- a/exporters/otlp/src/otlp_log_recordable.cc +++ b/exporters/otlp/src/otlp_log_recordable.cc @@ -197,6 +197,11 @@ void OtlpLogRecordable::SetBody(const opentelemetry::common::AttributeValue &mes OtlpPopulateAttributeUtils::PopulateAnyValue(proto_record_.mutable_body(), message); } +void OtlpLogRecordable::SetEventId(int64_t /* id */, nostd::string_view event_name) noexcept +{ + proto_record_.set_event_name(event_name.data(), event_name.size()); +} + void OtlpLogRecordable::SetTraceId(const opentelemetry::trace::TraceId &trace_id) noexcept { if (trace_id.IsValid()) diff --git a/exporters/otlp/test/otlp_log_recordable_test.cc b/exporters/otlp/test/otlp_log_recordable_test.cc index 571f600b22..5c1032912d 100644 --- a/exporters/otlp/test/otlp_log_recordable_test.cc +++ b/exporters/otlp/test/otlp_log_recordable_test.cc @@ -174,6 +174,16 @@ TEST(OtlpLogRecordable, SetInstrumentationScope) EXPECT_EQ(&rec.GetInstrumentationScope(), inst_lib.get()); } +TEST(OtlpLogRecordable, SetEventName) +{ + OtlpLogRecordable rec; + + nostd::string_view event_name = "Test Event"; + rec.SetEventId(0, event_name); + + EXPECT_EQ(rec.log_record().event_name(), event_name); +} + /** * AttributeValue can contain different int types, such as int, int64_t, * unsigned int, and uint64_t. To avoid writing test cases for each, we can