Skip to content

Commit

Permalink
release 1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mithereal committed Jul 12, 2022
1 parent e7271ab commit cd11872
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 15 deletions.
12 changes: 5 additions & 7 deletions lib/result.ex
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ defmodule Speedtest.Result do
upload = upload_size_total_mb / upload_total_time_in_sec

upload_avg_sec = upload_total_time_in_sec / Enum.count(upload_reply)
upload_avg_sec = upload_avg_sec * Enum.count(upload_reply)
upload_avg_sec = upload_size_total_bytes / upload_avg_sec

download_times =
Expand All @@ -59,18 +58,17 @@ defmodule Speedtest.Result do
download_size_total_bytes = Enum.sum(download_sizes)
download_size_total_mb = download_size_total_bytes / 1_000_000

download = (8 * download_size_total_mb ) / download_time_in_sec
download = 16 * download_size_total_mb / download_time_in_sec

download_avg_sec = download_time_in_sec / Enum.count(download_reply)
download_avg_sec = download_avg_sec * Enum.count(download_reply)
download_avg_sec = download_size_total_bytes / download_avg_sec

client = %{speedtest.config.client | ispdlavg: download_avg_sec}
client = %{client | ispulavg: upload_avg_sec}
client = %{speedtest.config.client | ispdlavg: trunc(Float.round(download_avg_sec))}
client = %{client | ispulavg: trunc(Float.round(upload_avg_sec))}

result = %Result{
download: download,
upload: upload,
download: Float.round(download, 2),
upload: Float.round(upload, 2),
ping: speedtest.selected_server.ping,
server: speedtest.selected_server,
client: client,
Expand Down
19 changes: 11 additions & 8 deletions lib/speedtest.ex
Original file line number Diff line number Diff line change
Expand Up @@ -147,16 +147,17 @@ defmodule Speedtest do

responses =
Enum.map(data, fn {url, size} ->
{time_in_microseconds, return} =
:timer.tc(fn ->
headers = [{"Content-length", size}]
body = ""
{_, reply} = HTTPoison.post(url, body, headers)
reply
end)
start_ms = System.monotonic_time(:milliseconds)

time_in_seconds = time_in_microseconds / 1_000_000
headers = [{"Content-length", size}]
body = ""
{_, reply} = HTTPoison.post(url, body, headers)
reply

end_ms = System.monotonic_time(:milliseconds)
diff = end_ms - start_ms

time_in_seconds = diff / 1_000
%{elapsed_time: time_in_seconds, bytes: size, url: url}
end)

Expand All @@ -179,6 +180,8 @@ defmodule Speedtest do
s.lat,
s.lon
])
|> Float.round()
|> trunc()

Map.put(s, :distance, distance)
end)
Expand Down

0 comments on commit cd11872

Please sign in to comment.