Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Oct 1997 00:00:22 -0700 (PDT)
From:      Simon Shapiro <Shimon@i-Connect.Net>
To:        freebsd-hackers@freebsd.org, freebsd-dlm@primer.i-connect.net
Subject:   Advice Seeked - Non-Invasive Metrics Techniques
Message-ID:  <XFMail.971003000022.Shimon@i-Connect.Net>

next in thread | raw e-mail | index | archive | help
Hi Y'all,

I hope the subject line is accurate.

I need to carefully tune and analyze timing and perfromance statistics.
Mainly to identify why some rotines in the DLM take so much time.

I am looking for ideas on how to measure the behavior of code, take time
measurements, count events, etc. without consuming so much time.

For example, when measuring time, I have the following strategy:

In the dlm_lock_t structure, I have

typedef struct dlm_lock
}
...

    struct timeval start_time, stop_time;

} dlm_lock_t

Then, I have the function:

static INLINE void
dlm_debug_times(dlm_lock_t *lock, int line)
{
    microtime(&lock->stop_time);
    printf("So far (%d) %d\n", line,
           time_delta(lock->start_time, lock->stop_time));
}

...

Then, when I want to time sone code I do

static int
some_function(dlm_lock_t *lock, ...)
{
    ...

    microtime(&lock->start_time);

    ...

    /* Before a certain block of code */
    dlm_debug_times(lock, __LINE__);

    ...
    /* Some code to be timed */
    ...

    dlm_debug_times(lock, __LINE__);

    ...
}

Is there a better way to do that?
In this context, better means a way to impact the performance of the system
to a lesser degree.

I have a sneaking suspicion that the above mechnism takes a lot of time,
thus upsetting the code being timed.

Any suggestion will be appreciated.

Thanx!


---


Sincerely Yours, 

Simon Shapiro                                                 Atlas Telecom
Senior Architect         14355 SW Allen Blvd., Suite 130 Beaverton OR 97005
Shimon@i-Connect.Net                                  Voice:   503.799.2313



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.971003000022.Shimon>