Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased

- Update OTLP proto to v1.7 [#4645](https://github.com/open-telemetry/opentelemetry-python/pull/4645).
- Add `event_name` as a top level field in the `LogRecord`. Events are now simply logs with the
`event_name` field set, the logs SDK should be used to emit events ([#4652](https://github.com/open-telemetry/opentelemetry-python/pull/4652)).
- Update OTLP gRPC/HTTP exporters: the export timeout is now inclusive of all retries and backoffs.
A +/-20% jitter was added to all backoffs. A pointless 32 second sleep that occurred after all retries
had completed/failed was removed.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ def _encode_log(log_data: LogData) -> PB2LogRecord:
),
dropped_attributes_count=log_data.log_record.dropped_attributes,
severity_number=log_data.log_record.severity_number.value,
event_name=log_data.log_record.event_name,
)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ def __init__(
severity_number: Optional[SeverityNumber] = None,
body: AnyValue = None,
attributes: Optional[_ExtendedAttributes] = None,
event_name: Optional[str] = None,
) -> None: ...

@overload
Expand Down Expand Up @@ -99,6 +100,7 @@ def __init__(
severity_number: Optional[SeverityNumber] = None,
body: AnyValue = None,
attributes: Optional[_ExtendedAttributes] = None,
event_name: Optional[str] = None,
) -> None:
self.timestamp = timestamp
if observed_timestamp is None:
Expand All @@ -112,6 +114,7 @@ def __init__(
self.severity_number = severity_number
self.body = body
self.attributes = attributes
self.event_name = event_name


class Logger(ABC):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ def __init__(
resource: Resource | None = None,
attributes: _ExtendedAttributes | None = None,
limits: LogLimits | None = _UnsetLogLimits,
event_name: str | None = None,
): ...

@overload
Expand All @@ -224,7 +225,7 @@ def __init__(
limits: LogLimits | None = _UnsetLogLimits,
): ...

def __init__(
def __init__( # pylint:disable=too-many-locals
self,
timestamp: int | None = None,
observed_timestamp: int | None = None,
Expand All @@ -238,6 +239,7 @@ def __init__(
resource: Resource | None = None,
attributes: _ExtendedAttributes | None = None,
limits: LogLimits | None = _UnsetLogLimits,
event_name: str | None = None,
):
if trace_id or span_id or trace_flags:
warnings.warn(
Expand Down Expand Up @@ -275,6 +277,7 @@ def __init__(
max_value_len=limits.max_attribute_length,
extended_attributes=True,
),
"event_name": event_name,
}
)
self.resource = (
Expand Down Expand Up @@ -318,6 +321,7 @@ def to_json(self, indent: int | None = 4) -> str:
),
"trace_flags": self.trace_flags,
"resource": json.loads(self.resource.to_json()),
"event_name": self.event_name if self.event_name else "",
},
indent=indent,
cls=BytesEncoder,
Expand Down
3 changes: 2 additions & 1 deletion opentelemetry-sdk/tests/logs/test_log_record.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,12 @@ def test_log_record_to_json(self):
"sequence": [1, 2],
"str": "string",
},
event_name="a.event",
)

self.assertEqual(
log_record.to_json(indent=None),
'{"body": {"key": "logLine", "bytes": "MTIz"}, "severity_number": null, "severity_text": null, "attributes": {"mapping": {"key": "value"}, "none": null, "sequence": [1, 2], "str": "string"}, "dropped_attributes": 0, "timestamp": "1970-01-01T00:00:00.000000Z", "observed_timestamp": "1970-01-01T00:00:00.000000Z", "trace_id": "", "span_id": "", "trace_flags": null, "resource": {"attributes": {"service.name": "foo"}, "schema_url": ""}}',
'{"body": {"key": "logLine", "bytes": "MTIz"}, "severity_number": null, "severity_text": null, "attributes": {"mapping": {"key": "value"}, "none": null, "sequence": [1, 2], "str": "string"}, "dropped_attributes": 0, "timestamp": "1970-01-01T00:00:00.000000Z", "observed_timestamp": "1970-01-01T00:00:00.000000Z", "trace_id": "", "span_id": "", "trace_flags": null, "resource": {"attributes": {"service.name": "foo"}, "schema_url": ""}, "event_name": "a.event"}',
)

def test_log_record_to_json_serializes_severity_number_as_int(self):
Expand Down
Loading