# 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`

Extension methods to add the collector resource

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

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

Adds an OpenTelemetry Collector into the Aspire AppHost

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

## Parameters

- `builder` (`IDistributedApplicationBuilder`)
- `name` (`string`)
- `configureSettings` (`Action<OpenTelemetryCollectorSettings>`) `optional`

## WithAppForwarding(IResourceBuilder<OpenTelemetryCollectorResource>)

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

Force all apps to forward to the collector instead of the dashboard directly

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

## Parameters

- `builder` (`IResourceBuilder<OpenTelemetryCollectorResource>`)

## WithConfig(IResourceBuilder<OpenTelemetryCollectorResource>, string)

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

Adds a config file to the collector

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

## Parameters

- `builder` (`IResourceBuilder<OpenTelemetryCollectorResource>`)
- `configPath` (`string`)
