Replacing Phoenix.Instrumenter with Telemetry events in AppSignal's Phoenix integration

TL;DR - if plug+plug_opts metadata are both atoms, you have controller+action, otherwise log only the plug.

Hi Jeff!

We moved it to the router so we instrument more cases. Previously, plugs were rarely instrumented. So in this case, the controller+action were replaced by plug+plug_opts metadata. What we do is that, if plug and plug_opts are both atoms, then we can assume they are a controller+action.

You can see what we do here:

https://github.com/phoenixframework/phoenix/blob/master/lib/phoenix/logger.ex#L160

I hope this helps!