This repository has been archived by the owner on Jan 12, 2019. It is now read-only.
Add clone_span
and drop_span
hooks to Subscriber
#97
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #80
This branch adds new
clone_span
anddrop_span
methods to theSubscriber
trait, which are called when a span handle is cloned or dropped, respectively.
This allows the subscriber to track the number of span handles with a given ID,
so that a pointer (or an index into an arena) may be used as span IDs, and the
subscriber may deallocate the storage for a span when that span no longer
exists.
Both of these methods have default implementations which do nothing, so that
subscriber implementations which don't need to track this information don't need
to implement them. However, they may be overridden by subscribers which do care
about span reference counts. This is similar to the
clone_id
anddrop_id
methods offutures::executor::Notify
.This branch also allows the test support mock subscriber to expect calls to
these methods, and adds new unit tests for them.
Signed-off-by: Eliza Weisman eliza@buoyant.io