NAME

OpenTracing::Manual - A quick overview about Perl5 and OpenTracing

WARNING

The OpenTracing module on CPAN is NOT COMPLIANT with anything remotely like OpenTracing.IO or the OpenTracing::Interface.

DO NOT USE THE OPENTRACING PACKAGE

DESCRIPTION

This Manual is a quick overview of what is available in Perl related to the OpenTracing API Interface Definition.

This manual targets three different audiences:

Application Developers and Devops

Those that want to add instrumentation and tracing to their application or microservices.

See OpenTracing::Manual::Instrumentation.

Framework or Integration Developers

Those writing integrations for frameworks, in order to easily extract tracing information from incoming requests or inject tracing into outgoing requests.

See OpenTracing::Manual::Integration.

Tracing Service Implementation Providers

Those that want to have the Perl implementation communicate with their tracing service provider.

See OpenTracing::Manual::Implementation.

INTRODUCTION TO DISTRIBUTED TRACING AND OPENTRACING

From the OpenTracing IO website:

OpenTracing is comprised of an API specification, frameworks and libraries that have implemented the specification, and documentation for the project. OpenTracing allows developers to add instrumentation to their application code using APIs that do not lock them into any one particular product or vendor.

Distributed tracing, also called distributed request tracing, is a method used to profile and monitor applications, especially those built using a microservices architecture. Distributed tracing helps pinpoint where failures occur and what causes poor performance.

See also: OpenTracing Overview.

For a very condensed overview of how to use OpenTracing see: "SYNOPSIS" in OpenTracing::Interface

THE OPENTRACING ECOSYSTEM FOR PERL

Included is a list of available Perl Modules and those that are on the horizon. For more, see the OpenTracing::Manual::Ecosystem.

"The OpenTracing API Specification" in OpenTracing::Manual::Ecosystem.

The specification itself, and related modules.

"Integrations and Frameworks" in OpenTracing::Manual::Ecosystem.

Distributed tracing is all about connecting services and microservices together. These modules will handle the edges of the application and services and bootstrap tracer implementations.

"Instrumenting a Application" in OpenTracing::Manual::Ecosystem.

Once an application is running and the framework has taken care of most of the bootstrapping, these modules help to manage more detailed spans.

"Implementations" in OpenTracing::Manual::Ecosystem.

A list of various implementations that are compliant with the OpenTracing API.

"Development and Testing" in OpenTracing::Manual::Ecosystem.

Modules that might be of interest when developing integrations or implementations.

"Planned work" in OpenTracing::Manual::Ecosystem.

These modules will be needed for easier instrumentation of an application or better framework integration and distributed tracing.

"The Roadmap" in OpenTracing::Manual::Ecosystem.

Since all the work has been done for Perceptyx, no further development will be done on the following, unless ...

SEE ALSO

OpenTracing::Interface

A role that defines the Tracer interface.

OpenTracing::Manual::Instrumentation

For Application Developers and Devops.

OpenTracing::Manual::Integration

For Framework or Integration Developers

OpenTracing::Manual::Implementation

For Tracing Service Implementations

OpenTracing::Manual::Ecosystem

An overview of the OpenTracing puzzle pieces.

OpenTracing Overview

The OpenTracing API standard.

AUTHOR

Theo van Hoesel <tvanhoesel@perceptyx.com>

COPYRIGHT AND LICENSE

'OpenTracing API for Perl' is Copyright (C) 2019 .. 2020, Perceptyx Inc

This library is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.

This library is distributed in the hope that it will be useful, but it is provided "as is" and without any express or implied warranties.

For details, see the full text of the license in the file LICENSE.