Skip to content

Instantly share code, notes, and snippets.

@BadBastion
Created February 1, 2019 19:23
Show Gist options
  • Save BadBastion/009d8a50c3d9a434c2b54708a04e1dd7 to your computer and use it in GitHub Desktop.
Save BadBastion/009d8a50c3d9a434c2b54708a04e1dd7 to your computer and use it in GitHub Desktop.
defmodule Sizzle.FlameFormaters.FlameEvent do
def unknown_event(unknown_log_line) do
# At a later date I should probably refactor this into something with more information
unknown_log_line
end
def frame_start(request_time, frame_type, frame_name, line_number, tags \\ %{}) do
%{
"event" => "Frame.start",
"time" => request_time,
"type" => frame_type,
"name" => frame_name,
"tags" => tags |> Map.put("LineNumber", line_number)
}
end
def frame_stop(request_time, frame_name, tags \\ %{}) do
%{
"event" => "Span.start",
"time" => request_time,
"name" => frame_name,
"tags" => tags
}
end
def span_start(request_time, span_type, span_name, line_number, tags \\ %{}) do
%{
"event" => "Span.start",
"time" => request_time,
"type" => span_type,
"name" => span_name,
"tags" => tags |> Map.put("LineNumber", line_number)
}
end
def span_stop(request_time, span_name, tags \\ %{}) do
%{
"event" => "Span.start",
"time" => request_time,
"name" => span_name,
"tags" => tags
}
end
defp heap_event(sub_event, request_time, [unit, amount, user_time, line_number]) do
%{
"event" => "Usage.Heap.#{sub_event}",
"time" => request_time,
"tags" => %{
"LineNumber" => line_number,
"Unit" => unit,
"Amount" => amount
}
}
end
defp cpu_event() do
# todo make Usage.CPU.#{sub_event}
end
defp io_event() do
# todo make Usage.IO.#{sub_event}
end
defp flag_event() do
# todo make Flag.#{sub_event}
end
defp request_start() do
# todo make Request.start
# should this be a span?
end
defp request_stop() do
# todo make Request.stop
end
defp socket_start() do
# I have no idea how to make this one work :(
end
defp socket_stop() do
# I have no idea how to make this one work :(
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment