Skip to content

Commit 860a9a3

Browse files
committed
CLeanup repeated code
1 parent 1b16782 commit 860a9a3

File tree

1 file changed

+12
-20
lines changed

1 file changed

+12
-20
lines changed

lib/ddtrace/propagation/grpc_propagator.rb

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -38,40 +38,32 @@ def valid?
3838
end
3939

4040
def trace_id
41-
value = if @metadata[GRPC_METADATA_TRACE_ID].is_a?(Array)
42-
@metadata[GRPC_METADATA_TRACE_ID].first.to_i
43-
else
44-
@metadata[GRPC_METADATA_TRACE_ID].to_i
45-
end
41+
value = metadata_for_key(GRPC_METADATA_TRACE_ID).to_i
4642
value if (1..Span::EXTERNAL_MAX_ID).cover? value
4743
end
4844

4945
def parent_id
50-
value = if @metadata[GRPC_METADATA_PARENT_ID].is_a?(Array)
51-
@metadata[GRPC_METADATA_PARENT_ID].first.to_i
52-
else
53-
@metadata[GRPC_METADATA_PARENT_ID].to_i
54-
end
46+
value = metadata_for_key(GRPC_METADATA_PARENT_ID).to_i
5547
value if (1..Span::EXTERNAL_MAX_ID).cover? value
5648
end
5749

5850
def sampling_priority
59-
value = if @metadata[GRPC_METADATA_SAMPLING_PRIORITY].is_a?(Array)
60-
@metadata[GRPC_METADATA_SAMPLING_PRIORITY].first
61-
else
62-
@metadata[GRPC_METADATA_SAMPLING_PRIORITY]
63-
end
51+
value = metadata_for_key(GRPC_METADATA_SAMPLING_PRIORITY)
6452
value && value.to_i
6553
end
6654

6755
def origin
68-
value = if @metadata[GRPC_METADATA_ORIGIN].is_a?(Array)
69-
@metadata[GRPC_METADATA_ORIGIN].first
70-
else
71-
@metadata[GRPC_METADATA_ORIGIN]
72-
end
56+
value = metadata_for_key(GRPC_METADATA_ORIGIN)
7357
value if value != ''
7458
end
59+
60+
private
61+
62+
def metadata_for_key(key)
63+
# metadata can be arrays if there's multiple headers with the same values
64+
return @metadata[key].first if @metadata[key].is_a?(Array)
65+
@metadata[key]
66+
end
7567
end
7668
end
7769
end

0 commit comments

Comments
 (0)