zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

repo.exs (679B)


      1 defmodule Ecto.Integration.Repo do
      2   defmacro __using__(opts) do
      3     quote do
      4       use Ecto.Repo, unquote(opts)
      5 
      6       @query_event __MODULE__
      7                    |> Module.split()
      8                    |> Enum.map(& &1 |> Macro.underscore() |> String.to_atom())
      9                    |> Kernel.++([:query])
     10 
     11       def init(_, opts) do
     12         fun = &Ecto.Integration.Repo.handle_event/4
     13         :telemetry.attach_many(__MODULE__, [[:custom], @query_event], fun, :ok)
     14         {:ok, opts}
     15       end
     16     end
     17   end
     18 
     19   def handle_event(event, latency, metadata, _config) do
     20     handler = Process.delete(:telemetry) || fn _, _, _ -> :ok end
     21     handler.(event, latency, metadata)
     22   end
     23 end