-
Notifications
You must be signed in to change notification settings - Fork 41
Update changelog ahead of v0.29.0 release #466
Conversation
Several changes have been made that affect configuration for the Update all usages of field syntaxField syntax no longer requires the
Tip for updating sub-parsersTo update the
|
Deprecated Example | Updated Equivalent |
---|---|
operators:
- type: regex_parser
regex: '^Foo=(?P<foo>\s.*)...'
parse_from: body
# parse_to: body (old default)
- type: move
from: foo
to: attributes.bar
... |
operators:
- type: regex_parser
regex: '^Foo=(?P<foo>\s.*)...'
parse_from: body
# parse_to: attributes (new default)
- type: move
from: attributes.foo
to: attributes.bar
... |
Remove or replace usages of preserve_to
Parsers no longer support a preserve_to
setting. Instead, the parse_from
field is preserved by default. To preserve and move the field, use the move
operator after the parse operator. To remove the field after parsing, use the remove
operator.
Deprecated Example | Updated Equivalent |
---|---|
operators:
- type: regex_parser
regex: '^Foo=(?P<foo>\s.*)...'
parse_from: body
preserve_to: attributes.backup
... |
operators:
- type: regex_parser
regex: '^Foo=(?P<foo>\s.*)...'
parse_from: body
- type: move
from: body
to: attributes.backup
... |
operators:
- type: regex_parser
regex: '^Foo=(?P<foo>\s.*)...'
parse_from: body # implicitly deleted
... |
operators:
- type: regex_parser
regex: '^Foo=(?P<foo>\s.*)...'
parse_from: body
- type: remove
field: body
... |
Replace usages of restructure
operator
The restructure
operator has been removed. Use add
, copy
, flatten
, move
, remove
, and retain
operators instead.
Deprecated Example | Updated Equivalent |
---|---|
operators:
- type: restructure
ops:
- add:
field: set_me
value: foo
- add:
field: overwrite_me
value: bar
- move:
from: details.env
to: env
- remove:
field: delete_me |
operators:
- type: add
field: body.set_me
value: foo
- type: add
field: body.overwrite_me
value: bar
- type: move
from: body.details.env
to: body.env
- type: remove
field: body.delete_me |
Replace usages of metadata
operator
The metadata
operator has been removed. Use add
, copy
, or move
operators instead.
Deprecated Example | Updated Equivalent |
---|---|
operators:
- type: metadata
attributes:
environment: production
file: 'EXPR( $$body.file )'
resource:
cluster: blue |
operators:
- type: add
field: attributes.environment
value: production
- type: copy
from: body.file
to: attributes.file
- type: add
field: resource.cluster
value: blue
- type: move
from: body.foo
to: attributes.bar |
Update filelog
attribute references
The filelog
receiver has adopted slightly different attribute names in order to match newly established semantic conventions. Configurations that previously refered to the file.*
attributes should be updated.
Deprecated Attribute | Updated Equivalent |
---|---|
|
|
|
|
|
|
|
|
Note to Vendors: A log record's Timestamp
field may now be nil
A recent change to the Log Data Model has redefined the usage of the Timestamp
field. Correspondingly, this field is no longer initialized by default. All Log Exporters should be evaluated to ensure this change is handled accordingly.
Log exporters can use the following logic to mimic the previous functionality (psuedocode):
timestamp := log.ObservedTimestamp
if log.Timestamp != nil {
timestamp = log.Timestamp
}
#467 will address the unit test failures. |
6949eae
to
aaeccfd
Compare
@open-telemetry/log-collection-approvers Please take a look. I would very much like to cut this release today in order to ensure it is in the next collector release on Wednesday. |
The explanation of changes is so nice in the PR description. Can we copy it into the CHANGELOG or if we don't want to make CHANGELOG so detailed, copy somewhere else and link from the CHANGELOG? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
I would like @dmitryax to also have a look before moving forward.
Done. I'll also include it in the release notes. |
@tigrannajaryan, would you mind taking a look at this PR as well? This would enable the timestamp logic mentioned in these release notes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great 👍
This will be the final release of this repository before merging the codebase into the contrib collector.
This contains breaking changes, some of which concern similar the same functionality as was changed in v0.28.0. SInce v0.28.0 has not yet been included in a release of the collector, I plan to create an new upgrade guide that describes all changes in both v0.28.0 and v0.29.0, and present that as a single guide for the next collector release.