logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

"Metrics::Any::Adapter" - set the "Metrics::Any" adapter for the program

Author

       Paul Evans <leonerd@leonerd.org.uk>

perl v5.36.0                                       2023-09-29                         Metrics::Any::Adapter(3pm)

Description

       The "use" statement which loads this module sets the adapter module for Metrics::Any to report metrics
       generated by an modules the program uses.

       The first value passed should be a string giving the name of an adapter module, which will be expected
       under the "Metrics::Any::Adapter::"-prefix.  This module will be loaded and set as the adapter to use.
       Any additional arguments will be passed to the constructor of the adapter instance.

          use Metrics::Any::Adapter Custom => "another arg";

          # implies
          $adapter = Metrics::Any::Adapter::Custom->new( "another arg" );

Environment

METRICS_ANY_ADAPTERSinceversion0.04.

       Sets the default adapter type to use if the program has not otherwise requested one.

       Normally this is set to "Null", which loads Metrics::Any::Adapter::Null.  By overriding this to a
       different value, a default adapter can be loaded without modifying the program. This may be useful for
       example, when running unit tests:

          $ METRICS_ANY_ADAPTER=Stderr ./Build test

       Additional arguments can be specified after a colon, separated by commas or equals signs.

          $ METRICS_ANY_ADAPTER=File:path=metrics.log ./program.pl

       Note that if a program requests a specific adapter that will override this variable.

       A limited attempt is made at supporting nested arguments wrapped in square brackets, to allow basic
       operation of the Metrics::Any::Adapter::Tee adapter via this variable to itself pass arguments into child
       adapters:

          $ METRICS_ANY_ADAPTER=Tee:Prometheus,[File:path=metrics.log] perl ...

       This should be considered a best-effort scenario useful for short-term testing and debugging. For more
       complex requirements in your script or program, it is better to use the import arguments directly as then
       any perl data structures can be passed around.

Name

       "Metrics::Any::Adapter" - set the "Metrics::Any" adapter for the program

Synopsis

       In a program or top-level program-like module:

          use Metrics::Any::Adapter 'Prometheus';

See Also