Skip to content

Commit 8f26d96

Browse files
committed
pass context along with pubsub message
1 parent efb4cea commit 8f26d96

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

lib/acme/orders.ex

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ defmodule Acme.Orders do
33
The Orders context.
44
"""
55

6+
require OpenTelemetry.Tracer
7+
68
import Ecto.Query, warn: false
79
alias Acme.Repo
810

@@ -68,11 +70,15 @@ defmodule Acme.Orders do
6870
6971
"""
7072
def update_order(%Order{} = order, attrs) do
71-
order_changeset = Order.changeset(order, attrs)
73+
OpenTelemetry.Tracer.with_span "orders:update_order" do
74+
order_changeset = Order.changeset(order, attrs)
75+
76+
with {:ok, order} <- Repo.update(order_changeset) do
77+
ctx = OpenTelemetry.Tracer.current_span_ctx()
78+
Phoenix.PubSub.broadcast(Acme.PubSub, "orders:#{order.id}", {:order_updated, order, ctx})
7279

73-
with {:ok, order} <- Repo.update(order_changeset) do
74-
Phoenix.PubSub.broadcast(Acme.PubSub, "orders:#{order.id}", {:order_updated, order})
75-
{:ok, order}
80+
{:ok, order}
81+
end
7682
end
7783
end
7884

lib/acme_web/live/order_live/show.ex

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ defmodule AcmeWeb.OrderLive.Show do
2121
end
2222

2323
@impl true
24-
def handle_info({:order_updated, order}, socket) do
24+
def handle_info({:order_updated, order, ctx}, socket) do
25+
OpenTelemetry.Tracer.set_current_span(ctx)
26+
2527
opts = %{attributes: %{user: inspect(self())}}
2628

2729
OpenTelemetry.Tracer.with_span "order_live.show:order_updated", opts do

0 commit comments

Comments
 (0)