The SDK initialization options always take precedence over the environment
variables.
Application Name
You can customize the application name that will be logged with the traces. This is useful to identify if you have multiple services with OpenLLMetry installed.Resource Attributes
You can further add any custom attributes to the OpenTelemetry resource. This is useful to add information about the environment where the application is running, such as the environment name, the application version, etc.Base URL
This defines the OpenTelemetry endpoint to connect to. It defaults to https://api.traceloop.com If you prefix it withhttp
or https
, it will use the OTLP/HTTP protocol.
Otherwise, it will use the OTLP/GRPC protocol.
For configuring this to different observability platform, check out our integrations section.
The OpenTelemetry standard defines that the actual endpoint should always end
with
/v1/traces
. Thus, if you specify a base URL, we always append
/v1/traces
to it. This is similar to how OTEL_EXPORTER_OTLP_ENDPOINT
works
in all OpenTelemetry SDKs.API Key
If set, this is sent as a bearer token on the Authorization header. Traceloop, for example, use this to authenticate incoming traces and requests.If this is not set, and the base URL is set to
https://api.traceloop.com
,
the SDK will generate a new API key automatically with the Traceloop
dashboard.Headers
If set, this is sent as-is as HTTP headers. This is useful for custom authentication protocols that some observability platforms require. The format follows the W3C Correlation-Context format, i.e.key1=value1,key2=value2
. If you need spaces, use %20
.
This is similar to how OTEL_EXPORTER_OTLP_HEADERS
works in all OpenTelemetry SDKs.
If this is set, the API key is ignored.
Custom Traces Exporter
If, for some reason, you cannot use the OTLP/HTTP or OTLP/GRPC exporter that is provided with the SDK, you can set a custom exporter (for example, to Jaeger, Zipkin, or others)If this is set, Base URL, API key and headers configurations are ignored.
Disable Batch
By default, the SDK batches spans using the OpenTelemetry batch span processor. When working locally, sometime you may wish to disable this behavior. You can do that with this flag.Disable Tracing of Prompt Content
By default, OpenLLMetry logs prompts, completions, and embeddings to span attributes. However, you may want to disable this logging for privacy reasons, as they may contain highly sensitive data from your users. You may also simply want to reduce the size of your traces.Control Logging
You can control the logging level of the SDK. By default, the SDK logs at the WARN level.Control Telemetry
The SDK collects anonymous telemetry data to help us identify and fix issues with instrumentations. You can disable this feature if needed.For more information about what telemetry data we collect, please see our
Privacy
documentation.
Enrich Collected Metrics and Traces
By default, the SDK enriches collected metrics and traces with additional information such as the OpenAI token usage for streaming requests. This may affect latency on the first request, as it needs to fetch the embeddings.Traceloop Sync
By default, Traceloop Sync (for prompts and other configurations) is disabled, even if you’re sending traces to Traceloop. If you’re using the prompt registry, you should enable it. To enable it or change any defaults, see the example below. The values listed are the default values, so you don’t need to set them unless you want to change the defaults.Traceloop Sync must be enabled in order to use the prompt registry.