@@ -47,9 +47,14 @@ We'll need a few other dependencies that Phoenix doesn't come with.
47
47
OpenTelemetry Collector and/or to self-hosted or commercial services.
48
48
- ` opentelemetry_phoenix ` : creates OpenTelemetry spans from the Elixir
49
49
` :telemetry ` events created by Phoenix.
50
- - ` opentelemetry_cowboy ` : creates OpenTelemetry spans from the Elixir
51
- ` :telemetry ` events created by the Cowboy web server (which is used by
52
- Phoenix).
50
+ - web server dependencies: There are currently two options for web servers and
51
+ each has their telemetry counterpart. Phoenix applications post 1.7.11 default
52
+ to Bandit while pre 1.7.11 default to Cowboy. Both choices are valid. Use one
53
+ of the below options based on the web server your Phoenix application uses:
54
+ - ` opentelemetry_cowboy ` : creates OpenTelemetry spans from the Elixir
55
+ ` :telemetry ` events created by the Cowboy web server
56
+ - ` opentelemetry_bandit ` : creates OpenTelemetry spans from the Elixir
57
+ ` :telemetry ` events created by the Bandit web server
53
58
54
59
``` elixir
55
60
# mix.exs
@@ -59,7 +64,10 @@ def deps do
59
64
{:opentelemetry_api , " ~> {{% param versions.otelApi %}}" },
60
65
{:opentelemetry_exporter , " ~> {{% param versions.otelExporter %}}" },
61
66
{:opentelemetry_phoenix , " ~> {{% param versions.otelPhoenix %}}" },
62
- {:opentelemetry_cowboy , " ~> {{% param versions.otelCowboy %}}" },
67
+ # for Cowboy
68
+ {:opentelemetry_cowboy , " ~> {{% param versions.otelCowboy %}}" }
69
+ # for Bandit
70
+ {:opentelemetry_bandit , " ~> {{% version-from-registry instrumentation-erlang-bandit %}}" },
63
71
]
64
72
end
65
73
```
@@ -70,8 +78,12 @@ The last two also need to be setup when your application starts:
70
78
# application.ex
71
79
@impl true
72
80
def start (_type , _args ) do
81
+ # Depending on what webserver you are using, you will either use:
73
82
:opentelemetry_cowboy .setup ()
74
83
OpentelemetryPhoenix .setup (adapter: :cowboy2 )
84
+ # or
85
+ OpentelemetryBandit .setup ()
86
+ OpentelemetryPhoenix .setup (adapter: :bandit )
75
87
end
76
88
```
77
89
0 commit comments