# dd_trace_ex v0.1.0 - Table of Contents

> A Datadog APM tracing library for Elixir: Datadog-native spans, per-process trace context, and Phoenix, Ecto and Req integrations.

## Pages

- [dd_trace_ex](readme.md)
- [Setting up the tracer](setup.md)
- [LICENSE](license.md)

## Modules

- [DDTrace](DDTrace.md): A Datadog APM tracing library for Elixir.

- Tracing
  - [DDTrace.Decorators](DDTrace.Decorators.md): Tracing a function by annotating its definition.

- Crossing processes
  - [DDTrace.SpanContext](DDTrace.SpanContext.md): A trace, in the form that travels between processes.
  - [DDTrace.Task](DDTrace.Task.md): `Task`, with the caller's trace carried into the child.
  - [DDTrace.Task.Supervisor](DDTrace.Task.Supervisor.md): `Task.Supervisor`, with the caller's trace carried into the child.

- Reading a span
  - [DDTrace.Span](DDTrace.Span.md): One unit of traced work, in the shape Datadog receives it.

- Keys and values
  - [DDTrace.Kind](DDTrace.Kind.md): The five `span.kind` values, by name.
  - [DDTrace.Priority](DDTrace.Priority.md): The four sampling priorities Datadog understands, by name.
  - [DDTrace.Tags](DDTrace.Tags.md): The tag keys the tracer itself reads or writes, by name.

- Integrations
  - [DDTrace.Integrations.Ecto](DDTrace.Integrations.Ecto.md): Traces every Ecto query, from one call per repo at startup.
  - [DDTrace.Integrations.HTTP](DDTrace.Integrations.HTTP.md): The HTTP tag keys, and the pieces every HTTP integration needs.
  - [DDTrace.Integrations.Phoenix](DDTrace.Integrations.Phoenix.md): Traces every request through a Phoenix endpoint, from one call at startup.
  - [DDTrace.Integrations.Req](DDTrace.Integrations.Req.md): Traces every request through a Req client, from one call where the
client is built.

- Testing
  - [DDTrace.Test](DDTrace.Test.md): Assert on the spans your code produces, without an agent.

- Configuration
  - [DDTrace.Config](DDTrace.Config.md): The tracer's settings, resolved once when the application boots.

