otlp-stdout-client 0.4.1

OpenTelemetry OTLP stdout client (DEPRECATED)
Documentation
# Examples

This directory contains examples demonstrating how to use the `otlp-stdout-client` library.

## Stdout Export Example

The stdout export example shows how to set up a simple tracer that outputs spans to stdout. You can run it with different configurations using environment variables.

### Running the Example

```bash
# Run with default settings (JSON output)
cargo run --example stdout_export

# Run with Protobuf output
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf cargo run --example stdout_export

# Run with JSON output and GZIP compression
OTEL_EXPORTER_OTLP_PROTOCOL=http/json OTEL_EXPORTER_OTLP_COMPRESSION=gzip cargo run --example stdout_export

# Run with Protobuf output and GZIP compression
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf OTEL_EXPORTER_OTLP_COMPRESSION=gzip cargo run --example stdout_export
```

### Example Output

With default settings (JSON):
```json
{
  "__otel_otlp_stdout": "otlp-stdout-client@0.2.1",
  "source": "unknown-service",
  "endpoint": "http://localhost:4318/v1/traces",
  "method": "POST",
  "payload": { ... },
  "headers": {
    "content-type": "application/json"
  },
  "content-type": "application/json"
}
```

With Protobuf:
```json
{
  "__otel_otlp_stdout": "otlp-stdout-client@0.2.1",
  "source": "unknown-service",
  "endpoint": "http://localhost:4318/v1/traces",
  "method": "POST",
  "payload": "base64-encoded-protobuf-data",
  "headers": {
    "content-type": "application/x-protobuf"
  },
  "content-type": "application/x-protobuf",
  "base64": true
}
```

With GZIP compression:
```json
{
  "__otel_otlp_stdout": "otlp-stdout-client@0.2.1",
  "source": "unknown-service",
  "endpoint": "http://localhost:4318/v1/traces",
  "method": "POST",
  "payload": "base64-encoded-gzipped-data",
  "headers": {
    "content-type": "application/json",
    "content-encoding": "gzip"
  },
  "content-type": "application/json",
  "content-encoding": "gzip",
  "base64": true
}
```

### Environment Variables

The following environment variables can be used to configure the exporter:

- `OTEL_EXPORTER_OTLP_PROTOCOL`: Sets the protocol format
  - `http/json`: Uses JSON format (default)
  - `http/protobuf`: Uses Protobuf format

- `OTEL_EXPORTER_OTLP_COMPRESSION`: Enables compression
  - `gzip`: Enables GZIP compression
  - If not set or any other value: No compression

- `OTEL_SERVICE_NAME`: Sets the service name (defaults to "unknown-service")