The Standalone Agent includes a built-in OpenTelemetry (OTLP) gRPC receiver. Any application instrumented with the OpenTelemetry SDK can send metrics directly to the agent, which forwards them to the Chamber dashboard alongside GPU and host metrics. This lets you correlate application-level metrics (training loss, throughput, queue depth, request latency) with infrastructure metrics in a single view.Documentation Index
Fetch the complete documentation index at: https://docs.usechamber.io/llms.txt
Use this file to discover all available pages before exploring further.
How It Works
- Your application exports OTLP metrics over gRPC to
localhost:4317 - The agent receives, transforms, and buffers the metrics
- Metrics are uploaded to Chamber in batches every 60 seconds
- They appear on the Services dashboard alongside infrastructure metrics
Configuration
The OTLP receiver is enabled by default on port 4317. No additional configuration is required for most setups.| Variable | Default | Description |
|---|---|---|
CHAMBER_OTLP_GRPC_ENABLED | true | Enable or disable the OTLP gRPC receiver |
CHAMBER_OTLP_GRPC_PORT | 4317 | Port the gRPC server listens on |
CHAMBER_OTLP_GRPC_HOST | 0.0.0.0 | Bind address for the gRPC server |
CHAMBER_OTLP_METRICS_QUEUE_SIZE | 10000 | Maximum queued metric batches before dropping |
CHAMBER_OTLP_GRPC_ENABLED=false in /etc/chamber/agent.env and restart the agent.
Sending Metrics from Your Application
Point your application’s OTLP exporter to the agent’s gRPC endpoint. Here is an example using the Python OpenTelemetry SDK:Set
service.name in your resource attributes — it appears as the service name label on all metrics in the Chamber dashboard.Metric Name Transformation
The agent transforms OTLP metric names to a Prometheus-compatible format before uploading:| Transformation | Example |
|---|---|
| Dots and hyphens become underscores | training.loss → training_loss |
| Unit suffixes are appended | request_duration (unit: s) → request_duration_seconds |
Monotonic sums get _total suffix | samples.processed (sum, monotonic) → samples_processed_total |
| Consecutive underscores are collapsed | my__metric → my_metric |
Unit Suffix Mapping
| OTel Unit | Suffix |
|---|---|
s | _seconds |
ms | _milliseconds |
By | _bytes |
KBy | _kilobytes |
MBy | _megabytes |
GBy | _gigabytes |
1 | _ratio |
Histogram Support
OTLP histograms are decomposed into Prometheus-style metrics:| Generated Metric | Description |
|---|---|
{name}_bucket | Cumulative bucket counts with le (less-than-or-equal) labels |
{name}_count | Total number of observations |
{name}_sum | Sum of all observed values |
Supported Metric Types
| OTel Type | Supported |
|---|---|
| Gauge | Yes |
| Sum (monotonic and non-monotonic) | Yes |
| Histogram | Yes |
| ExponentialHistogram | No |
| Summary | No |
Verifying Metrics Are Flowing
After configuring your application, check the agent logs:service_name label you configured.
Next Steps
Metrics Reference
Full list of infrastructure metrics collected
Configuration
All environment variables and settings

