How to Exclude Specific Traces in Arize with OpenTelemetry
Hello! I'm integrating Arize into an Elixir application that already uses OpenTelemetry to trace web requests, DB queries, background jobs, and almost everything else. So I have 2 OpenTelemetry exporters in my app. Which means Arize is getting all of the traces (web, db, ...). Is there a way to tell Arize to ignore those?? I know I could set up a local collector and use a span filter, but I don't want to spin up a new Docker container for this. for reference, my config:
resource_attributes = %{
"service.name" => "specialist",
"service.version" => app_version,
"deployment.environment" => env!("MIX_ENV", :string, "dev"),
"model_id" => arize_project_name
}
# Arize headers
arize_headers = [
{"api_key", arize_api_key},
{"space_id", arize_space_key},
{"model_id", arize_project_name}
]
config :opentelemetry,
resource: resource_attributes,
sampler: {:otel_sampler_always_on, %{}},
resource_detectors: [:otel_resource_env_var, :otel_resource_app_env],
text_map_propagators: [:baggage, :trace_context],
processors: [
otel_batch_processor: %{
name: :company_processor,
exporter: {
:opentelemetry_exporter,
%{
protocol: :http_protobuf,
endpoints: [company_endpoint]
}
}
},
otel_batch_processor: %{
name: :arize_processor,
exporter: {
:opentelemetry_exporter,
%{
protocol: :http_protobuf,
endpoints: ["https://otlp.arize.com"],
headers: arize_headers
}
}
}
]
