Add metrics for dropped messages
[dcaegen2/collectors/hv-ves.git] / sources / hv-collector-utils / src / main / kotlin / org / onap / dcae / collectors / veshv / utils / logging / reactive_logging.kt
index 95590d9..e7aca55 100644 (file)
@@ -25,6 +25,8 @@ import arrow.core.Try
 import reactor.core.publisher.Flux
 import reactor.core.publisher.Mono
 
+typealias MessageEither = Either<() -> String, () -> String>
+
 fun <T> Logger.handleReactiveStreamError(
         context: MappedDiagnosticContext,
         ex: Throwable,
@@ -60,7 +62,7 @@ fun <T> Option<T>.filterEmptyWithLog(logger: Logger,
 
 fun <T> Flux<T>.filterFailedWithLog(logger: Logger,
                                     context: MappedDiagnosticContext,
-                                    predicate: (T) -> Either<() -> String, () -> String>) =
+                                    predicate: (T) -> MessageEither): Flux<T> =
         flatMap { t ->
             predicate(t).fold({
                 logger.warn(context, it)
@@ -69,4 +71,4 @@ fun <T> Flux<T>.filterFailedWithLog(logger: Logger,
                 logger.trace(context, it)
                 Mono.just<T>(t)
             })
-        }
+        }
\ No newline at end of file