prometheus-phoenix
prometheus-phoenix copied to clipboard
Phoenix 1.4 Phoenix.Socket struct change
trafficstars
It looks like in Phoenix 1.4 the Phoenix.Socket struct no longer has the :transport_name field which in turns yields the following error:
[error] Instrumenter SampleApp.PhoenixInstrumenter.phoenix_channel_join/3 failed.
** (KeyError) key :transport_name not found in: %Phoenix.Socket{assigns: %{}, channel: Phoenix.LiveReloader.Channel, channel_pid: nil, endpoint: SampleAppWeb.Endpoint, handler:
Phoenix.LiveReloader.Socket, id: nil, join_ref: "1", joined: false, private: %{log_handle_in: :debug, log_join: :info}, pubsub_server: SampleApp.PubSub, ref: nil, serializer: Phoenix.Socket.V2.JSONSerializer, topic: "phoenix:live_reload", transport: :websocket, transport_pid: #PID<0.695.0>}
Any thoughts on getting around this with Phoenix 1.4?
Thanks!
Possible temporary solution would be overriding default list of labels and using :transport, not :transport_name here.
For if anyone else comes across this issue, I changed my config as follows:
config :prometheus, SampleApp.PhoenixInstrumenter,
controller_call_labels: [:controller, :action],
channel_join_labels: [:channel, :topic, :transport]
Any plan to solve this?
This should work with phoenix 1.4: #13
Can confirm, it works for me with v1.3.0 .