---
name: "MooseX::Role::Timer"
section: "3pm"
platform: "linux"
package: "libmoosex-role-timer-perl"
version: "0.05-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MooseX::Role::Timer"
---

# MooseX::Role::Timer(3pm)

Measure times with your object.

## NAME

MooseX::Role::Timer - Measure times with your object.

## SYNOPSIS

```
 package Demo;
 use Moose; # or Any::Moose
 with 'MooseX::Role::Timer';
 sub BUILD {
   shift->start_timer("build");
 }
 sub do_something {
   my $self = shift;
   $self->start_timer("something");
   # do something...
   $self->stop_timer("something");
 }
 package main;
 my $demo = Demo->new;
 $demo->do_something;
 $demo->do_something;
 printf "%3.6fs\n", $demo->elapsed_timer("build");     # time spent since BUILD
 printf "%3.6fs\n", $demo->elapsed_timer("something"); # time spent in sub do_something
```

This Role provides your object with timers, making it easier to keep track of how long  whatever actions take.

- start\_timer($name)

  Start timer `$name`.

- stop\_timer($name)

  Stop timer `$name`. Could be started again to cumulatively measure time.

- reset\_timer($name)

  Stops timer `$name` and clears cumulated times for `$name`.

- elapsed\_timer('name')

  Return the elapsed time in seconds (cumulated) for timer `$name`.

- timer\_names

  Return all timer names.

## AUTHOR

Michael Langner, `"<mila at cpan.org>"`

## BUGS

Please report any bugs or feature requests to `"bug-moosex-role-timer at rt.cpan.org"`, or through the web interface at \<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MooseX-Role-Timer\>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

## COPYRIGHT & LICENSE

Copyright 2015 Michael Langner, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
