Monitoring GraphQL fields with telemetry

Hi @nadavdav :wave: And welcome to the community!

If I understand correctly you want the “resolution path” on on each field that was resolved.
absinthe.resolved.field event might be the one you need.

:telemetry.attach_many(
  :resolved_paths,
  [
    [:absinthe, :resolve, :field, :stop]
  ],
  fn _event_name, _measurements, metadata, _config ->
    resolution_path = Absinthe.Resolution.path(metadata.resolution)
    
    IO.inspect(resolution_path, label: "RESOLVED PATH")
  end,
  []
)

This is supposed to print out resolved path on each resolved field. For example, for {user { friends { name }} it would emit and print 3 events:

["user"]
["user", "friends"]
["user", "friends", "name"]