Skip to content

[FEATURE] Use the tracing crate for logging in Rust engineΒ #1286

@georgeh0

Description

@georgeh0

Currently all our loggings at Rust engine are at the global scope without structure, so it's not always easy to know where a specific log entry comes from. We want to adopt the tracing crate to improve it.

Specifically, we want to:

  1. Create spans at various levels. We may have the following type of spans:
    • Flow builder(with flow name)
      • For each op (with op name)
    • Flow execution (with flow name)
      • For each source (with source name)
        • For each row
          • Evaluate: For each op (with op name)
          • Commit: For each target (with target kind)
    • Setup
      • For each flow (with specific flow name)
    • Each service handler has its own span
    • Each API call has its own span
  2. Replace various logging calls to the macros exposed by the tracing package (more information).
  3. Make sure trace entries are also emitted to logs (more information).

Metadata

Metadata

Assignees

Labels

Projects

Status

🐬 Prioritized

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions