Skip to content

Commit ead4cc3

Browse files
committed
Fix dialyzer warnings
1 parent f266120 commit ead4cc3

File tree

4 files changed

+17
-63
lines changed

4 files changed

+17
-63
lines changed

lib/sentry/client.ex

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,8 @@ defmodule Sentry.Client do
123123
{:ok, id} ->
124124
{:ok, id}
125125

126-
{:error, {status, headers, body}} ->
127-
{:error, ClientError.server_error(status, headers, body)}
128-
129-
{:error, reason} ->
130-
{:error, ClientError.new(reason)}
126+
{:error, %ClientError{} = error} ->
127+
{:error, error}
131128
end
132129
end
133130

lib/sentry/opentelemetry/span_record.ex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
defmodule Sentry.Opentelemetry.SpanRecord do
22
require Record
3+
require OpenTelemetry
34

45
@fields Record.extract(:span, from_lib: "opentelemetry/include/otel_span.hrl")
56
Record.defrecordp(:span, @fields)
@@ -54,7 +55,7 @@ defmodule Sentry.Opentelemetry.SpanRecord do
5455
defp cast_timestamp(nil), do: nil
5556

5657
defp cast_timestamp(timestamp) do
57-
nano_timestamp = :opentelemetry.timestamp_to_nano(timestamp)
58+
nano_timestamp = OpenTelemetry.timestamp_to_nano(timestamp)
5859
{:ok, datetime} = DateTime.from_unix(div(nano_timestamp, 1_000_000), :millisecond)
5960

6061
DateTime.to_iso8601(datetime)

lib/sentry/transport/sender.ex

Lines changed: 7 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule Sentry.Transport.Sender do
33

44
use GenServer
55

6-
alias Sentry.{Envelope, Event, Transport, Transaction, LoggerUtils}
6+
alias Sentry.{Envelope, Event, Transport, Transaction}
77

88
require Logger
99

@@ -61,64 +61,14 @@ defmodule Sentry.Transport.Sender do
6161

6262
@impl GenServer
6363
def handle_cast({:send, client, %Transaction{} = transaction}, %__MODULE__{} = state) do
64-
envelope = Envelope.from_transaction(transaction)
65-
66-
envelope
67-
|> Transport.encode_and_post_envelope(client)
68-
|> maybe_log_send_result([transaction])
64+
_ =
65+
transaction
66+
|> Envelope.from_transaction()
67+
|> Transport.encode_and_post_envelope(client)
6968

70-
# We sent an event, so we can decrease the number of queued events.
71-
Transport.SenderPool.decrease_queued_events_counter()
69+
# We sent a transaction, so we can decrease the number of queued transactions.
70+
Transport.SenderPool.decrease_queued_transactions_counter()
7271

7372
{:noreply, state}
7473
end
75-
76-
## Helpers
77-
78-
defp maybe_log_send_result(send_result, events) do
79-
if Enum.any?(events, fn item ->
80-
case item do
81-
%Event{} -> item.source == :logger
82-
_ -> false
83-
end
84-
end) do
85-
:ok
86-
else
87-
message =
88-
case send_result do
89-
{:error, {:invalid_json, error}} ->
90-
"Unable to encode JSON Sentry error - #{inspect(error)}"
91-
92-
{:error, {:request_failure, last_error}} ->
93-
case last_error do
94-
{kind, data, stacktrace}
95-
when kind in [:exit, :throw, :error] and is_list(stacktrace) ->
96-
Exception.format(kind, data, stacktrace)
97-
98-
_other ->
99-
"Error in HTTP Request to Sentry - #{inspect(last_error)}"
100-
end
101-
102-
{:error, http_reponse} ->
103-
{status, headers, _body} = http_reponse
104-
105-
error_header =
106-
:proplists.get_value("X-Sentry-Error", headers, nil) ||
107-
:proplists.get_value("x-sentry-error", headers, nil) || ""
108-
109-
if error_header != "" do
110-
"Received #{status} from Sentry server: #{error_header}"
111-
else
112-
"Received #{status} from Sentry server"
113-
end
114-
115-
result ->
116-
result
117-
end
118-
119-
if message do
120-
LoggerUtils.log(fn -> ["Failed to send Sentry event. ", message] end)
121-
end
122-
end
123-
end
12474
end

lib/sentry/transport/sender_pool.ex

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ defmodule Sentry.Transport.SenderPool do
5858
:counters.sub(counter, 1, 1)
5959
end
6060

61+
@spec decrease_queued_transactions_counter() :: :ok
62+
def decrease_queued_transactions_counter do
63+
counter = :persistent_term.get(@queued_transactions_key)
64+
:counters.sub(counter, 1, 1)
65+
end
66+
6167
@spec get_queued_events_counter() :: non_neg_integer()
6268
def get_queued_events_counter do
6369
counter = :persistent_term.get(@queued_events_key)

0 commit comments

Comments
 (0)