OpenTelemetry-Exporter-OTLP
view release on metacpan or search on metacpan
lib/OpenTelemetry/Exporter/OTLP/Encoder/JSON.pm view on Meta::CPAN
use Object::Pad ':experimental(init_expr)';
# ABSTRACT: A JSON encoder for the OTLP exporter
package OpenTelemetry::Exporter::OTLP::Encoder::JSON;
our $VERSION = '0.021';
class OpenTelemetry::Exporter::OTLP::Encoder::JSON {
use JSON::MaybeXS;
use OpenTelemetry::Constants 'HEX_INVALID_SPAN_ID';
use Ref::Util qw( is_hashref is_arrayref );
use Scalar::Util 'refaddr';
use isa 'OpenTelemetry::SDK::Logs::LogRecord';
method content_type () { 'application/json' }
method serialise ($data) { encode_json $data }
method encode_arraylist ($v) {
[ map $self->encode_anyvalue($_), @$v ]
lib/OpenTelemetry/Exporter/OTLP/Encoder/Protobuf.pm view on Meta::CPAN
package OpenTelemetry::Exporter::OTLP::Encoder::Protobuf;
our $VERSION = '0.021';
class OpenTelemetry::Exporter::OTLP::Encoder::Protobuf
:isa(OpenTelemetry::Exporter::OTLP::Encoder::JSON) {
use OpenTelemetry::Constants 'INVALID_SPAN_ID';
use OpenTelemetry::Proto;
use Ref::Util qw( is_hashref is_arrayref );
use Scalar::Util 'refaddr';
method content_type () { 'application/x-protobuf' }
method serialise ($data) {
return OpenTelemetry::Proto::Collector::Logs::V1::ExportLogsServiceRequest
->new_and_check({ resource_logs => $data->{resourceLogs} })->encode
if $data->{resourceLogs};
return OpenTelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest
( run in 0.270 second using v1.01-cache-2.11-cpan-4d50c553e7e )