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.952 second using v1.01-cache-2.11-cpan-c333fce770f )