[DebugExporter] Add EventName from LogRecord to output (#11967)
#### Description 1. Adds event name from LogRecord to debug exporter. 2. Also modified the example config file to include logs too. (It only had traces/metrics). Not really required for this change, but hope that is okay to club into same PR! #### Link to tracking issue Fixes #11966 #### Testing Manually tested with Otel client that exported a LogRecord with event name and without event name. (1st time contributor here, still learning the process.) --------- Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com> Co-authored-by: Alex Boten <223565+codeboten@users.noreply.github.com>
This commit is contained in:
parent
3132112d7d
commit
12b0369f16
|
|
@ -0,0 +1,25 @@
|
|||
# Use this changelog template to create an entry for release notes.
|
||||
|
||||
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
|
||||
change_type: enhancement
|
||||
|
||||
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
|
||||
component: debugexporter
|
||||
|
||||
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
|
||||
note: "Add EventName to debug exporter for Logs. EventName was added as top-level field in the LogRecord from 1.5.0 of proto definition."
|
||||
|
||||
# One or more tracking issues or pull requests related to the change
|
||||
issues: [11966]
|
||||
|
||||
# (Optional) One or more lines of additional information to render under the primary note.
|
||||
# These lines will be padded with 2 spaces and then inserted directly into the document.
|
||||
# Use pipe (|) for multiline entries.
|
||||
subtext:
|
||||
|
||||
# Optional: The change log or logs in which this entry should be included.
|
||||
# e.g. '[user]' or '[user, api]'
|
||||
# Include 'user' if the change is relevant to end users.
|
||||
# Include 'api' if there is a change to a library API.
|
||||
# Default: '[user]'
|
||||
change_logs: []
|
||||
|
|
@ -33,5 +33,9 @@ service:
|
|||
receivers: [otlp]
|
||||
processors: [memory_limiter, batch]
|
||||
exporters: [debug]
|
||||
logs:
|
||||
receivers: [otlp]
|
||||
processors: [memory_limiter, batch]
|
||||
exporters: [debug]
|
||||
|
||||
extensions: [zpages]
|
||||
|
|
|
|||
|
|
@ -38,6 +38,9 @@ func (textLogsMarshaler) MarshalLogs(ld plog.Logs) ([]byte, error) {
|
|||
buf.logEntry("Timestamp: %s", lr.Timestamp())
|
||||
buf.logEntry("SeverityText: %s", lr.SeverityText())
|
||||
buf.logEntry("SeverityNumber: %s(%d)", lr.SeverityNumber(), lr.SeverityNumber())
|
||||
if lr.EventName() != "" {
|
||||
buf.logEntry("EventName: %s", lr.EventName())
|
||||
}
|
||||
buf.logEntry("Body: %s", valueToString(lr.Body()))
|
||||
buf.logAttributes("Attributes", lr.Attributes())
|
||||
buf.logEntry("Trace ID: %s", lr.TraceID())
|
||||
|
|
|
|||
|
|
@ -39,6 +39,25 @@ func TestLogsText(t *testing.T) {
|
|||
in: testdata.GenerateLogs(2),
|
||||
out: "two_records.out",
|
||||
},
|
||||
{
|
||||
name: "log_with_event_name",
|
||||
in: func() plog.Logs {
|
||||
ls := plog.NewLogs()
|
||||
l := ls.ResourceLogs().AppendEmpty().ScopeLogs().AppendEmpty().LogRecords().AppendEmpty()
|
||||
l.SetTimestamp(pcommon.NewTimestampFromTime(time.Date(2020, 2, 11, 20, 26, 13, 789, time.UTC)))
|
||||
l.SetSeverityNumber(plog.SeverityNumberInfo)
|
||||
l.SetSeverityText("Info")
|
||||
l.SetEventName("event_name")
|
||||
l.Body().SetStr("This is a log message")
|
||||
attrs := l.Attributes()
|
||||
attrs.PutStr("app", "server")
|
||||
attrs.PutInt("instance_num", 1)
|
||||
l.SetSpanID([8]byte{0x01, 0x02, 0x04, 0x08})
|
||||
l.SetTraceID([16]byte{0x08, 0x04, 0x02, 0x01})
|
||||
return ls
|
||||
}(),
|
||||
out: "log_with_event_name.out",
|
||||
},
|
||||
{
|
||||
name: "logs_with_embedded_maps",
|
||||
in: func() plog.Logs {
|
||||
|
|
|
|||
18
exporter/debugexporter/internal/otlptext/testdata/logs/log_with_event_name.out
vendored
Normal file
18
exporter/debugexporter/internal/otlptext/testdata/logs/log_with_event_name.out
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
ResourceLog #0
|
||||
Resource SchemaURL:
|
||||
ScopeLogs #0
|
||||
ScopeLogs SchemaURL:
|
||||
InstrumentationScope
|
||||
LogRecord #0
|
||||
ObservedTimestamp: 1970-01-01 00:00:00 +0000 UTC
|
||||
Timestamp: 2020-02-11 20:26:13.000000789 +0000 UTC
|
||||
SeverityText: Info
|
||||
SeverityNumber: Info(9)
|
||||
EventName: event_name
|
||||
Body: Str(This is a log message)
|
||||
Attributes:
|
||||
-> app: Str(server)
|
||||
-> instance_num: Int(1)
|
||||
Trace ID: 08040201000000000000000000000000
|
||||
Span ID: 0102040800000000
|
||||
Flags: 0
|
||||
Loading…
Reference in New Issue