Skip to content

Commit 518b6aa

Browse files
committed
Add add_metadata functions for segment and subsegment
1 parent 3a455ec commit 518b6aa

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

lib/aws_ex_ray/segment.ex

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,17 @@
9494
Map.put(seg, :annotation, annotation)
9595
end
9696

97+
@spec add_metadata(
98+
seg :: t,
99+
metadata :: map
100+
) :: t
101+
def add_metadata(seg, metadata) do
102+
metadata
103+
|> Enum.reduce(seg, fn {key, value}, seg ->
104+
Map.put(seg, :metadata, Map.put(seg.metadata, key, value))
105+
end)
106+
end
107+
97108
@spec set_http_request(seg :: t, req :: HTTPRequest.t) :: t
98109
def set_http_request(seg, req) do
99110
put_in(seg.http.request, req)

lib/aws_ex_ray/subsegment.ex

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@
6666
put_in(seg.segment.annotation, annotation)
6767
end
6868

69+
@spec add_metadata(
70+
seg :: t,
71+
metadata :: map
72+
) :: t
73+
def add_metadata(seg, metadata) do
74+
put_in(seg.segment, Segment.add_metadata(seg.segment, metadata))
75+
end
76+
6977
@spec set_aws(seg :: t, params :: map) :: t
7078
def set_aws(seg, params) do
7179
Map.put(seg, :aws, params)

0 commit comments

Comments
 (0)