@@ -818,39 +818,6 @@ async fn evict_on_complete_does_not_count_as_forced_eviction() {
818818 assert ! ( !body. contains( "temporal_sticky_cache_total_forced_eviction" ) ) ;
819819}
820820
821- #[ tokio:: test]
822- async fn test_otel_errors_are_logged_as_errors ( ) {
823- // Create a subscriber that captures logs
824- let collector = tracing_subscriber:: fmt ( )
825- . with_max_level ( tracing:: Level :: ERROR )
826- . with_test_writer ( )
827- . finish ( ) ;
828-
829- // Set this subscriber as default
830- let _guard = tracing:: subscriber:: set_default ( collector) ;
831-
832- let opts = OtelCollectorOptionsBuilder :: default ( )
833- // Intentionally invalid endpoint
834- . url ( "http://localhost:9999/v1/metrics" . parse ( ) . unwrap ( ) )
835- // .protocol(OtlpProtocol::Http)
836- . build ( )
837- . unwrap ( ) ;
838-
839- // This exporter will fail every time it tries to export metrics
840- let exporter = build_otlp_metric_exporter ( opts) . unwrap ( ) ;
841-
842- }
843-
844- // use std::sync::{Arc, Mutex};
845- // use std::time::Duration;
846- // use temporal_sdk_core::{
847- // CoreRuntime, TelemetryOptionsBuilder, telemetry::{build_otlp_metric_exporter, OtlpProtocol, OtelCollectorOptionsBuilder, CoreMeter},
848- // };
849- // use tracing_subscriber::fmt::MakeWriter;
850- // use tracing::Level;
851- // use tokio::time::sleep;
852-
853- // A writer that captures logs into a buffer so we can assert on them.
854821struct CapturingWriter {
855822 buf : Arc < Mutex < Vec < u8 > > > ,
856823}
@@ -876,22 +843,16 @@ impl std::io::Write for CapturingHandle {
876843 }
877844}
878845
879- #[ tokio:: test( flavor = "multi_thread" , worker_threads = 2 ) ]
880- async fn test_otel_error_logged ( ) {
846+ #[ tokio:: test]
847+ async fn otel_errors_logged_as_errors ( ) {
881848 // Set up tracing subscriber to capture ERROR logs
882849 let logs = Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) ;
883850 let writer = CapturingWriter { buf : logs. clone ( ) } ;
884-
885- let subscriber = tracing_subscriber:: fmt ( )
886- . with_max_level ( tracing:: Level :: TRACE )
887- . with_writer ( writer)
888- . finish ( ) ;
851+ let subscriber = tracing_subscriber:: fmt ( ) . with_writer ( writer) . finish ( ) ;
889852 let _guard = tracing:: subscriber:: set_default ( subscriber) ;
890853
891- // Configure OTLP exporter with an invalid endpoint so it fails
892854 let opts = OtelCollectorOptionsBuilder :: default ( )
893- . url ( "http://localhost:9999/v1/metrics" . parse ( ) . unwrap ( ) ) // Invalid endpoint
894- // .protocol(OtlpProtocol::Http)
855+ . url ( "https://localhostt:9995/v1/metrics" . parse ( ) . unwrap ( ) ) // Invalid endpoint
895856 . build ( )
896857 . unwrap ( ) ;
897858 let exporter = build_otlp_metric_exporter ( opts) . unwrap ( ) ;
@@ -902,39 +863,23 @@ async fn test_otel_error_logged() {
902863 . unwrap ( ) ;
903864
904865 let rt = CoreRuntime :: new_assume_tokio ( telemopts) . unwrap ( ) ;
866+ let mut starter = CoreWfStarter :: new_with_runtime ( "otel_errors_logged_as_errors" , rt) ;
867+ let _worker = starter. get_worker ( ) . await ;
905868
906- let opts = get_integ_server_options ( ) ;
907- let mut raw_client = opts
908- . connect_no_namespace ( rt. telemetry ( ) . get_temporal_metric_meter ( ) )
909- . await
910- . unwrap ( ) ;
911- assert ! ( raw_client. get_client( ) . capabilities( ) . is_some( ) ) ;
912-
913- let _ = raw_client
914- . list_namespaces ( ListNamespacesRequest :: default ( ) )
915- . await
916- . unwrap ( ) ;
869+ // Wait to allow exporter to attempt sending metrics and fail.
870+ tokio:: time:: sleep ( Duration :: from_secs ( 2 ) ) . await ;
917871
918- // Trigger metric emission or just wait for exporter attempts
919- // If you have a Temporal client to generate metrics, you can do so here.
920- // For now, just wait to allow exporter to attempt sending metrics and fail.
921- tokio:: time:: sleep ( Duration :: from_secs ( 5 ) ) . await ;
922-
923-
924- // Check the captured logs
925872 let logs = logs. lock ( ) . unwrap ( ) ;
926873 let log_str = String :: from_utf8_lossy ( & logs) ;
927874
928- // Assert that there is an error log
929875 assert ! (
930876 log_str. contains( "ERROR" ) ,
931877 "Expected ERROR log not found in logs: {}" ,
932878 log_str
933879 ) ;
934- // Look for some substring that indicates OTLP export failed
935880 assert ! (
936- log_str. contains( "failed" ) || log_str . contains ( " error") ,
881+ log_str. contains( "Metrics exporter otlp failed with the grpc server returns error" ) ,
937882 "Expected an OTel exporter error message in logs: {}" ,
938883 log_str
939884 ) ;
940- }
885+ }
0 commit comments