Skip to main content

Data Sources

Data sources connect Arcane to where your traces are stored. You need at least one data source configured before you can search Traces or Conversations. Choose which data source to use when searching.

Configurations - Data Sources


What you see

The Data Sources tab shows cards for each configured data source:

ElementDescription
Data source cardsEach card shows name, type (ClickHouse, Jaeger, Tempo), URL, Edit, and Delete buttons
SearchFilter data sources by name
New data sourceButton to open the New Data Source dialog

Creating a data source

Click New data source to add a connection to your trace backend.

New Data Source dialog

New Data Source dialog

FieldRequiredDescription
NameYesA friendly name for this data source (e.g., "Clickhouse Prod", "Jaeger Staging")
DescriptionNoOptional description to help your team understand what this data source is for
SourceYesChoose the type: Tempo, Jaeger, ClickHouse, or Custom API. After selecting, connection fields appear based on the type

Buttons: Cancel closes without saving. Create Data Source creates the connection.

Test Connection: After configuring your datasource, use the Test Connection button to verify Arcane can reach your backend with the configured settings. This helps catch connection and authentication issues before saving.

Tip: Use descriptive names that indicate the environment (e.g., "Prod", "Staging") or purpose. This makes it easier to choose the right data source when searching traces. Always test the connection before saving to avoid troubleshooting issues later.


Supported backends

Arcane supports these trace backends:

  • Tempo — Grafana's tracing backend. Great for large volumes and TraceQL queries.
  • Jaeger — Mature tracing backend. Works with OTLP and multiple storage backends.
  • ClickHouse — Columnar database used as a trace store. Good for analytics and large-scale deployments.
  • Custom API — Any backend that exposes traces in OpenTelemetry format. Your backend must follow the Custom API OpenAPI specification to work with Arcane.

Creating each datasource type

After selecting a datasource type in the Source dropdown, different fields appear based on your choice. Here's what you need to configure for each type:

Tempo

Tempo is Grafana's tracing backend. It's great for large volumes and TraceQL queries.

Configuration:

FieldRequiredDescription
URLYesThe URL where your Tempo instance is accessible (e.g., http://localhost:3200 or https://tempo.example.com)
AuthenticationNoOptional authentication. Choose from: None, Basic Authentication (username/password), or Bearer Token

Authentication options:

  • None — No authentication required
  • Basic Authentication — Username and password
  • Bearer Token — Bearer token authentication

Test Connection: Click Test Connection to verify Arcane can reach your Tempo instance with the configured URL and authentication. This helps catch connection issues before saving.

Tip: Use the test button to verify connectivity and authentication before saving. This saves time troubleshooting connection issues later.


Jaeger

Jaeger is a mature tracing backend that works with OTLP and multiple storage backends.

Configuration:

FieldRequiredDescription
URLYesThe URL where your Jaeger instance is accessible (e.g., http://localhost:16686 or https://jaeger.example.com)
AuthenticationNoOptional authentication. Choose from: None, Basic Authentication (username/password), or Bearer Token

Important: Arcane is only compatible with Jaeger's Query v3 API. Make sure your Jaeger instance supports the Query Service v3 API. Older versions of Jaeger will not work because Query v3 is the only API that exposes traces in OpenTelemetry format.

Authentication options:

  • None — No authentication required
  • Basic Authentication — Username and password
  • Bearer Token — Bearer token authentication

Test Connection: Click Test Connection to verify Arcane can reach your Jaeger instance with the configured URL and authentication. This helps catch connection issues before saving.

Tip: Use the test button to verify connectivity and authentication before saving. Jaeger typically runs on port 16686 for the query service. Make sure you're pointing to the correct endpoint and that your Jaeger version supports the v3 API.


ClickHouse

ClickHouse is a columnar database used as a trace store. It's good for analytics and large-scale deployments.

Configuration:

FieldRequiredDescription
HostYesThe ClickHouse server hostname or IP address (e.g., localhost or clickhouse.example.com)
PortNoThe ClickHouse HTTP port (default: 8123)
DatabaseYesThe database name where traces are stored (e.g., default or traces)
Table NameYesThe table name where traces are stored (e.g., traces or otel_traces)
ProtocolNoChoose HTTP or HTTPS (default: HTTP)
UsernameNoClickHouse username (default: default)
PasswordNoClickHouse password (leave empty if no password)
URL (Alternative)NoOptional: Use a full URL instead of individual fields for backward compatibility (e.g., http://localhost:8123/default?table=traces)

Tip: You can either fill in the individual fields (Host, Port, Database, etc.) or use the URL field. The URL field is useful for backward compatibility with existing configurations.

Test Connection: Click Test Connection to verify Arcane can connect to your ClickHouse instance with the configured settings. This helps catch connection and authentication issues before saving.


Custom API

Custom API lets you connect to any backend that exposes traces in OpenTelemetry format. Your backend must follow the Custom API OpenAPI specification.

Configuration:

FieldRequiredDescription
Base URLYesThe base URL of your custom API (e.g., https://api.example.com)
Search EndpointYesThe path for searching traces (e.g., /api/v1/traces/search)
Search by Trace ID EndpointYesThe path for searching by trace ID (e.g., /api/v1/traces/{traceId})
CapabilitiesYesCheck which features your API supports: search by query, search by attributes, filter by attribute exists, get attribute names, get attribute values
AuthenticationNoOptional authentication configuration (API key, Bearer token, etc.)
HeadersNoOptional custom headers to send with requests

Important: Your backend must implement the endpoints specified in the Custom API OpenAPI specification. Review the specification to ensure your API is compatible.

Tip: Start with the required endpoints (Search and Search by Trace ID). You can enable additional capabilities later if your API supports them.


Editing a data source

Click Edit on a data source card to change its name, description, URL, or connection settings.


Deleting a data source

Click Delete on a data source card to remove it. This prevents you from searching that backend, but doesn't delete any trace data.

Note: Make sure no one is actively using a data source before deleting it. Users searching traces will need to switch to a different data source.


When to use

  • Initial setup — Add your first data source when getting started with Arcane
  • Multiple environments — Create separate data sources for production, staging, and development
  • Different backends — Add multiple data sources if you use different trace backends for different services
  • Testing — Create a test data source to experiment without affecting production searches

Tips

  • Test connectivity — Make sure Arcane can reach the backend URL before creating the data source
  • Use clear names — Name data sources so it's obvious which environment or service they connect to
  • One per environment — Use one data source per environment to keep searches clear and avoid confusion