From f03af81fd58bd3b0fb0aec3e56828f1554008b65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Joaqu=C3=ADn=20Atria?= Date: Thu, 23 Nov 2023 18:34:29 +0000 Subject: [PATCH] Make all shutdown and force_flush methods async --- Changes | 2 ++ META.json | 1 + Makefile.PL | 2 ++ cpanfile | 1 + lib/OpenTelemetry/Exporter/OTLP.pm | 5 +++-- 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index 21b315a..65c09b5 100644 --- a/Changes +++ b/Changes @@ -4,6 +4,8 @@ Revision history for OpenTelemetry-Exporter-OTLP * Bump Object::Pad dependency to 0.74 to ensure support for field initialisers + * Make all shutdown and force_flush methods async. + This adds a new dependency on Future::AsyncAwait 0.013 2023-11-21 23:19:28+00:00 Europe/London diff --git a/META.json b/META.json index 5b9991f..f3e70e7 100644 --- a/META.json +++ b/META.json @@ -48,6 +48,7 @@ "requires" : { "Feature::Compat::Try" : "0", "File::Share" : "0", + "Future::AsyncAwait" : "0.38", "HTTP::Tiny" : "0", "JSON::MaybeXS" : "0", "Metrics::Any" : "0", diff --git a/Makefile.PL b/Makefile.PL index c9f6b9d..eaf176d 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -26,6 +26,7 @@ my %WriteMakefileArgs = ( "PREREQ_PM" => { "Feature::Compat::Try" => 0, "File::Share" => 0, + "Future::AsyncAwait" => "0.38", "HTTP::Tiny" => 0, "JSON::MaybeXS" => 0, "Metrics::Any" => 0, @@ -54,6 +55,7 @@ my %FallbackPrereqs = ( "Feature::Compat::Try" => 0, "File::Share" => 0, "File::Spec" => 0, + "Future::AsyncAwait" => "0.38", "HTTP::Tiny" => 0, "JSON::MaybeXS" => 0, "Metrics::Any" => 0, diff --git a/cpanfile b/cpanfile index 0d0af77..9df184b 100644 --- a/cpanfile +++ b/cpanfile @@ -1,4 +1,5 @@ requires 'Feature::Compat::Try'; +requires 'Future::AsyncAwait', '0.38'; # Object::Pad compatibility requires 'File::Share'; requires 'HTTP::Tiny'; requires 'JSON::MaybeXS'; diff --git a/lib/OpenTelemetry/Exporter/OTLP.pm b/lib/OpenTelemetry/Exporter/OTLP.pm index a9d7b33..563f453 100644 --- a/lib/OpenTelemetry/Exporter/OTLP.pm +++ b/lib/OpenTelemetry/Exporter/OTLP.pm @@ -7,6 +7,7 @@ our $VERSION = '0.014'; class OpenTelemetry::Exporter::OTLP :does(OpenTelemetry::Exporter) { use Feature::Compat::Try; + use Future::AsyncAwait; use HTTP::Tiny; use Module::Runtime 'require_module'; use OpenTelemetry::Common qw( config maybe_timeout timeout_timestamp ); @@ -307,12 +308,12 @@ class OpenTelemetry::Exporter::OTLP :does(OpenTelemetry::Exporter) { $self->$send_request( $request, $timeout ); } - method shutdown ( $timeout = undef ) { + async method shutdown ( $timeout = undef ) { $stopped = 1; TRACE_EXPORT_SUCCESS; } - method force_flush ( $timeout = undef ) { + async method force_flush ( $timeout = undef ) { TRACE_EXPORT_SUCCESS; } }