Documentation
¶
Index ¶
- Constants
- Variables
- func IncCounterOnComplete[T any](counter metric.Int64Counter, attributes []attribute.KeyValue) func(ro.Observable[T]) ro.Observable[T]
- func IncCounterOnError[T any](counter metric.Int64Counter, attributes []attribute.KeyValue) func(ro.Observable[T]) ro.Observable[T]
- func IncCounterOnNext[T any](counter metric.Int64Counter, attributes []attribute.KeyValue) func(ro.Observable[T]) ro.Observable[T]
- func IncCounterOnSubscription[T any](counter metric.Int64Counter, attributes []attribute.KeyValue) func(ro.Observable[T]) ro.Observable[T]
- func LogOnComplete[T any](logger log.Logger, severity log.Severity, attributes []log.KeyValue) func(ro.Observable[T]) ro.Observable[T]
- func LogOnError[T any](logger log.Logger, severity log.Severity, attributes []log.KeyValue) func(ro.Observable[T]) ro.Observable[T]
- func LogOnNext[T any](logger log.Logger, severity log.Severity, attributes []log.KeyValue) func(ro.Observable[T]) ro.Observable[T]
- func LogOnSubscription[T any](logger log.Logger, severity log.Severity, attributes []log.KeyValue) func(ro.Observable[T]) ro.Observable[T]
- func ObserveNextLag[T any](tracer trace.Tracer, operatorName string, histogram metric.Float64Histogram, ...) func(ro.Observable[T]) ro.Observable[T]
- func Pipe1[A any, B any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[B], *otelCollector)
- func Pipe2[A any, B any, C any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[C], *otelCollector)
- func Pipe3[A any, B any, C any, D any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[D], *otelCollector)
- func Pipe4[A any, B any, C any, D any, E any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[E], *otelCollector)
- func Pipe5[A any, B any, C any, D any, E any, F any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[F], *otelCollector)
- func Pipe6[A any, B any, C any, D any, E any, F any, G any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[G], *otelCollector)
- func Pipe7[A any, B any, C any, D any, E any, F any, G any, H any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[H], *otelCollector)
- func Pipe8[A any, B any, C any, D any, E any, F any, G any, H any, I any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[I], *otelCollector)
- func Pipe9[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[J], *otelCollector)
- func Pipe10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[K], *otelCollector)
- func Pipe11[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[L], *otelCollector)
- func Pipe12[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[M], *otelCollector)
- func Pipe13[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[N], *otelCollector)
- func Pipe14[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[O], *otelCollector)
- func Pipe15[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[P], *otelCollector)
- func Pipe16[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[Q], *otelCollector)
- func Pipe17[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[R], *otelCollector)
- func Pipe18[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[S], *otelCollector)
- func Pipe19[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[T], *otelCollector)
- func Pipe20[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[U], *otelCollector)
- func Pipe21[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[V], *otelCollector)
- func Pipe22[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[W], *otelCollector)
- func Pipe23[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[X], *otelCollector)
- func Pipe24[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, ...](collectorConfig CollectorConfig, source ro.Observable[A], ...) (ro.Observable[Y], *otelCollector)
- func StartTraceOnSubscription[T any](collector *otelCollector) func(ro.Observable[T]) ro.Observable[T]
- func TraceOnError[T any](collector *otelCollector) func(ro.Observable[T]) ro.Observable[T]
- type CollectorConfig
Constants ¶
const (
LabelNamePipePosition = "pipe.position"
)
Variables ¶
var DefaultHistogramObjectivesSeconds = []float64{
0.0010,
0.0025,
0.0050,
0.0075,
0.010,
0.025,
0.050,
0.075,
0.10,
0.25,
0.50,
0.75,
1,
2.5,
5,
10,
15,
30,
60,
120,
300,
600,
1800,
3600,
7200,
10800,
21600,
}
Functions ¶
func IncCounterOnComplete ¶
func IncCounterOnComplete[T any](counter metric.Int64Counter, attributes []attribute.KeyValue) func(ro.Observable[T]) ro.Observable[T]
IncCounterOnComplete is a pipe operator that increments a counter when a new Complete() notification is sent to the destination observer.
func IncCounterOnError ¶
func IncCounterOnError[T any](counter metric.Int64Counter, attributes []attribute.KeyValue) func(ro.Observable[T]) ro.Observable[T]
IncCounterOnError is a pipe operator that increments a counter when a new Error() notification is sent to the destination observer.
func IncCounterOnNext ¶
func IncCounterOnNext[T any](counter metric.Int64Counter, attributes []attribute.KeyValue) func(ro.Observable[T]) ro.Observable[T]
IncCounterOnNext is a pipe operator that increments a counter when a new Next() notification is sent to the destination observer.
func IncCounterOnSubscription ¶
func IncCounterOnSubscription[T any](counter metric.Int64Counter, attributes []attribute.KeyValue) func(ro.Observable[T]) ro.Observable[T]
IncCounterOnSubscription is a pipe operator that increments a counter when a new subscription is created.
func LogOnComplete ¶
func LogOnComplete[T any](logger log.Logger, severity log.Severity, attributes []log.KeyValue) func(ro.Observable[T]) ro.Observable[T]
LogOnComplete is a pipe operator that logs a message when a new Complete() notification is sent to the destination observer.
func LogOnError ¶
func LogOnError[T any](logger log.Logger, severity log.Severity, attributes []log.KeyValue) func(ro.Observable[T]) ro.Observable[T]
LogOnError is a pipe operator that logs a message when a new Error() notification is sent to the destination observer.
func LogOnNext ¶
func LogOnNext[T any](logger log.Logger, severity log.Severity, attributes []log.KeyValue) func(ro.Observable[T]) ro.Observable[T]
LogOnNext is a pipe operator that logs a message when a new Next() notification is sent to the destination observer.
func LogOnSubscription ¶
func LogOnSubscription[T any](logger log.Logger, severity log.Severity, attributes []log.KeyValue) func(ro.Observable[T]) ro.Observable[T]
LogOnSubscription is a pipe operator that logs a message when a new subscription is created.
func ObserveNextLag ¶
func ObserveNextLag[T any](tracer trace.Tracer, operatorName string, histogram metric.Float64Histogram, attributes []attribute.KeyValue) func(ro.Observable[T]) ro.Observable[T]
ObserveNextLag is a pipe operator that tracks the time it takes for a notification to traverse from the source observable to the destination observer. It mesures the time the source pauses while waiting for the destination to process the notification.
func Pipe1 ¶
func Pipe1[A any, B any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], ) (ro.Observable[B], *otelCollector)
Pipe1 is a typesafe 🎉 implementation of Pipe, that takes a source and 1 operator.
func Pipe2 ¶
func Pipe2[A any, B any, C any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], ) (ro.Observable[C], *otelCollector)
Pipe2 is a typesafe 🎉 implementation of Pipe, that takes a source and 2 operators.
func Pipe3 ¶
func Pipe3[A any, B any, C any, D any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], ) (ro.Observable[D], *otelCollector)
Pipe3 is a typesafe 🎉 implementation of Pipe, that takes a source and 3 operators.
func Pipe4 ¶
func Pipe4[A any, B any, C any, D any, E any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], ) (ro.Observable[E], *otelCollector)
Pipe4 is a typesafe 🎉 implementation of Pipe, that takes a source and 4 operators.
func Pipe5 ¶
func Pipe5[A any, B any, C any, D any, E any, F any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], ) (ro.Observable[F], *otelCollector)
Pipe5 is a typesafe 🎉 implementation of Pipe, that takes a source and 5 operators.
func Pipe6 ¶
func Pipe6[A any, B any, C any, D any, E any, F any, G any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], ) (ro.Observable[G], *otelCollector)
Pipe6 is a typesafe 🎉 implementation of Pipe, that takes a source and 6 operators.
func Pipe7 ¶
func Pipe7[A any, B any, C any, D any, E any, F any, G any, H any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], ) (ro.Observable[H], *otelCollector)
Pipe7 is a typesafe 🎉 implementation of Pipe, that takes a source and 7 operators.
func Pipe8 ¶
func Pipe8[A any, B any, C any, D any, E any, F any, G any, H any, I any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], ) (ro.Observable[I], *otelCollector)
Pipe8 is a typesafe 🎉 implementation of Pipe, that takes a source and 8 operators.
func Pipe9 ¶
func Pipe9[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], ) (ro.Observable[J], *otelCollector)
func Pipe10 ¶
func Pipe10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], ) (ro.Observable[K], *otelCollector)
func Pipe11 ¶
func Pipe11[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], ) (ro.Observable[L], *otelCollector)
Pipe11 is a typesafe 🎉 implementation of Pipe, that takes a source and 11 operators.
func Pipe12 ¶
func Pipe12[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], ) (ro.Observable[M], *otelCollector)
Pipe12 is a typesafe 🎉 implementation of Pipe, that takes a source and 12 operators.
func Pipe13 ¶
func Pipe13[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], ) (ro.Observable[N], *otelCollector)
Pipe13 is a typesafe 🎉 implementation of Pipe, that takes a source and 13 operators.
func Pipe14 ¶
func Pipe14[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], ) (ro.Observable[O], *otelCollector)
Pipe14 is a typesafe 🎉 implementation of Pipe, that takes a source and 14 operators.
func Pipe15 ¶
func Pipe15[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], ) (ro.Observable[P], *otelCollector)
Pipe15 is a typesafe 🎉 implementation of Pipe, that takes a source and 15 operators.
func Pipe16 ¶
func Pipe16[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any, Q any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], operator16 func(ro.Observable[P]) ro.Observable[Q], ) (ro.Observable[Q], *otelCollector)
Pipe16 is a typesafe 🎉 implementation of Pipe, that takes a source and 16 operators.
func Pipe17 ¶
func Pipe17[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any, Q any, R any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], operator16 func(ro.Observable[P]) ro.Observable[Q], operator17 func(ro.Observable[Q]) ro.Observable[R], ) (ro.Observable[R], *otelCollector)
Pipe17 is a typesafe 🎉 implementation of Pipe, that takes a source and 17 operators.
func Pipe18 ¶
func Pipe18[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any, Q any, R any, S any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], operator16 func(ro.Observable[P]) ro.Observable[Q], operator17 func(ro.Observable[Q]) ro.Observable[R], operator18 func(ro.Observable[R]) ro.Observable[S], ) (ro.Observable[S], *otelCollector)
Pipe18 is a typesafe 🎉 implementation of Pipe, that takes a source and 18 operators.
func Pipe19 ¶
func Pipe19[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any, Q any, R any, S any, T any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], operator16 func(ro.Observable[P]) ro.Observable[Q], operator17 func(ro.Observable[Q]) ro.Observable[R], operator18 func(ro.Observable[R]) ro.Observable[S], operator19 func(ro.Observable[S]) ro.Observable[T], ) (ro.Observable[T], *otelCollector)
Pipe19 is a typesafe 🎉 implementation of Pipe, that takes a source and 19 operators.
func Pipe20 ¶
func Pipe20[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any, Q any, R any, S any, T any, U any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], operator16 func(ro.Observable[P]) ro.Observable[Q], operator17 func(ro.Observable[Q]) ro.Observable[R], operator18 func(ro.Observable[R]) ro.Observable[S], operator19 func(ro.Observable[S]) ro.Observable[T], operator20 func(ro.Observable[T]) ro.Observable[U], ) (ro.Observable[U], *otelCollector)
Pipe20 is a typesafe 🎉 implementation of Pipe, that takes a source and 20 operators.
func Pipe21 ¶
func Pipe21[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any, Q any, R any, S any, T any, U any, V any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], operator16 func(ro.Observable[P]) ro.Observable[Q], operator17 func(ro.Observable[Q]) ro.Observable[R], operator18 func(ro.Observable[R]) ro.Observable[S], operator19 func(ro.Observable[S]) ro.Observable[T], operator20 func(ro.Observable[T]) ro.Observable[U], operator21 func(ro.Observable[U]) ro.Observable[V], ) (ro.Observable[V], *otelCollector)
Pipe21 is a typesafe 🎉 implementation of Pipe, that takes a source and 21 operators.
func Pipe22 ¶
func Pipe22[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any, Q any, R any, S any, T any, U any, V any, W any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], operator16 func(ro.Observable[P]) ro.Observable[Q], operator17 func(ro.Observable[Q]) ro.Observable[R], operator18 func(ro.Observable[R]) ro.Observable[S], operator19 func(ro.Observable[S]) ro.Observable[T], operator20 func(ro.Observable[T]) ro.Observable[U], operator21 func(ro.Observable[U]) ro.Observable[V], operator22 func(ro.Observable[V]) ro.Observable[W], ) (ro.Observable[W], *otelCollector)
Pipe22 is a typesafe 🎉 implementation of Pipe, that takes a source and 22 operators.
func Pipe23 ¶
func Pipe23[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any, Q any, R any, S any, T any, U any, V any, W any, X any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], operator16 func(ro.Observable[P]) ro.Observable[Q], operator17 func(ro.Observable[Q]) ro.Observable[R], operator18 func(ro.Observable[R]) ro.Observable[S], operator19 func(ro.Observable[S]) ro.Observable[T], operator20 func(ro.Observable[T]) ro.Observable[U], operator21 func(ro.Observable[U]) ro.Observable[V], operator22 func(ro.Observable[V]) ro.Observable[W], operator23 func(ro.Observable[W]) ro.Observable[X], ) (ro.Observable[X], *otelCollector)
Pipe23 is a typesafe 🎉 implementation of Pipe, that takes a source and 23 operators.
func Pipe24 ¶
func Pipe24[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any, L any, M any, N any, O any, P any, Q any, R any, S any, T any, U any, V any, W any, X any, Y any]( collectorConfig CollectorConfig, source ro.Observable[A], operator1 func(ro.Observable[A]) ro.Observable[B], operator2 func(ro.Observable[B]) ro.Observable[C], operator3 func(ro.Observable[C]) ro.Observable[D], operator4 func(ro.Observable[D]) ro.Observable[E], operator5 func(ro.Observable[E]) ro.Observable[F], operator6 func(ro.Observable[F]) ro.Observable[G], operator7 func(ro.Observable[G]) ro.Observable[H], operator8 func(ro.Observable[H]) ro.Observable[I], operator9 func(ro.Observable[I]) ro.Observable[J], operator10 func(ro.Observable[J]) ro.Observable[K], operator11 func(ro.Observable[K]) ro.Observable[L], operator12 func(ro.Observable[L]) ro.Observable[M], operator13 func(ro.Observable[M]) ro.Observable[N], operator14 func(ro.Observable[N]) ro.Observable[O], operator15 func(ro.Observable[O]) ro.Observable[P], operator16 func(ro.Observable[P]) ro.Observable[Q], operator17 func(ro.Observable[Q]) ro.Observable[R], operator18 func(ro.Observable[R]) ro.Observable[S], operator19 func(ro.Observable[S]) ro.Observable[T], operator20 func(ro.Observable[T]) ro.Observable[U], operator21 func(ro.Observable[U]) ro.Observable[V], operator22 func(ro.Observable[V]) ro.Observable[W], operator23 func(ro.Observable[W]) ro.Observable[X], operator24 func(ro.Observable[X]) ro.Observable[Y], ) (ro.Observable[Y], *otelCollector)
Pipe24 is a typesafe 🎉 implementation of Pipe, that takes a source and 24 operators.
func StartTraceOnSubscription ¶
func StartTraceOnSubscription[T any](collector *otelCollector) func(ro.Observable[T]) ro.Observable[T]
StartTraceOnSubscription is a pipe operator that create a new OTEL trace when a new subscription is created.
func TraceOnError ¶
func TraceOnError[T any](collector *otelCollector) func(ro.Observable[T]) ro.Observable[T]
TraceOnError is a pipe operator that records an error in the current OTEL trace.
Types ¶
type CollectorConfig ¶
type CollectorConfig struct {
// Enable or disable the collection of traces, metrics and logs
EnableTracing bool
EnableMetrics bool
EnableLogging bool
// Use the global providers if nil
TracerProvider trace.TracerProvider
MetricProvider metric.MeterProvider
LoggerProvider log.LoggerProvider
// Attributes to add to all traces, metrics and logs
TraceAttributes []attribute.KeyValue
MetricAttributes []attribute.KeyValue
LoggingAttributes []attribute.KeyValue
// Histogram buckets in seconds
MetricHistogramObjectivesSeconds []float64
// On subscription, completion or cancellation
LogLevelSubscription log.Severity
// On next
LogLevelNext log.Severity
// On error
LogLevelError log.Severity
}