Skip to content

OTAP dataflow logging SDK requirements #1576

@jmacd

Description

@jmacd

From a review thread about debug and info-level logging.

We need to adopt a logging SDK for the OTAP dataflow engine to make our code base more accessible.

As an OpenTelemetry project, I think we should defer to the best practice recommended by OpenTelemetry-Rust.

While we have justified the use of a special metric SDK internally, the justification used ("multivariate", in particular) do not apply to logs and spans. We need to plan for emitting logs and/or spans in this code base, and this is an issue to discuss requirements.

The tokio tracing crate is recommended by OpenTelemetry-Rust. We believe it is compatible with our thread-per-core design, so long as the SDK is configured in a per-thread way.

Are there requirements to avoid Sync and Send traits?

This raises questions about contextual enrichment the way an OpenTelemetry logging SDK might do. While the otap-dataflow engine has a Context type where we could propagate the OTel span context, this would likely have to be introduced in the otap_df_otap::pdata::Context before we could benefit from pipeline-level tracing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions