Current section
Files
Jump to
Current section
Files
lib/aws_ex_ray/ecto.ex
defmodule AwsExRay.Ecto do
@moduledoc ~S"""
## USAGE
### with Ecto >= 3 - Telemetry based instrumenter
In your Application file
```elixir
defmodule MyApp.Application do
use Application
@impl Application
def start(_type, _opts) do
...
AwsExRay.Ecto.Instrumenter.attach(ecto_app_name)
...
end
end
```
`ecto_app_name` can be found in your `Repo` file as `:otp_app` value
```elixir
defmodule MyApp.Repo do
use Ecto.Repo, otp_app: :my_app, adapter: Ecto.Adapters.MyXQL
end
```
### with Ecto < 3 - Logger based
In your config file,
put `AwsExRay.Ecto.Logger` into Ecto's `:loggers` setting.
```elixir
config :my_app, MyApp.EctoRepo,
adapter: Ecto.Adapters.MySQL,
hostname: "example.org",
port: "3306",
database: "my_db",
username: "foo",
password: "bar",
loggers: [Ecto.LogEntry, AwsExRay.Ecto.Logger]
```
Then automatically record subsegment if queries called on the tracing process.
"""
end