diff --git a/component/metadata/metadata.go b/component/metadata/metadata.go index a629918b35de..87896213bc68 100644 --- a/component/metadata/metadata.go +++ b/component/metadata/metadata.go @@ -2,6 +2,7 @@ package metadata import ( "fmt" + "github.com/grafana/agent/component/otelcol" "github.com/grafana/agent/component/pyroscope" "github.com/prometheus/prometheus/storage" "reflect" @@ -67,16 +68,23 @@ var ( }, } - //TODO(thampiotr): add more types - //DataTypeOTELTelemetry = Type("OTEL Telemetry") - //DataTypePromMetrics = Type("Prometheus Metrics") - //DataTypePyroscopeProfiles = Type("Pyroscope Profiles") + TypeOTELReceiver = Type{ + Name: "OpenTelemetry `otelcol.Consumer`", + ExistsInArgsFn: func(args component.Arguments) bool { + return hasFieldOfType(args, reflect.TypeOf([]otelcol.Consumer{})) + }, + ExistsInExportsFn: func(exports component.Exports) bool { + var a *otelcol.Consumer = nil + return hasFieldOfType(exports, reflect.TypeOf(a).Elem()) + }, + } AllTypes = []Type{ TypeTargets, TypeLokiLogs, TypePromMetricsReceiver, TypePyroProfilesReceiver, + TypeOTELReceiver, } ) @@ -115,7 +123,10 @@ func (m Metadata) ExportsType(t Type) bool { return false } +var currentComponent = "" + func ForComponent(name string) (Metadata, error) { + currentComponent = name reg, ok := component.Get(name) if !ok { return Metadata{}, fmt.Errorf("could not find component %q", name) @@ -139,6 +150,10 @@ func inferMetadata(args component.Arguments, exports component.Exports) Metadata func hasFieldOfType(obj interface{}, fieldType reflect.Type) bool { objValue := reflect.ValueOf(obj) + if fieldType.String() == "[]otelcol.Consumer" && currentComponent == "otelcol.receiver.loki" { + fmt.Println("gotcha") + } + // If the object is a pointer, dereference it for objValue.Kind() == reflect.Ptr { objValue = objValue.Elem() @@ -168,6 +183,14 @@ func hasFieldOfType(obj interface{}, fieldType reflect.Type) bool { return true } } + + // If the field is a pointer, create a new instance of the pointer type and recursively check its fields + if fv.Kind() == reflect.Ptr { + if hasFieldOfType(reflect.New(ft.Elem()).Interface(), fieldType) { + return true + } + } + } return false diff --git a/docs/sources/flow/reference/compatibility/_index.md b/docs/sources/flow/reference/compatibility/_index.md index 99cd0c84c602..b780e80eec99 100644 --- a/docs/sources/flow/reference/compatibility/_index.md +++ b/docs/sources/flow/reference/compatibility/_index.md @@ -261,6 +261,85 @@ on the namespace to expand and see more detail. +## OpenTelemetry `otelcol.Consumer` + +The OpenTelemetry data is sent between components using `otelcol.Consumer`s. +`otelcol.Consumer`s are [capsules]({{< relref "../../config-language/expressions/types_and_values/#capsules" >}}) +that are exported by components that can receive OpenTelemetry data. Components that +can consume OpenTelemetry data can be passed the `otelcol.Consumer` as an argument. Note that some components +that use `otelcol.Consumer` only support a subset of telemetry signals, e.g. only traces. Check the component +reference pages for more details on what is supported. Use the following components to build your OpenTelemetry pipeline: + + +### OpenTelemetry `otelcol.Consumer` Exporters +Below are components that _export_ OpenTelemetry `otelcol.Consumer`, grouped by namespace. Click +on the namespace to expand and see more detail. + + + +{{< collapse title="otelcol" >}} +- [otelcol.connector.servicegraph]({{< relref "../components/otelcol.connector.servicegraph.md" >}}) +- [otelcol.connector.spanlogs]({{< relref "../components/otelcol.connector.spanlogs.md" >}}) +- [otelcol.connector.spanmetrics]({{< relref "../components/otelcol.connector.spanmetrics.md" >}}) +- [otelcol.exporter.loadbalancing]({{< relref "../components/otelcol.exporter.loadbalancing.md" >}}) +- [otelcol.exporter.logging]({{< relref "../components/otelcol.exporter.logging.md" >}}) +- [otelcol.exporter.loki]({{< relref "../components/otelcol.exporter.loki.md" >}}) +- [otelcol.exporter.otlp]({{< relref "../components/otelcol.exporter.otlp.md" >}}) +- [otelcol.exporter.otlphttp]({{< relref "../components/otelcol.exporter.otlphttp.md" >}}) +- [otelcol.exporter.prometheus]({{< relref "../components/otelcol.exporter.prometheus.md" >}}) +- [otelcol.processor.attributes]({{< relref "../components/otelcol.processor.attributes.md" >}}) +- [otelcol.processor.batch]({{< relref "../components/otelcol.processor.batch.md" >}}) +- [otelcol.processor.discovery]({{< relref "../components/otelcol.processor.discovery.md" >}}) +- [otelcol.processor.filter]({{< relref "../components/otelcol.processor.filter.md" >}}) +- [otelcol.processor.k8sattributes]({{< relref "../components/otelcol.processor.k8sattributes.md" >}}) +- [otelcol.processor.memory_limiter]({{< relref "../components/otelcol.processor.memory_limiter.md" >}}) +- [otelcol.processor.probabilistic_sampler]({{< relref "../components/otelcol.processor.probabilistic_sampler.md" >}}) +- [otelcol.processor.span]({{< relref "../components/otelcol.processor.span.md" >}}) +- [otelcol.processor.tail_sampling]({{< relref "../components/otelcol.processor.tail_sampling.md" >}}) +- [otelcol.processor.transform]({{< relref "../components/otelcol.processor.transform.md" >}}) +{{< /collapse >}} + + + + +### OpenTelemetry `otelcol.Consumer` Consumers +Below are components that _consume_ OpenTelemetry `otelcol.Consumer`, grouped by namespace. Click +on the namespace to expand and see more detail. + + + +{{< collapse title="faro" >}} +- [faro.receiver]({{< relref "../components/faro.receiver.md" >}}) +{{< /collapse >}} + +{{< collapse title="otelcol" >}} +- [otelcol.connector.servicegraph]({{< relref "../components/otelcol.connector.servicegraph.md" >}}) +- [otelcol.connector.spanlogs]({{< relref "../components/otelcol.connector.spanlogs.md" >}}) +- [otelcol.connector.spanmetrics]({{< relref "../components/otelcol.connector.spanmetrics.md" >}}) +- [otelcol.processor.attributes]({{< relref "../components/otelcol.processor.attributes.md" >}}) +- [otelcol.processor.batch]({{< relref "../components/otelcol.processor.batch.md" >}}) +- [otelcol.processor.discovery]({{< relref "../components/otelcol.processor.discovery.md" >}}) +- [otelcol.processor.filter]({{< relref "../components/otelcol.processor.filter.md" >}}) +- [otelcol.processor.k8sattributes]({{< relref "../components/otelcol.processor.k8sattributes.md" >}}) +- [otelcol.processor.memory_limiter]({{< relref "../components/otelcol.processor.memory_limiter.md" >}}) +- [otelcol.processor.probabilistic_sampler]({{< relref "../components/otelcol.processor.probabilistic_sampler.md" >}}) +- [otelcol.processor.span]({{< relref "../components/otelcol.processor.span.md" >}}) +- [otelcol.processor.tail_sampling]({{< relref "../components/otelcol.processor.tail_sampling.md" >}}) +- [otelcol.processor.transform]({{< relref "../components/otelcol.processor.transform.md" >}}) +- [otelcol.receiver.jaeger]({{< relref "../components/otelcol.receiver.jaeger.md" >}}) +- [otelcol.receiver.kafka]({{< relref "../components/otelcol.receiver.kafka.md" >}}) +- [otelcol.receiver.loki]({{< relref "../components/otelcol.receiver.loki.md" >}}) +- [otelcol.receiver.opencensus]({{< relref "../components/otelcol.receiver.opencensus.md" >}}) +- [otelcol.receiver.otlp]({{< relref "../components/otelcol.receiver.otlp.md" >}}) +- [otelcol.receiver.prometheus]({{< relref "../components/otelcol.receiver.prometheus.md" >}}) +- [otelcol.receiver.vcenter]({{< relref "../components/otelcol.receiver.vcenter.md" >}}) +- [otelcol.receiver.zipkin]({{< relref "../components/otelcol.receiver.zipkin.md" >}}) +{{< /collapse >}} + + + + + ## Pyroscope `ProfilesReceiver` The Pyroscope profiles are sent between components using `ProfilesReceiver`s. diff --git a/docs/sources/flow/reference/components/faro.receiver.md b/docs/sources/flow/reference/components/faro.receiver.md index 80ae370b4216..85baf117f5d1 100644 --- a/docs/sources/flow/reference/components/faro.receiver.md +++ b/docs/sources/flow/reference/components/faro.receiver.md @@ -275,6 +275,7 @@ Replace the following: `faro.receiver` can accept arguments from the following components: - Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. diff --git a/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md b/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md index c734f536c3c3..b8e1563ff6b9 100644 --- a/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md +++ b/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md @@ -221,4 +221,17 @@ traces_service_graph_request_total{client="shop-backend",failed="false",server=" traces_service_graph_request_failed_total{client="shop-backend",client_http_method="POST",failed="false",server="auth-service",server_http_method="POST"} ``` +## Compatible components + +`otelcol.connector.servicegraph` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.connector.servicegraph` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md b/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md index 23474edaf6e3..311da454643b 100644 --- a/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md +++ b/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md @@ -281,4 +281,17 @@ For an input trace like this... ``` +## Compatible components + +`otelcol.connector.spanlogs` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.connector.spanlogs` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md b/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md index 26354b3bf4b9..a0662624e690 100644 --- a/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md +++ b/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md @@ -297,4 +297,17 @@ prometheus.remote_write "mimir" { ``` +## Compatible components + +`otelcol.connector.spanmetrics` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.connector.spanmetrics` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md b/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md index 53aa568191e1..5f6149157dac 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md @@ -303,4 +303,13 @@ otelcol.exporter.loadbalancing "default" { ``` +## Compatible components + +`otelcol.exporter.loadbalancing` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.logging.md b/docs/sources/flow/reference/components/otelcol.exporter.logging.md index 7145de6ea0d0..0d5f8e4af337 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.logging.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.logging.md @@ -109,4 +109,13 @@ otelcol.exporter.logging "default" { ``` +## Compatible components + +`otelcol.exporter.logging` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.loki.md b/docs/sources/flow/reference/components/otelcol.exporter.loki.md index c4adab18a7b6..630f698dbdac 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.loki.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.loki.md @@ -167,6 +167,9 @@ loki.write "local" { - Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) +`otelcol.exporter.loki` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. diff --git a/docs/sources/flow/reference/components/otelcol.exporter.otlp.md b/docs/sources/flow/reference/components/otelcol.exporter.otlp.md index c620c94367d2..ec8e831766fc 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.otlp.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.otlp.md @@ -216,4 +216,13 @@ otelcol.auth.basic "grafana_cloud_tempo" { ``` +## Compatible components + +`otelcol.exporter.otlp` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md b/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md index 418529cf2ede..c93b3ae7b7cc 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md @@ -157,4 +157,13 @@ otelcol.exporter.otlphttp "tempo" { ``` +## Compatible components + +`otelcol.exporter.otlphttp` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md b/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md index e7e5331a2be9..d483b45f0e14 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md @@ -118,6 +118,9 @@ prometheus.remote_write "mimir" { - Components that export [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-exporters" >}}) +`otelcol.exporter.prometheus` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. diff --git a/docs/sources/flow/reference/components/otelcol.processor.attributes.md b/docs/sources/flow/reference/components/otelcol.processor.attributes.md index c8d8a0fdfeae..7ed9d793183e 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.attributes.md +++ b/docs/sources/flow/reference/components/otelcol.processor.attributes.md @@ -636,4 +636,17 @@ otelcol.processor.attributes "default" { ``` +## Compatible components + +`otelcol.processor.attributes` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.attributes` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.batch.md b/docs/sources/flow/reference/components/otelcol.processor.batch.md index 709b1c68f5dd..4a7066dcf5e1 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.batch.md +++ b/docs/sources/flow/reference/components/otelcol.processor.batch.md @@ -229,4 +229,17 @@ otelcol.exporter.otlp "production" { [otelcol.exporter.otlp]: {{< relref "./otelcol.exporter.otlp.md" >}} +## Compatible components + +`otelcol.processor.batch` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.batch` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.discovery.md b/docs/sources/flow/reference/components/otelcol.processor.discovery.md index 96214e465e3b..c2025ac2fe10 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.discovery.md +++ b/docs/sources/flow/reference/components/otelcol.processor.discovery.md @@ -199,7 +199,11 @@ otelcol.processor.discovery "default" { `otelcol.processor.discovery` can accept arguments from the following components: - Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) +`otelcol.processor.discovery` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. diff --git a/docs/sources/flow/reference/components/otelcol.processor.filter.md b/docs/sources/flow/reference/components/otelcol.processor.filter.md index 2a3a1272ff9f..9a55ece55306 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.filter.md +++ b/docs/sources/flow/reference/components/otelcol.processor.filter.md @@ -303,4 +303,17 @@ Some values in the River strings are [escaped][river-strings]: [OTTL math expressions]: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.85.0/pkg/ottl#math-expressions +## Compatible components + +`otelcol.processor.filter` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.filter` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md b/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md index aab0bed3f228..cbb328a91e52 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md +++ b/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md @@ -412,4 +412,17 @@ prometheus.remote_write "mimir" { ``` +## Compatible components + +`otelcol.processor.k8sattributes` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.k8sattributes` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.memory_limiter.md b/docs/sources/flow/reference/components/otelcol.processor.memory_limiter.md index 434527e6a109..2d38823446bc 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.memory_limiter.md +++ b/docs/sources/flow/reference/components/otelcol.processor.memory_limiter.md @@ -111,4 +111,17 @@ configuration. information. +## Compatible components + +`otelcol.processor.memory_limiter` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.memory_limiter` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.probabilistic_sampler.md b/docs/sources/flow/reference/components/otelcol.processor.probabilistic_sampler.md index df9e650fd8da..ef9e889733da 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.probabilistic_sampler.md +++ b/docs/sources/flow/reference/components/otelcol.processor.probabilistic_sampler.md @@ -147,4 +147,17 @@ otelcol.processor.probabilistic_sampler "default" { ``` +## Compatible components + +`otelcol.processor.probabilistic_sampler` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.probabilistic_sampler` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.span.md b/docs/sources/flow/reference/components/otelcol.processor.span.md index 1ea6ca1d697c..69dbad564a10 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.span.md +++ b/docs/sources/flow/reference/components/otelcol.processor.span.md @@ -390,4 +390,17 @@ otelcol.processor.span "default" { ``` +## Compatible components + +`otelcol.processor.span` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.span` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.tail_sampling.md b/docs/sources/flow/reference/components/otelcol.processor.tail_sampling.md index 6cc4dffc6083..408307890e2a 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.tail_sampling.md +++ b/docs/sources/flow/reference/components/otelcol.processor.tail_sampling.md @@ -555,4 +555,17 @@ otelcol.exporter.otlp "production" { ``` +## Compatible components + +`otelcol.processor.tail_sampling` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.tail_sampling` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.transform.md b/docs/sources/flow/reference/components/otelcol.processor.transform.md index ac580605ccdc..43292b52d944 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.transform.md +++ b/docs/sources/flow/reference/components/otelcol.processor.transform.md @@ -592,4 +592,17 @@ each `"` with a `\"`, and each `\` with a `\\` inside a [normal][river-strings] [OTTL log context]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/{{< param "OTEL_VERSION" >}}/pkg/ottl/contexts/ottllog/README.md +## Compatible components + +`otelcol.processor.transform` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.transform` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md b/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md index 1ff88a8f4dd1..a528ea03f348 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md @@ -280,4 +280,14 @@ otelcol.exporter.otlp "default" { `otelcol.receiver.jaeger` supports [gzip](https://en.wikipedia.org/wiki/Gzip) for compression. +## Compatible components + +`otelcol.receiver.jaeger` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.kafka.md b/docs/sources/flow/reference/components/otelcol.receiver.kafka.md index 8506959094a4..84ef82acf26c 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.kafka.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.kafka.md @@ -332,4 +332,14 @@ otelcol.exporter.otlp "default" { ``` +## Compatible components + +`otelcol.receiver.kafka` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.loki.md b/docs/sources/flow/reference/components/otelcol.receiver.loki.md index 1c064ac2833d..4ddb44099317 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.loki.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.loki.md @@ -104,6 +104,10 @@ otelcol.exporter.otlp "default" { ## Compatible components +`otelcol.receiver.loki` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + `otelcol.receiver.loki` has exports that can be consumed by the following components: - Components that consume [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-consumers" >}}) diff --git a/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md b/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md index 52c915542dfe..5763d610807c 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md @@ -212,4 +212,14 @@ otelcol.exporter.otlp "default" { ``` +## Compatible components + +`otelcol.receiver.opencensus` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.otlp.md b/docs/sources/flow/reference/components/otelcol.receiver.otlp.md index 981a5be2c132..286990d2e046 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.otlp.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.otlp.md @@ -250,4 +250,14 @@ otelcol.exporter.otlp "default" { `otelcol.receiver.otlp` supports [gzip](https://en.wikipedia.org/wiki/Gzip) for compression. +## Compatible components + +`otelcol.receiver.otlp` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md b/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md index 85ee6ff01a1a..0b2e6c086364 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md @@ -103,6 +103,10 @@ otelcol.exporter.otlp "default" { ## Compatible components +`otelcol.receiver.prometheus` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + `otelcol.receiver.prometheus` has exports that can be consumed by the following components: - Components that consume [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-consumers" >}}) diff --git a/docs/sources/flow/reference/components/otelcol.receiver.vcenter.md b/docs/sources/flow/reference/components/otelcol.receiver.vcenter.md index 2e1f465878e2..670f8cd3fcfa 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.vcenter.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.vcenter.md @@ -219,3 +219,16 @@ otelcol.exporter.otlp "default" { endpoint = env("OTLP_ENDPOINT") } } + + +## Compatible components + +`otelcol.receiver.vcenter` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md b/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md index 3ab47c0c121b..82fe199f0b8f 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md @@ -145,4 +145,14 @@ otelcol.exporter.otlp "default" { ``` +## Compatible components + +`otelcol.receiver.zipkin` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + \ No newline at end of file