Allow logs to be mutated by LogProcessor #4643
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements spec PR#2681.
Resolves #4550.
Summary:
LogBuilder
toLogRecordBuilder
to better reflect the data model and the naming we can expect to see in the log appender / event API.LogProcessor#emit
toonEmit
to better match trace SDK.ReadWriteLogRecord
interface, which is passed toLogProcessor#onEmit
instead ofLogData
. This is roughly aligned with tracing. However, in tracingReadWriteSpan
extendsSpan
andReadableSpan
. This separation ofSpan
for updating andReadableSpan
for reading isn't needed in the log SDK because there isn't aLogProcessor
onStart
andonEnd
which have different read / write semantics.ReadWriteLogRecord
has atoLogData()
method, which is called by the simple and batch log processor to convert the data to an immutable representation before callingLogExporter#export(Collection<LogData>)
.setAttribute(AttributeKey<T>, T)
), rename multi attribute setter tosetAllAttributes(Attributes)
to mirror tracing