Hello PerlMonks community,

We are trying to implement distributed tracing (APM-style request tracing) for a legacy Perl application running in a microservices environment.

Our goal is limited to application tracing only:

We do not require infrastructure metrics or logs.

We attempted to use OpenTelemetry for Perl. While we were able to create traces and spans, we could not reliably export them due to limitations in the Perl ecosystem.

Our findings so far:

We also evaluated Jaeger and Zipkin. However, they are tracing backends only and cannot generate traces or spans themselves without a supported Perl instrumentation and export mechanism.

Given this situation, I would appreciate guidance from experienced Perl users on the following questions:

  1. Is true distributed tracing / APM for Perl applications realistically possible today?
  2. Are there any community-recommended Perl modules or approaches to export traces (for example using Jaeger Thrift, Zipkin HTTP, or other non-OTLP formats)?
  3. Are there any platforms or vendors (open source or commercial) that successfully support Perl tracing in production?
  4. If Perl-level instrumentation is not practical, are proxy-based or gateway-based tracing approaches (for example using Nginx or Envoy) the recommended solution for legacy Perl applications?
  5. In your experience, what is the most practical and supported way to achieve observability for Perl services?

Any pointers to existing CPAN modules, real-world implementations, or alternative strategies would be greatly appreciated.

Thank you for your time and expertise.

Best regards,
ShallTear


In reply to Is distributed tracing / APM realistically possible for legacy Perl applications? by ShallTear

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.