Skip to main content
Skip to main content

Language SDKs

Users typically send data to ClickStack via the OpenTelemetry (OTel) collector, either directly from language SDKs or through intermediate OpenTelemetry collector acting as agents e.g. collecting infrastructure metrics and logs.

Language SDKs are responsible for collecting telemetry from within your application - most notably traces and logs - and exporting this data to the OpenTelemetry collector, via the OTLP endpoint, which handles ingestion into ClickHouse.

In browser-based environments, SDKs may also be responsible for collecting session data, including UI events, clicks, and navigation thus enabling replays of user sessions.

How It Works

  1. Your application uses a a ClickStack SDK (e.g., Node.js, Python, Go). These SDKs are based on the OpenTelemetry SDKs with additional features and usability enhancements.
  2. The SDK collects and exports traces and logs via OTLP (HTTP or gRPC).
  3. The OpenTelemetry collector receives the telemetry and writes it to ClickHouse via the configured exporters.

Supported Languages

OpenTelemetry compatibility

While ClickStack offers its own language SDKs with enhanced telemetry and features, users can also use their existing OpenTelemetry SDKs seamlessly.


LanguageDescriptionLink
BrowserJavaScript SDK for Browser-based applicationsDocumentation
ElixirElixir applicationsDocumentation
GoGo applications and microservicesDocumentation
JavaJava applicationsDocumentation
NestJSNestJS applicationsDocumentation
Next.jsNext.js applicationsDocumentation
Node.jsJavaScript runtime for server-side applicationsDocumentation
DenoDeno applicationsDocumentation
PythonPython applications and web servicesDocumentation
React NativeReact Native mobile applicationsDocumentation
RubyRuby on Rails applications and web servicesDocumentation

Securing with API Key

In order to send data to ClickStack via the OTel collector, SDKs will need to specify an ingestion API key. This can either be set using an init function in the SDK or an OTEL_EXPORTER_OTLP_HEADERS environment variable:

This API key is generated by the HyperDX application, and is available via the app in Team Settings → API Keys.

For most language SDKs and telemetry libraries that support OpenTelemetry, users can simply set OTEL_EXPORTER_OTLP_ENDPOINT environment variable in your application or specify it during initialization of the SDK:

Kubernetes Integration

All SDKs support automatic correlation with Kubernetes metadata (pod name, namespace, etc.) when running in a Kubernetes environment. This allows you to:

  • View Kubernetes metrics for pods and nodes associated with your services
  • Correlate application logs and traces with infrastructure metrics
  • Track resource usage and performance across your Kubernetes cluster

To enable this feature, configure the OpenTelemetry collector to forward resource tags to pods. See the Kubernetes integration guide for detailed setup instructions.