spinframework / spinframework/spin

Rust and Python traces with KV store are not showing all KV spans in the same trace

Open
#2,582 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Rust
Stars
6.5k
Forks
310
Avg merge
1d 20h
Merged PRs (30d)
24

Description

Running this application: https://github.com/mikkelhegn/temp-o11y-spin using either make start_all or the .net Aspire host project, you're able to gather traces from all four Spin components in the application. The components are build in four different languages (Rust, Python, TyupeScript, and Go).

For the Rust and Python apps, the trace for a request, does not contain all the spans for call to the KV apis.

Rust app using spin-sdk = "3.0.1"
Python using spin-sdk == 3.2.0

See attached files for the traces.
rust-trace.json
python-trace-missing-span.json
python-trace.json
rust-trace-missing-span.json

  • Spin version (spin --version)
    spin 2.5.1 (cba6773 2024-05-14)

  • Installed plugin versions (spin plugins list --installed)
    check-for-update 0.1.0 [installed]
    cloud 0.8.0 [installed]
    cloud-gpu 0.1.0 [installed]
    js2wasm 0.6.1 [installed]
    kube 0.1.1 [installed]
    pluginify 0.7.0 [installed]
    py2wasm 0.3.2 [installed]
    trigger-command 0.1 [installed]
    trigger-message 0.0.1 [installed]
    trigger-mqtt 0.2.0 [installed]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked temp-o11y-spin reproduction using make start_all or the Aspire host project, then compare the attached complete and missing Rust/Python trace JSON files. Trace the Rust and Python KV API paths and determine why some spans are absent; done means all KV API spans appear in the request trace for both applications.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
observability
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.