Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce start_span, stop_span #132

Open
rlipscombe opened this issue May 1, 2024 · 0 comments
Open

Introduce start_span, stop_span #132

rlipscombe opened this issue May 1, 2024 · 0 comments

Comments

@rlipscombe
Copy link

rlipscombe commented May 1, 2024

I want to report a span that, er, spans over an asynchronous call to a gen_statem, using gen_statem:send_request() and gen_statem:check_response().

It would be useful if there were telemetry:start_span() and telemetry:stop_span() functions for this use case.

An example without gen_statem might make this clearer:

Span = telemetry:start_span([worker, processing], StartMetadata),
Parent = self(),
{MRef, Pid} = spawn_monitor(fun() -> Result = do_some_work(), Parent ! {reply, Result} end),
receive
    {reply, Result} ->
        telemetry:stop_span([worker, processing], Span);
    {'DOWN', Ref, process, Pid, Error} when Error /= normal ->
        telemetry:error_span([worker, processing], Span)
end.

...something like that, anyway.

Maybe the EventPrefix ought to be stashed in the span, to avoid repetition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant