@@ -472,12 +472,35 @@ const zodIpc = new ZodIpcConnection({
472472async function flushAll ( timeoutInMs : number = 10_000 ) {
473473 const now = performance . now ( ) ;
474474
475- await Promise . all ( [
475+ const results = await Promise . allSettled ( [
476476 flushUsage ( timeoutInMs ) ,
477477 flushTracingSDK ( timeoutInMs ) ,
478478 flushMetadata ( timeoutInMs ) ,
479479 ] ) ;
480480
481+ const successfulFlushes = results
482+ . filter ( ( result ) => result . status === "fulfilled" )
483+ . map ( ( result ) => result . value . flushed ) ;
484+ const failedFlushes = [ "usage" , "tracingSDK" , "runMetadata" ] . filter (
485+ ( flushed ) => ! successfulFlushes . includes ( flushed )
486+ ) ;
487+
488+ if ( failedFlushes . length > 0 ) {
489+ console . error ( `Failed to flush ${ failedFlushes . join ( ", " ) } ` ) ;
490+ }
491+
492+ const errorMessages = results
493+ . filter ( ( result ) => result . status === "rejected" )
494+ . map ( ( result ) => result . reason ) ;
495+
496+ if ( errorMessages . length > 0 ) {
497+ console . error ( errorMessages . join ( "\n" ) ) ;
498+ }
499+
500+ for ( const flushed of successfulFlushes ) {
501+ console . log ( `Flushed ${ flushed } successfully` ) ;
502+ }
503+
481504 const duration = performance . now ( ) - now ;
482505
483506 console . log ( `Flushed all in ${ duration } ms` ) ;
@@ -491,6 +514,11 @@ async function flushUsage(timeoutInMs: number = 10_000) {
491514 const duration = performance . now ( ) - now ;
492515
493516 console . log ( `Flushed usage in ${ duration } ms` ) ;
517+
518+ return {
519+ flushed : "usage" ,
520+ durationMs : duration ,
521+ } ;
494522}
495523
496524async function flushTracingSDK ( timeoutInMs : number = 10_000 ) {
@@ -501,6 +529,11 @@ async function flushTracingSDK(timeoutInMs: number = 10_000) {
501529 const duration = performance . now ( ) - now ;
502530
503531 console . log ( `Flushed tracingSDK in ${ duration } ms` ) ;
532+
533+ return {
534+ flushed : "tracingSDK" ,
535+ durationMs : duration ,
536+ } ;
504537}
505538
506539async function flushMetadata ( timeoutInMs : number = 10_000 ) {
@@ -511,6 +544,11 @@ async function flushMetadata(timeoutInMs: number = 10_000) {
511544 const duration = performance . now ( ) - now ;
512545
513546 console . log ( `Flushed runMetadata in ${ duration } ms` ) ;
547+
548+ return {
549+ flushed : "runMetadata" ,
550+ durationMs : duration ,
551+ } ;
514552}
515553
516554const managedWorkerRuntime = new ManagedRuntimeManager ( zodIpc , true ) ;
0 commit comments