# OpenTelemetry setup generator

Pick your language and where to send data. Get the install commands, environment variables and code to start sending traces, logs and metrics.

## How it works

The OpenTelemetry SDKs read standard environment variables, so the same settings work in every language: the service name, the OTLP endpoint and protocol, and any headers the backend needs.

Automatic instrumentation covers incoming and outgoing HTTP, databases and messaging in most frameworks. Add your own spans later for the business steps that matter.

```
OTEL_SERVICE_NAME, OTEL_EXPORTER_OTLP_ENDPOINT,
OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS,
OTEL_RESOURCE_ATTRIBUTES
```

## Questions

### gRPC or HTTP?

gRPC on port 4317 is the default for servers. Browsers must use HTTP on port 4318, and HTTP is easier through some proxies.

### Do I need a Collector?

No. SDKs can send straight to a backend. A Collector helps when you want to batch, filter or send to several places.

### Will this lock me in?

No. These are standard OpenTelemetry settings: change the endpoint and headers to send the same data anywhere.

## Related tools

- [Traceparent parser & generator](https://powertraces.com/tools/traceparent)
- [Collector config builder](https://powertraces.com/tools/collector-config)
- [OTLP JSON validator](https://powertraces.com/tools/otlp-json-validator)
- [Semantic conventions lookup](https://powertraces.com/tools/semantic-conventions)

[All tools](https://powertraces.com/tools)
