Comment by shanemhansen

Comment by shanemhansen 3 days ago

3 replies

To me traces (or maybe more specifically spans) are essentially a structured log with a unique ID and a reference to a parent ID.

Very open to have someone explain why I'm wrong or why they should be handled separately.

kiitos 3 days ago

Traces have a very specific data model, and corresponding limitations, which don't really accommodate log events/messages of arbitrary size. The access model for traces is also fundamentally different vs. that of logs.

  • phillipcarter 3 days ago

    There are practical limitations mostly with backend analysis tools. OTel does not define a limit on how large a span is. It’s quite common in LLM Observability to capture full prompts and LLM responses as attributes on spans, for example.

    • kiitos 3 days ago

      > There are practical limitations mostly with backend analysis tools

      Not just end-of-line analysis tools, but also initiating SDKs, and system agents, and intermediate middle-boxes -- really anything that needs to parse OTel.

      Spec > SDK > Trace > Span limits: https://opentelemetry.io/docs/specs/otel/trace/sdk/#span-lim...

      Spec > Common > Attribute limits: https://opentelemetry.io/docs/specs/otel/common/#attribute-l...

      I know the spec says the default AttributeValueLengthLimit = infinity, but...

      > It’s quite common in LLM Observability to capture full prompts and LLM responses as attributes on spans, for example.

      ...I'd love to learn about any OTel-compatible pipeline/system that supports attribute values of arbitrary size! because I've personally not seen anything that lets you get bigger than O(1MB).