HealthCheck
view release on metacpan or search on metacpan
lib/HealthCheck.pm view on Meta::CPAN
#pod status => "WARNING",
#pod tags => [ "fast", "cheap" ] # inherited
#pod },
#pod { id => "my_health_check",
#pod label => "My Health Check",
#pod tags => [ "cheap", "easy" ],
#pod status => "WARNING",
#pod results => [
#pod { id => "class_method",
#pod tags => [ "cheap", "easy" ],
#pod status => "WARNING",
#pod },
#pod { id => "object_method",
#pod tags => [ "cheap", "easy" ],
#pod status => "WARNING",
#pod },
#pod { id => "object_method_1",
#pod label => "My Checker",
#pod tags => [ "cheap", "copied_to_the_result" ],
#pod status => "WARNING",
#pod }
#pod ],
#pod }
#pod ],
#pod
#pod There is also runtime support,
#pod which can be enabled by adding a truthy C<runtime> param to the C<check>.
#pod
#pod $checker->check( tags => [ 'easy', '!fast' ], runtime => 1 );
#pod
#pod id => "my_health_check",
#pod label => "My Health Check",
#pod runtime => "0.000",
#pod runbook => 'https://grantstreetgroup.github.io/HealthCheck.html',
#pod tags => [ "cheap", "easy" ],
#pod status => "WARNING",
#pod results => [
#pod { id => "class_method",
#pod runtime => "0.000",
#pod tags => [ "cheap", "easy" ],
#pod status => "WARNING",
#pod },
#pod { id => "object_method",
#pod runtime => "0.000",
#pod tags => [ "cheap", "easy" ],
#pod status => "WARNING",
#pod }
#pod ],
#pod
#pod =head1 DESCRIPTION
#pod
#pod Allows you to create callbacks that check the health of your application
#pod and return a status result.
#pod
#pod There are several things this is trying to enable:
#pod
#pod =over
#pod
#pod =item *
#pod
#pod A fast HTTP endpoint that can be used to verify that a web app can
#pod serve traffic.
#pod To this end, it may be useful to use the runtime support option,
#pod available in L<HealthChecks::Diagnostic>.
#pod
#pod =item *
#pod A more complete check that verifies all the things work after a deployment.
#pod
#pod =item *
#pod
#pod The ability for a script, such as a cronjob, to verify that it's dependencies
#pod are available before starting work.
#pod
#pod =item *
#pod
#pod Different sorts of monitoring checks that are defined in your codebase.
#pod
#pod =back
#pod
#pod Results returned by these checks should correspond to the GSG
#pod L<Health Check Standard|https://grantstreetgroup.github.io/HealthCheck.html>.
#pod
#pod You may want to use L<HealthCheck::Diagnostic> to simplify writing your
#pod check slightly.
#pod
#pod =head1 METHODS
#pod
#pod =head2 new
#pod
#pod my $checker = HealthCheck->new( id => 'my_checker' );
#pod
#pod =head3 ATTRIBUTES
#pod
#pod =over
#pod
#pod =item checks
#pod
#pod An arrayref that is passed to L</register> to initialize checks.
#pod
#pod =item tags
#pod
#pod An arrayref used as the default set of tags for any checks that don't
#pod override them.
#pod
#pod =back
#pod
#pod Any other parameters are included in the "Result" hashref returned.
#pod
#pod Some recommended things to include are:
#pod
#pod =over
#pod
#pod =item id
#pod
#pod The unique id for this check.
#pod
#pod =item label
#pod
#pod A human readable name for this check.
#pod
#pod =item runbook
lib/HealthCheck.pm view on Meta::CPAN
status => "WARNING",
tags => [ "fast", "cheap" ] # inherited
},
{ id => "my_health_check",
label => "My Health Check",
tags => [ "cheap", "easy" ],
status => "WARNING",
results => [
{ id => "class_method",
tags => [ "cheap", "easy" ],
status => "WARNING",
},
{ id => "object_method",
tags => [ "cheap", "easy" ],
status => "WARNING",
},
{ id => "object_method_1",
label => "My Checker",
tags => [ "cheap", "copied_to_the_result" ],
status => "WARNING",
}
],
}
],
There is also runtime support,
which can be enabled by adding a truthy C<runtime> param to the C<check>.
$checker->check( tags => [ 'easy', '!fast' ], runtime => 1 );
id => "my_health_check",
label => "My Health Check",
runtime => "0.000",
runbook => 'https://grantstreetgroup.github.io/HealthCheck.html',
tags => [ "cheap", "easy" ],
status => "WARNING",
results => [
{ id => "class_method",
runtime => "0.000",
tags => [ "cheap", "easy" ],
status => "WARNING",
},
{ id => "object_method",
runtime => "0.000",
tags => [ "cheap", "easy" ],
status => "WARNING",
}
],
=head1 DESCRIPTION
Allows you to create callbacks that check the health of your application
and return a status result.
There are several things this is trying to enable:
=over
=item *
A fast HTTP endpoint that can be used to verify that a web app can
serve traffic.
To this end, it may be useful to use the runtime support option,
available in L<HealthChecks::Diagnostic>.
=item *
A more complete check that verifies all the things work after a deployment.
=item *
The ability for a script, such as a cronjob, to verify that it's dependencies
are available before starting work.
=item *
Different sorts of monitoring checks that are defined in your codebase.
=back
Results returned by these checks should correspond to the GSG
L<Health Check Standard|https://grantstreetgroup.github.io/HealthCheck.html>.
You may want to use L<HealthCheck::Diagnostic> to simplify writing your
check slightly.
=head1 METHODS
=head2 new
my $checker = HealthCheck->new( id => 'my_checker' );
=head3 ATTRIBUTES
=over
=item checks
An arrayref that is passed to L</register> to initialize checks.
=item tags
An arrayref used as the default set of tags for any checks that don't
override them.
=back
Any other parameters are included in the "Result" hashref returned.
Some recommended things to include are:
=over
=item id
The unique id for this check.
=item label
A human readable name for this check.
=item runbook
( run in 0.524 second using v1.01-cache-2.11-cpan-39bf76dae61 )