FAQ

Andreas wrote:
I could imagine Devel::, but maybe a new top level is in order. That
could be Tune or Trace. Devel has the advantage of being there and
being accurate. But it is already crowded. And most of Devel is
special to perl while ARM is not perl specific.

I think, I'd like Tune or Tuning. Let's hear more opinions, please.
MHO, FWIW:

Unfortunately, Devel has a special place in perl's heart: the -d
command-line switch. I.e. "-d:foo runs the program under the control
of a debugging, profiling, or tracing module installed as Devel::foo."

And besides, this ARM thing sounds too similar to Devel::DProf to
not be placed along side it.

But if this -d: feature is not expected to be used, then probably
a Perf top-level is needed. If a new top-level is going to be
created, it should be broad enough that it doesn't end up
under-populated, as I fear Tune/Tuning would.

(Am I correct in inferring that this ARM module is not specific
to use with DBI? That was the only context it was given.)

--
John Porter

You're correct -- it could be used in many non-DBI or database
applications.


In the past, this set of functions have been used in C source code:

arm_init()
arm_getid()
arm_start()
arm_update()
arm_stop()
arm_end()

These routines are defined in libarm.sl (or your OS's shared lib
equivalent: libarm.dll libarm.so). The libarm.sl is supplied by a
metric collection tool like Tivoli, HP Measureware, etc, and correlated
the starts, stops, and updates to get statistics on how long applications
are taking for some user defined step, such as a business transaction.

This isn't really development work, since the calls would be a permanent
part of your application code. The metric collection tools would provide
all the niceties of stats, historical trending, and alarming. It's really
more performance monitoring or measurement, but I suppose tracing is
fairly accurate.

I'd propose a top level of
Perf:: or PerfMeasurement:: or Perf::Measurement but I'd settle for
Tune:: or Tuning::

One could even make a case for this being related to system administration,
since sysadmins and DBAs would be probable consumers of the data. It's
not clear that someone browsing through the modules would guess
Sysadmin:: for a top level though...


To further illustrate, an extremely brain dead example of old C code
would look something like this:

/*********/
main()
{
arm_init(args);
for(i=0;i<a_zillion;i++) {
arm_start(args);
access_a_database();
do_some_calculations();
arm_stop
}
arm_end();
}
/*********/

However, it's much nicer to do this sort of thing in perl, so as a first
step, I'm doing this:

############
use ARM;
ARM::arm_init($args);

for ($i=0;$i<$limit;$i++) {
$tran_handle= ARM::arm_start($tran_id, $other_args);
# do calculations or DBI accesses to Oracle
$return_code= ARM::arm_stop($tran_handle, $other_args);
}

ARM::end($args);
############


and, given more time and help from some perl object experts, something
along these lines would be nice:

############
use ARM;
my $application= new ARM::application;

$application->arm_init($args);

my $transaction= new ARM::transaction;

for ($i=0;$i<$limit;$i++) {
$transaction->arm_start($other_args);
# do calculations or DBI accesses to Oracle
$transaction->arm_stop($other_args);
}

$application->arm_end($args);
############

These would still be layers over vendor supplied libarm.sl routines, but
much more perl friendly, and would be a good way for folks with perl
DBI or transaction processing apps or test to see their performance.

bb

----- Bryan Backer - bryan_backer@hp.com (972)497-4640 fax:(972)497-4245

Search Discussions

  • Andreas J. Koenig at Oct 28, 1999 at 5:49 am

    On Wed, 27 Oct 1999 09:11:49 -0400, John Porter said:
    Andreas wrote:
    I could imagine Devel::, but maybe a new top level is in order. That
    could be Tune or Trace. Devel has the advantage of being there and
    being accurate. But it is already crowded. And most of Devel is
    special to perl while ARM is not perl specific.

    I think, I'd like Tune or Tuning. Let's hear more opinions, please.
    MHO, FWIW:
    Unfortunately, Devel has a special place in perl's heart: the -d
    command-line switch. I.e. "-d:foo runs the program under the control
    of a debugging, profiling, or tracing module installed as Devel::foo."
    And besides, this ARM thing sounds too similar to Devel::DProf to
    not be placed along side it.
    But if this -d: feature is not expected to be used, then probably
    a Perf top-level is needed. If a new top-level is going to be
    created, it should be broad enough that it doesn't end up
    under-populated, as I fear Tune/Tuning would.
    You convinced me. Perf::ARM OK for you, Bryan?

    --
    andreas
  • Bryan Backer at Oct 28, 1999 at 3:49 pm

    On Wed, 27 Oct 1999 09:11:49 -0400, John Porter <jdporter@min.net> said:
    Andreas wrote:
    I could imagine Devel::, but maybe a new top level is in order. That
    could be Tune or Trace. Devel has the advantage of being there and
    being accurate. But it is already crowded. And most of Devel is
    special to perl while ARM is not perl specific.

    I think, I'd like Tune or Tuning. Let's hear more opinions, please.
    MHO, FWIW:
    Unfortunately, Devel has a special place in perl's heart: the -d
    command-line switch. I.e. "-d:foo runs the program under the control
    of a debugging, profiling, or tracing module installed as Devel::foo."
    And besides, this ARM thing sounds too similar to Devel::DProf to
    not be placed along side it.
    But if this -d: feature is not expected to be used, then probably
    a Perf top-level is needed. If a new top-level is going to be
    created, it should be broad enough that it doesn't end up
    under-populated, as I fear Tune/Tuning would.
    You convinced me. Perf::ARM OK for you, Bryan?

    --
    andreas
    Sure -- that would be great!

    bb
  • Andreas J. Koenig at Nov 3, 1999 at 8:45 pm

    On Thu, 28 Oct 1999 10:47:43 -0500 (CDT), Bryan Backer said:
    You convinced me. Perf::ARM OK for you, Bryan?
    Sure -- that would be great!
    OK, so it will be in tomorrow.

    --
    andreas

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupmodules @
categoriesperl
postedOct 27, '99 at 4:11p
activeNov 3, '99 at 8:45p
posts4
users2
websitecpan.org...

2 users in discussion

Andreas J. Koenig: 2 posts Bryan Backer: 2 posts

People

Translate

site design / logo © 2019 Grokbase