Fix Float.round error in traffic graph calculations

This commit is contained in:
Graham McIntire 2026-01-05 13:34:54 -06:00
parent 2212bf9134
commit 703dfcf58c
No known key found for this signature in database
2 changed files with 4 additions and 4 deletions

View file

@ -305,7 +305,7 @@ defmodule ToweropsWeb.EquipmentLive.Show do
|> Enum.chunk_every(2, 1, :discard)
|> Enum.map(fn [{t1, in1, _out1}, {t2, in2, _out2}] ->
time_diff = t2 |> DateTime.diff(t1, :second) |> max(1)
bps = ((in2 - in1) * 8 / time_diff) |> max(0) |> Float.round(2)
bps = ((in2 - in1) * 8 / time_diff) |> max(0) |> :erlang.float() |> Float.round(2)
%{
x: DateTime.to_unix(t2, :millisecond),
@ -318,7 +318,7 @@ defmodule ToweropsWeb.EquipmentLive.Show do
|> Enum.chunk_every(2, 1, :discard)
|> Enum.map(fn [{t1, _in1, out1}, {t2, _in2, out2}] ->
time_diff = t2 |> DateTime.diff(t1, :second) |> max(1)
bps = ((out2 - out1) * 8 / time_diff) |> max(0) |> Float.round(2)
bps = ((out2 - out1) * 8 / time_diff) |> max(0) |> :erlang.float() |> Float.round(2)
%{
x: DateTime.to_unix(t2, :millisecond),

View file

@ -188,7 +188,7 @@ defmodule ToweropsWeb.GraphLive.Show do
|> Enum.chunk_every(2, 1, :discard)
|> Enum.map(fn [{t1, in1, _out1}, {t2, in2, _out2}] ->
time_diff = t2 |> DateTime.diff(t1, :second) |> max(1)
bps = ((in2 - in1) * 8 / time_diff) |> max(0) |> Float.round(2)
bps = ((in2 - in1) * 8 / time_diff) |> max(0) |> :erlang.float() |> Float.round(2)
%{
x: DateTime.to_unix(t2, :millisecond),
@ -201,7 +201,7 @@ defmodule ToweropsWeb.GraphLive.Show do
|> Enum.chunk_every(2, 1, :discard)
|> Enum.map(fn [{t1, _in1, out1}, {t2, _in2, out2}] ->
time_diff = t2 |> DateTime.diff(t1, :second) |> max(1)
bps = ((out2 - out1) * 8 / time_diff) |> max(0) |> Float.round(2)
bps = ((out2 - out1) * 8 / time_diff) |> max(0) |> :erlang.float() |> Float.round(2)
%{
x: DateTime.to_unix(t2, :millisecond),