Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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 @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

- 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 All @@ -84,6 +85,7 @@ def __init__(
severity_number: Optional[SeverityNumber] = None,
body: AnyValue = None,
attributes: Optional[_ExtendedAttributes] = None,
event_name: Optional[str] = None,
) -> None: ...

def __init__(
Expand All @@ -99,6 +101,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 +115,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 @@ -222,9 +223,10 @@ def __init__(
resource: Resource | None = None,
attributes: _ExtendedAttributes | None = None,
limits: LogLimits | None = _UnsetLogLimits,
event_name: str | None = None,
): ...

def __init__(
def __init__( # pylint:disable=too-many-locals
self,
timestamp: int | None = None,
observed_timestamp: int | None = None,
Expand All @@ -238,6 +240,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 +278,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 +322,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