Skip to content
This repository has been archived by the owner on Jan 12, 2019. It is now read-only.

Implement follows_from #13

Closed
hawkw opened this issue Sep 30, 2018 · 2 comments
Closed

Implement follows_from #13

hawkw opened this issue Sep 30, 2018 · 2 comments
Assignees
Labels
crate/core Issues and features relating to the `tokio-trace-core` crate kind/enhancement New feature or request
Milestone

Comments

@hawkw
Copy link
Owner

hawkw commented Sep 30, 2018

As per tokio-rs/tokio#561:

Besides just parent / child relationships, there is also a need to track more complex causality. One example is the h2 crate. The HTTP 2.0 protocol allows request / response exchanges to be multiplexed on a single TCP socket. To implement this, a dedicated task is spawned to manage the TCP socket. Each HTTP 2.0 request / response exchange interacts with the TCP socket task via message passing. Because of this structure, there is no clear parent / child relationship between the logic processing the request / response exchange and the logic that does the actual TCP work for that request / response exchange. However, we still want to track the causality to aid in debugging.

To support this goal, events may have an arbitrary number of follows_from annotations. This creates a relationship between two events from separate traces.

@hawkw hawkw added the kind/enhancement New feature or request label Sep 30, 2018
@hawkw hawkw added this to the core 0.1 milestone Oct 15, 2018
@hawkw hawkw self-assigned this Oct 24, 2018
@hawkw
Copy link
Owner Author

hawkw commented Oct 31, 2018

This is done for spans. I still need to figure out a good API for events...

@hawkw hawkw added the crate/core Issues and features relating to the `tokio-trace-core` crate label Nov 5, 2018
@hawkw hawkw modified the milestone: core 0.1 Nov 5, 2018
@hawkw
Copy link
Owner Author

hawkw commented Nov 15, 2018

The changes necessary to make this usable for Events are in the event! macro, rather than in core; it's possible to construct Events which follow from spans using the core API. Thus, I'm going to close this issue & open a new ticket to track making the event macro support this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
crate/core Issues and features relating to the `tokio-trace-core` crate kind/enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant