Packages
electric
1.7.5
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.1
1.5.0
1.4.16
1.4.16-beta-1
1.4.15
1.4.14
1.4.13
1.4.12
1.4.11
1.4.10
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.14
1.1.13
1.1.12
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
retired
1.1.5
retired
1.1.4
retired
1.1.3
retired
1.1.2
1.1.1
1.1.0
1.0.24
1.0.23
1.0.22
1.0.21
1.0.20
1.0.19
1.0.18
1.0.17
1.0.15
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-beta.23
1.0.0-beta.22
1.0.0-beta.20
1.0.0-beta.19
1.0.0-beta.18
1.0.0-beta.17
1.0.0-beta.16
1.0.0-beta.15
1.0.0-beta.14
1.0.0-beta.13
1.0.0-beta.12
1.0.0-beta.11
1.0.0-beta.10
1.0.0-beta.9
1.0.0-beta.8
1.0.0-beta.7
1.0.0-beta.6
1.0.0-beta.5
1.0.0-beta.4
1.0.0-beta.3
1.0.0-beta.2
1.0.0-beta.1
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.1
0.8.0
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.5.2
0.4.4
Postgres sync engine. Sync little subsets of your Postgres data into local apps and services.
Current section
Files
Jump to
Current section
Files
lib/electric/telemetry/open_telemetry/config.ex
defmodule Electric.Telemetry.OpenTelemetry.Config do
import Config
@doc """
Configure opentelemetry_exporter and opentelemetry apps.
This function is supposed to be called from config/runtime.exs.
"""
def configure(opts) do
otlp_endpoint = Keyword.fetch!(opts, :otlp_endpoint)
otlp_headers = Keyword.fetch!(opts, :otlp_headers)
otel_resource = Keyword.fetch!(opts, :otel_resource)
otel_debug? = Keyword.fetch!(opts, :otel_debug?)
config :opentelemetry_exporter,
otlp_protocol: :http_protobuf,
otlp_endpoint: otlp_endpoint,
otlp_headers: otlp_headers,
otlp_compression: :gzip
otel_batch_processor =
if otlp_endpoint do
{:otel_batch_processor, %{}}
end
otel_simple_processor =
if otel_debug? do
# In this mode, each span is printed to stdout as soon as it ends, without batching.
{:otel_simple_processor, %{exporter: {:otel_exporter_stdout, []}}}
end
config :opentelemetry,
resource_detectors: [
:otel_resource_env_var,
:otel_resource_app_env,
Electric.Telemetry.OpenTelemetry.ResourceDetector
],
resource: otel_resource,
processors: [otel_batch_processor, otel_simple_processor] |> Enum.reject(&is_nil/1)
end
end