Automatische instrumentatie
De Ecto-instrumentatie haakt automatisch in op uw Ecto-repo’s als de configuratie:otp_app is ingesteld op de OTP-naam van uw app. De installer configureert dit automatisch voor u.
config/config.exs heeft:
Automatische instrumentatie uitschakelen
Om automatische Ecto-instrumentatie uit te schakelen, stelt u de configuratieoptieinstrument_ecto in op false.
Ecto-preloads instrumenteren
Aangezien Ecto-preload-queries intern verschillende Elixir-processen gebruiken om de betrokken databasequeries uit te voeren, zijn enkele handmatige wijzigingen in uw codebase nodig om AppSignal ze correct te laten instrumenteren. Vervang bovenaan uw Ecto-repo-moduleuse Ecto.Repo door use Appsignal.Ecto.Repo, zoals in het volgende voorbeeld:
default_options/1 heeft, zorg er dan voor dat u super daarin aanroept om de standaardopties ervan samen te voegen met die van AppSignal’s Ecto-repo-instrumentatie:
Handmatige handler-koppeling
Voor repo’s die niet in de:ecto_repos-configuratie staan, kunt u een handler handmatig koppelen bij het starten van de supervisor van uw app. In de meeste applicaties wordt dit gedaan in de start/2-functie van uw applicatie.
Appsignal.Ecto.attach/2 aan te roepen. Het eerste argument is de naam van de OTP-app waartoe de repo behoort, en het tweede argument is de module van de repo.
Metrics
Naast het instrumenteren van uw Ecto-queries verzamelt AppSignal voor Elixir metrics over de performance van uw Ecto-repo’s:-
ecto_query_time: De tijd die de database besteedt aan het uitvoeren van elke query, getagd metrepoenhostname, en voor elke tabel metrepoensource. -
ecto_queue_time: De tijd besteed aan het wachten op een databaseverbinding uit de pool, getagd metrepoenhostname. -
ecto_decode_time: De tijd besteed aan het decoderen van query-resultaten naar Elixir-termen, getagd metrepoenhostname, en voor elke tabel metrepoensource. -
ecto_idle_time: De tijd dat de verbinding inactief was in de pool voordat deze werd opgehaald, getagd metrepoenhostname. -
ecto_total_time: De som van queue-, query- en decodeertijd, getagd metrepoenhostname, en voor elke tabel metrepoensource.
