# OpenTelemetryCollectorExtensions Methods

- Package: [CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector](/reference/api/csharp/communitytoolkit.aspire.hosting.opentelemetrycollector.md)
- Type: [OpenTelemetryCollectorExtensions](/reference/api/csharp/communitytoolkit.aspire.hosting.opentelemetrycollector/opentelemetrycollectorextensions.md)
- Kind: `Methods`
- Members: `3`

Provides extension methods for adding and configuring OpenTelemetry Collector resources.

## AddOpenTelemetryCollector(IDistributedApplicationBuilder, string, Action<OpenTelemetryCollectorSettings>)

- Name: `AddOpenTelemetryCollector(IDistributedApplicationBuilder, string, Action<OpenTelemetryCollectorSettings>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OpenTelemetryCollectorResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector/OpenTelemetryCollectorExtensions.cs#L34-L75)

Adds an OpenTelemetry Collector container resource to the application model.

```csharp
public static class OpenTelemetryCollectorExtensions
{
    public static IResourceBuilder<OpenTelemetryCollectorResource> AddOpenTelemetryCollector(
        this IDistributedApplicationBuilder builder,
        string name,
        Action<OpenTelemetryCollectorSettings>? configureSettings = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IDistributedApplicationBuilder`)
  The application builder.
- `name` (`string`)
  The name of the resource.
- `configureSettings` (`Action<OpenTelemetryCollectorSettings>`) `optional`
  An optional callback that configures the collector settings.

## Returns

`IResourceBuilder<OpenTelemetryCollectorResource>` -- A reference to the resource builder.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## WithAppForwarding(IResourceBuilder<OpenTelemetryCollectorResource>)

- Name: `WithAppForwarding(IResourceBuilder<OpenTelemetryCollectorResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OpenTelemetryCollectorResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector/OpenTelemetryCollectorExtensions.cs#L106-L122)

Configures all compatible resources in the application to forward telemetry to this collector.

```csharp
public static class OpenTelemetryCollectorExtensions
{
    public static IResourceBuilder<OpenTelemetryCollectorResource> WithAppForwarding(
        this IResourceBuilder<OpenTelemetryCollectorResource> builder)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<OpenTelemetryCollectorResource>`)
  The collector resource builder.

## Returns

`IResourceBuilder<OpenTelemetryCollectorResource>` -- A reference to the resource builder.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.

## WithConfig(IResourceBuilder<OpenTelemetryCollectorResource>, string)

- Name: `WithConfig(IResourceBuilder<OpenTelemetryCollectorResource>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<OpenTelemetryCollectorResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d9dc6fc02412d7398c5722840513d99965a6e98f/src/CommunityToolkit.Aspire.Hosting.OpenTelemetryCollector/OpenTelemetryCollectorExtensions.cs#L134-L136)

Adds a configuration file to the collector resource.

```csharp
public static class OpenTelemetryCollectorExtensions
{
    public static IResourceBuilder<OpenTelemetryCollectorResource> WithConfig(
        this IResourceBuilder<OpenTelemetryCollectorResource> builder,
        string configPath)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<OpenTelemetryCollectorResource>`)
  The collector resource builder.
- `configPath` (`string`)
  The path to the collector configuration file.

## Returns

`IResourceBuilder<OpenTelemetryCollectorResource>` -- A reference to the resource builder.

## ATS metadata

### ATS export

- Available to Polyglot AppHosts through the Aspire Type System.
