The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

OpenTelemetry::Proto - The protobuf definitions for the OpenTelemetry Protocol

SYNOPSIS

    use OpenTelemetry::Proto;

    my $blob = OpenTelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest
        ->new_and_check(\%payload)
        ->encode;

    $useragent->post( $url => { content => $blob } );

DESCRIPTION

This module contains Perl bindings for the OTLP Protobuf interface. These can be used to decode OTLP binary data into Perl data structures, or to do the inverse and encode Perl data structures into OTLP binary data. It is used most notably by OpenTelemetry::Exporter::OTLP to encode the data it sends when using a binary encoding.

Importing this module will import all the classes generated from the v1.2.0 OTLP language-independent interface type definitions available at the OTLP specification repository.

These classes are generated using Google::ProtocolBuffers::Dynamic internally, so please consult the documentation of that distribution (Google::ProtocolBuffers::Dynamic::Message in particular) for details on the methods that can be called on them.

CLASSES

This section lists the classes that become available by importing this module. Each entry links to the definition of that protobuf message in the specification. Please refer to these for details on their fields and their meanings.

OpenTelemetry::Proto::Collector::Logs::V1::ExportLogsServiceRequest
OpenTelemetry::Proto::Collector::Logs::V1::ExportLogsServiceResponse
OpenTelemetry::Proto::Collector::Logs::V1::ExportLogsPartialSuccess
OpenTelemetry::Proto::Collector::Metrics::V1::ExportMetricsServiceRequest
OpenTelemetry::Proto::Collector::Metrics::V1::ExportMetricsServiceResponse
OpenTelemetry::Proto::Collector::Metrics::V1::ExportMetricsPartialSuccess
OpenTelemetry::Proto::Collector::Trace::V1::ExportTraceServiceRequest
OpenTelemetry::Proto::Collector::Trace::V1::ExportTraceServiceResponse
OpenTelemetry::Proto::Collector::Trace::V1::ExportTracePartialSuccess
OpenTelemetry::Proto::Common::V1::AnyValue
OpenTelemetry::Proto::Common::V1::ArrayValue
OpenTelemetry::Proto::Common::V1::KeyValueList
OpenTelemetry::Proto::Common::V1::KeyValue
OpenTelemetry::Proto::Common::V1::InstrumentationScope
OpenTelemetry::Proto::Logs::V1::LogsData
OpenTelemetry::Proto::Logs::V1::ResourceLogs
OpenTelemetry::Proto::Logs::V1::ScopeLogs
OpenTelemetry::Proto::Logs::V1::LogRecord
OpenTelemetry::Proto::Metrics::V1::MetricsData
OpenTelemetry::Proto::Metrics::V1::ResourceMetrics
OpenTelemetry::Proto::Metrics::V1::ScopeMetrics
OpenTelemetry::Proto::Metrics::V1::Metric
OpenTelemetry::Proto::Metrics::V1::Gauge
OpenTelemetry::Proto::Metrics::V1::Sum
OpenTelemetry::Proto::Metrics::V1::Histogram
OpenTelemetry::Proto::Metrics::V1::ExponentialHistogram
OpenTelemetry::Proto::Metrics::V1::Summary
OpenTelemetry::Proto::Metrics::V1::NumberDataPoint
OpenTelemetry::Proto::Metrics::V1::HistogramDataPoint
OpenTelemetry::Proto::Metrics::V1::ExponentialHistogramDataPoint
OpenTelemetry::Proto::Metrics::V1::SummaryDataPoint
OpenTelemetry::Proto::Metrics::V1::Exemplar
OpenTelemetry::Proto::Resource::V1::Resource
OpenTelemetry::Proto::Trace::V1::TracesData
OpenTelemetry::Proto::Trace::V1::ResourceSpans
OpenTelemetry::Proto::Trace::V1::ScopeSpans
OpenTelemetry::Proto::Trace::V1::Span
OpenTelemetry::Proto::Trace::V1::Status

SEE ALSO

Google::ProtocolBuffers::Dynamic
OpenTelemetry::Exporter::OTLP
The OTLP Specification

ACKNOWLEDGEMENTS

Special thanks to CV-Library Ltd. for their support in the development of this library.

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by José Joaquín Atria.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.