---
title: Rust Compatibility Requirements
description: Compatibility Requirements for the Datadog Rust Tracer
breadcrumbs: >-
  Docs > APM > Application Instrumentation > Compatibility Requirements > Rust
  Compatibility Requirements
---

# Rust Compatibility Requirements

{% callout %}
The Datadog Rust SDK is in Preview.
{% /callout %}

The Datadog Rust SDK is open source. For more information, see the [`dd-trace-rs` repository](https://github.com/DataDog/dd-trace-rs) or the [`datadog-opentelemetry` crate](https://crates.io/crates/datadog-opentelemetry).

## Language and library support{% #language-and-library-support %}

The Rust SDK relies on specific versions of the Rust compiler and the OpenTelemetry crate.

| Component                                                     | Requirement  |
| ------------------------------------------------------------- | ------------ |
| Rust Version                                                  | 1.84 (MSRV)  |
| [OpenTelemetry Crate](https://crates.io/crates/opentelemetry) | Version 0.31 |

## Integrations{% #integrations %}

The Datadog Rust SDK does not provide automatic instrumentation.

You must manually instrument your application using the OpenTelemetry API. This includes:

- Creating spans for functions or operations.
- Adding attributes (tags) and events to spans.
- Manually propagating trace context for distributed traces.

For examples, see the [Rust Custom Instrumentation](https://docs.datadoghq.com/tracing/trace_collection/custom_instrumentation/rust.md) documentation.

## Further reading{% #further-reading %}

- [Instrument Your Application](https://docs.datadoghq.com/tracing/trace_collection/custom_instrumentation/rust.md)
- [dd-trace-rs repository](https://github.com/DataDog/dd-trace-rs)
