File perl-OpenTelemetry-SDK.spec of Package perl-OpenTelemetry-SDK

#
# spec file for package perl-OpenTelemetry-SDK
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define cpan_name OpenTelemetry-SDK
Name:           perl-OpenTelemetry-SDK
Version:        0.028
Release:        0
License:        Artistic-1.0 OR GPL-1.0-or-later
Summary:        An implementation of the OpenTelemetry SDK for Perl
URL:            https://metacpan.org/release/%{cpan_name}
Source0:        https://cpan.metacpan.org/authors/id/J/JJ/JJATRIA/%{cpan_name}-%{version}.tar.gz
BuildArch:      noarch
BuildRequires:  perl
BuildRequires:  perl-macros
BuildRequires:  perl(Feature::Compat::Try)
BuildRequires:  perl(Future::AsyncAwait) >= 0.38
BuildRequires:  perl(IO::Async::Loop)
BuildRequires:  perl(JSON::PP)
BuildRequires:  perl(Metrics::Any)
BuildRequires:  perl(Module::Build::Tiny) >= 0.034
BuildRequires:  perl(Mutex)
BuildRequires:  perl(Object::Pad) >= 0.74
BuildRequires:  perl(OpenTelemetry) >= 0.030
BuildRequires:  perl(OpenTelemetry::Exporter::OTLP)
BuildRequires:  perl(Syntax::Keyword::Dynamically)
BuildRequires:  perl(Test2::V0)
BuildRequires:  perl(bigfloat) >= 0.65
BuildRequires:  perl(isa)
Requires:       perl(Feature::Compat::Try)
Requires:       perl(Future::AsyncAwait) >= 0.38
Requires:       perl(IO::Async::Loop)
Requires:       perl(Metrics::Any)
Requires:       perl(Mutex)
Requires:       perl(Object::Pad) >= 0.74
Requires:       perl(OpenTelemetry) >= 0.030
Requires:       perl(OpenTelemetry::Exporter::OTLP)
Requires:       perl(bigfloat) >= 0.65
Requires:       perl(isa)
%{perl_requires}

%description
The at https://opentelemetry.io standard keeps a strict separation between
an API layer that implements an interface that is backend-agnostic, and an
SDK layer that can be connected to the API to do the actual work.

For a Perl implementation of the API layer, please refer to the
OpenTelemetry distribution.

The OpenTelemetry::SDK distribution provides the other half of that
picture: it implements the OpenTelemetry SDK. While the API allows library
authors to instrument their code so it produces telemetry data, the SDK
allows application authors who use those libraries to process that data and
make use of it how they see fit.

In most cases, simply importing this module will be enough. This can happen
at compile time if the module is loaded via at
https://perldoc.perl.org/functions/use, or at runtime if the module is
loaded with at https://perldoc.perl.org/functions/require and import is
manually called.

When the SDK is loaded, it will install an instance of
OpenTelemetry::SDK::Trace::TracerProvider as the global tracer provider,
and configure the span exporters and processors that have been configured
in the environment.

%prep
%autosetup  -n %{cpan_name}-%{version}

%build
perl Build.PL --installdirs=vendor
./Build build --flags=%{?_smp_mflags}

%check
./Build test

%install
./Build install --destdir=%{buildroot} --create_packlist=0
%perl_gen_filelist

%files -f %{name}.files
%doc Changes README.md
%license LICENSE

%changelog
openSUSE Build Service is sponsored by