> ## Documentation Index > Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt > Use this file to discover all available pages before exploring further. # ObservabilityDestination ## Supported Types ### ObservabilityArizeDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationArize(components.ObservabilityArizeDestination{/* values here */}) ``` ### ObservabilityBraintrustDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationBraintrust(components.ObservabilityBraintrustDestination{/* values here */}) ``` ### ObservabilityClickhouseDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationClickhouse(components.ObservabilityClickhouseDestination{/* values here */}) ``` ### ObservabilityDatadogDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationDatadog(components.ObservabilityDatadogDestination{/* values here */}) ``` ### ObservabilityGrafanaDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationGrafana(components.ObservabilityGrafanaDestination{/* values here */}) ``` ### ObservabilityLangfuseDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationLangfuse(components.ObservabilityLangfuseDestination{/* values here */}) ``` ### ObservabilityLangsmithDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationLangsmith(components.ObservabilityLangsmithDestination{/* values here */}) ``` ### ObservabilityNewrelicDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationNewrelic(components.ObservabilityNewrelicDestination{/* values here */}) ``` ### ObservabilityOpikDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationOpik(components.ObservabilityOpikDestination{/* values here */}) ``` ### ObservabilityOtelCollectorDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationOtelCollector(components.ObservabilityOtelCollectorDestination{/* values here */}) ``` ### ObservabilityPosthogDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationPosthog(components.ObservabilityPosthogDestination{/* values here */}) ``` ### ObservabilityRampDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationRamp(components.ObservabilityRampDestination{/* values here */}) ``` ### ObservabilityS3Destination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationS3(components.ObservabilityS3Destination{/* values here */}) ``` ### ObservabilitySentryDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationSentry(components.ObservabilitySentryDestination{/* values here */}) ``` ### ObservabilitySnowflakeDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationSnowflake(components.ObservabilitySnowflakeDestination{/* values here */}) ``` ### ObservabilityWeaveDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationWeave(components.ObservabilityWeaveDestination{/* values here */}) ``` ### ObservabilityWebhookDestination ```go theme={null} observabilityDestination := components.CreateObservabilityDestinationWebhook(components.ObservabilityWebhookDestination{/* values here */}) ``` ## Union Discrimination Use the `Type` field to determine which variant is active, then access the corresponding field: ```go theme={null} switch observabilityDestination.Type { case components.ObservabilityDestinationTypeArize: // observabilityDestination.ObservabilityArizeDestination is populated case components.ObservabilityDestinationTypeBraintrust: // observabilityDestination.ObservabilityBraintrustDestination is populated case components.ObservabilityDestinationTypeClickhouse: // observabilityDestination.ObservabilityClickhouseDestination is populated case components.ObservabilityDestinationTypeDatadog: // observabilityDestination.ObservabilityDatadogDestination is populated case components.ObservabilityDestinationTypeGrafana: // observabilityDestination.ObservabilityGrafanaDestination is populated case components.ObservabilityDestinationTypeLangfuse: // observabilityDestination.ObservabilityLangfuseDestination is populated case components.ObservabilityDestinationTypeLangsmith: // observabilityDestination.ObservabilityLangsmithDestination is populated case components.ObservabilityDestinationTypeNewrelic: // observabilityDestination.ObservabilityNewrelicDestination is populated case components.ObservabilityDestinationTypeOpik: // observabilityDestination.ObservabilityOpikDestination is populated case components.ObservabilityDestinationTypeOtelCollector: // observabilityDestination.ObservabilityOtelCollectorDestination is populated case components.ObservabilityDestinationTypePosthog: // observabilityDestination.ObservabilityPosthogDestination is populated case components.ObservabilityDestinationTypeRamp: // observabilityDestination.ObservabilityRampDestination is populated case components.ObservabilityDestinationTypeS3: // observabilityDestination.ObservabilityS3Destination is populated case components.ObservabilityDestinationTypeSentry: // observabilityDestination.ObservabilitySentryDestination is populated case components.ObservabilityDestinationTypeSnowflake: // observabilityDestination.ObservabilitySnowflakeDestination is populated case components.ObservabilityDestinationTypeWeave: // observabilityDestination.ObservabilityWeaveDestination is populated case components.ObservabilityDestinationTypeWebhook: // observabilityDestination.ObservabilityWebhookDestination is populated default: // Unknown type - use observabilityDestination.GetUnknownRaw() for raw JSON } ```