Metrics-Any
view release on metacpan or search on metacpan
lib/Metrics/Any/Adapter.pm view on Meta::CPAN
my $caller = caller;
$pkg->import_into( $caller, @_ );
}
# Class method so Metrics::Any::Adapter::Tee can share it
sub split_type_string
{
shift;
my ( $str ) = @_;
my ( $type, $argstr ) = split m/[:,]/, $str, 2;
my @args;
while( length $argstr ) {
if( $argstr =~ m/^\[/ ) {
# Extract the entire contents of the [...] bracket
# TODO: Support deeper nesting somehow? Currently this is only used
# for using the Tee adapter via the $METRICS_ANY_ADAPTER variable
$argstr =~ s/^\[(.*?)\](?:,|=|$)// or
croak "Missing close bracket ] in adapter type string";
push @args, $1;
lib/Metrics/Any/AdapterBase/Stored.pm view on Meta::CPAN
foreach my $cb ( @$cbs ) { $cb->() }
}
foreach my $handle ( sort keys %$self ) {
next if $handle =~ m/^\0/;
my $metric = $self->{$handle};
my $values = $metric->{values};
foreach my $labelset ( sort keys %$values ) {
my @labels = map { split m/:/, $_, 2 } split m/\0/, $labelset;
$code->( $metric->{type}, $metric->{name}, \@labels, $values->{$labelset} );
}
}
}
=head2 clear_values
$stored->clear_values
lib/Metrics/Any/Collector.pm view on Meta::CPAN
deferred => [],
name_prefix => $args{name_prefix},
metrics => {},
strict => $args{strict} // 1,
}, $class;
}
my %disable_for_package;
my %disable_for_namespace;
if( my $val = $ENV{METRICS_ANY_DISABLE} ) {
foreach my $pattern ( split m/,/, $val ) {
if( $pattern =~ s/\*$// ) {
$pattern =~ s/::$//;
$disable_for_namespace{$pattern} = 1;
}
else {
$disable_for_package{$pattern} = 1;
}
}
require Metrics::Any::Adapter::Null;
( run in 0.763 second using v1.01-cache-2.11-cpan-71847e10f99 )