Open Telemetry (OTel)
We currently accept Open Telemetry metrics from Claude Code. Other tools coming soon.
What is OTel?
OTel is an open-source, vendor-neutral standard for generating, collecting, and exporting telemetry data such as metrics, logs, and traces. Multitudes uses OpenTelemetry to receive your AI tooling usage data. For more on OpenTelemetry, see the official documentation.
How it works
What metrics we can ingest and process
We can ingest and process OTel data for the Claude Code Team and Individual plans, and Codex.
If you're on the Claude Code API or Enterprise plan, head to our docs here: Claude Code.
If you'd like to bring in Open Telemetry data from other AI tools besides Claude Code or Codex, let us know at support@multitudes.com.
Integration options
We can ingest OTel metrics in two different ways:
1. Multitudes-hosted collector
Claude Code users send metrics directly to the Multitudes Open Telemetry collector running in Multitudes infrastructure. This avoids having to host a collector in your own infrastructure. To do this, follow steps below: Multitudes-hosted collector
2. Self-hosted collector
You either run your own collector or the Multitudes Open Telemetry collector in your infrastructure. The collector ingests metrics from Claude Code users and forwards them to Multitudes. To do this, follow the steps below: Self-hosted collector
Multitudes-hosted collector
When using the Multitudes-hosted collector, each user sends their telemetry data directly to the Multitudes endpoint. For this, each user needs a configuration file that specifies the endpoint to use and an Authorization header.
Apply the following configuration to each user's machine:
For Claude:
Open the
~/.claude/settings.json.Add the following lines, using an API key that has been generated (following the instructions below):
We’re starting new work to measure AI effectiveness. If you’d like to help us out and be beta testers for these upcoming features, include the following in your ~/.claude/settings.json:
Tool usage logging
This turns on detailed logging of tool usage in telemetry traces, which includes Bash commands, MCP server and tool names, skill names, prompt length, and the input arguments passed to each tool. This redacts the contents of prompts unless you have specifically enabled that (see next section).
Bonus: Prompt logging
If you like, you can also turn this on to send us the contents of prompts that your organization is using. We do not receive the contents of any attached files unless they are explicitly included in the prompt text.
More about these environment variables in the Claude Code docs.
Note that enabling both of these settings is optional and will not change anything in the Multitudes app now. But enabling this data will give us real user data to test new features on and you’ll gain early access to these new features as we build them.
The Authorization header can be an Organization API key if you are provisioning this file via MDM and want to use the same key across multiple users. If you would prefer that each user has their own key, they can create a Personal API key and update their ~/.claude/settings.json file.
AWS Bedrock: when using Bedrock the user.email attribute must be configured manually via the OTEL_RESOURCE_ATTRIBUTES environment variable. This is because Bedrock authentication does not automatically provide user email information. Each user will need to add their work email address (or whichever email is associated with their user in Multitudes):
For Codex:
Open the
~/.codex/config.toml.Add the following lines:
Each user should generate a personal API key using the instructions below
Replace
<replace with your api key>with your actual API key. Restart any sessions you might have in Claude.
Self-hosted collector
When using the self-hosted collector, each user sends their telemetry data to a collector run in your infrastructure, from which aggregated metrics are sent to Multitudes.
Running the collector
Set up the Multitudes OTel Collector. Detailed instructions can be found here.
Follow the instructions below to generate an Organization API key and run the collector using this key.
Sending from an existing collector
If you have an existing collector, update your config to add an exporter that sends to the Multitudes ingestion endpoint. The main sections to configure are in
exporters,processors, andservice.Add a new
otlphttp/multitudesexporter
Add the new
otlphttp/multitudesto your existing metrics and logs pipelines:
Follow the instructions below to generate an Organization API key and run the collector using this key.
Sending data to the collector
Apply the following configuration to each user's machine:
AWS Bedrock: when using Bedrock the user.email attribute must be configured manually via the OTEL_RESOURCE_ATTRIBUTES environment variable. This is because Bedrock authentication does not automatically provide user email information. Each user will need to add their work email address (or whichever email is associated with their user in Multitudes):
Checking data ingestion status
Once you are sending data to Multitudes, either directly or via the self-hosted option, you can check the ingestion status in the Multitudes app, Open the OpenTelemetry integration modal to check whether your data is coming through.


Once data is being received successfully, your Claude usage metrics will appear in Multitudes after our batch processing pipeline runs. Our pipeline runs daily, so in most cases you should expect to see metrics populate in the Multitudes App within up to one day of sending data.
Generating an API Key
All users can create personal API keys for sending OTel metrics directly to Multitudes. Owners can create organization API keys for running a central OTel collector that then forwards aggregated metrics to Multitudes
From the Settings > API Keys page, click "+ Generate New Key" on the top right corner of the page. This will pop-up a modal.

In the modal, select your key type. This depends on your organization setup.
If you're running a self-hosted OTel collector or have only a single API key for everyone in the organization, then you can select the Organization key type. If you'd like team members to have separate API keys, then select Personal.
Select "Write" for Open Telemetry. Once this is done, click "Create key".

After the key has been generated, copy it for use as the Bearer token in your OTel settings or when running your Multitudes OTel collector. The full key will only be shown once.

Last updated
Was this helpful?

