Solaris Extended Accounting in the Real World

21 Oct '09 - 06:36 by benr

Recently we talked about Solaris Auditing (BSM) in the Real World. Like BSM, Extended Accounting is a fantastic feature of Solaris that is utterly useless without tools. Solaris goes so far as giving you the capability but not so far as to hand you the rest of the solution on a silver platter. On one hand this means that the technology isn't pigeon holed due to the capabilities of a single tool, but at the same time it creates a barrier to entry that causes many people to simply ignore it all together. So, yet again, let me provide a simple tool to fill some of that void.

In a previous post, Solaris Extended Accounting, I described Extended Accounting and provided two scripts to get you started, one was a PERL script to dump Extended Accounting ("exacct") data files and the other was called "prettyproc" which output Proccess Accounting files in a more human friendly way. This post should be viewed as Part 2 of that post.

When & How to use Extended Accounting

The most basic explanation of Extended Accounting is this: a facility that records certain events upon completion for later analysis. Those certain events depend on which of the four accounting types we're using. For processes, the cumulative data maintained by Solaris microstate accounting is written into a single record as process termination. For tasks, which are groups of processes within a single project, the same applies but recorded on each task termination rather than process. For (Crossbow) net, aggregate network utilization is written out on regular intervals (15 seconds). We'll ignore IPQoS "flow" Accounting entirely for the time being.

So the first thing we should say is that Extended Accounting is not a monitoring facility. If you want to know how much CPU or Memory is being used at some given time you should rely upon Kstats or /proc statistics on a polling schedule.

What Extended Accounting is good for is reporting. Consider 'net' accounting; every 15 seconds a record is created for each data link (dladm show-link). You could easily create a report at some interval (hour, day, week, month?) for both total bytes/packets sent/recieved on each link or great a graph or perhaps most likely calculate 95th percentile on the links. Now, in this case of 'net' accounting you could also use an external system to poll the data remotely via SNMP or locally via kstats, but this might serve as a better "definiative" local record.

Proc accounting is fuzzy ground though. The best way I can explain process accounting is to imagine that every time you executed a command Solaris was secretly running "time(1M)" and then storing the output on your behalf.

benr@quadra Downloads$ time tar xfj flash_player_10_solaris_x86.tar.bz2 

real    0m0.763s
user    0m0.705s
sys     0m0.070s

This is, essentially, whats happening! Solaris maintains a lot of detail on what processes are doing (known as "microstate accounting"). Normally, when a process terminates that data is simply discarded, however if Process Extended Accounting is enabled its dumped out as a record! From this record we can see interesting stats such as when the process started, when it finished (real time), how long it spent cpu time in kernel-land (sys time), how long it spent cpu time in user-land (user time), how many context switches it made, how much swapping it did, what its average RSS memory usage was, etc, etc, etc.

But as wonderful as this is, I have to make it crystal clear that this data isn't written out untill a process terminates! If MySQL runs for 4 months, it outputs a single record when it was finally shut down, and that record is the accumulation of that full 4 months of running!

Here is the exception. Proc and Task records can be "full" or "partial". When a process/task terminates and creates a record, that's a "full record". However, using "wracct" we can force a process or task to create a "partial record", which is essentially a way of saying "Just tell me what you've got so far!" The rub is that, in the proc case, that data is cumulative, so if you wanted to report on what a process has done in the last 24 hours you need to write a partial record every 24 hours and the find the difference between the partial record yesterday and partial record today. Talk about fun.

Now, besides all that, who actually bills users or reports usage based on total CPU time? Total context switches? This isn't the 1970's nor is this likely to be a Super Computer reporting computational time. In short, the data probably isn't terribly useful as a basis for billing in this day and age without some creative thought.

So then lets think... what can we determine from the data. Based on CPU usage we could determine what the top 5 CPU consuming processes were. Based on average RSS usage we could determine what the top memory consumers were. So on and so forth. Interesting perhaps... but worth it?

Go back to what I said about running "time" on every command. This data could be of used for capacity planning or, with some intelligence, behavior monitoring. Are your users complaining about commands taking too long to run, but when you ask how long they give you a bogus number or simply shrug? Extended Accounting can tell you. Are batch jobs running at night but want a record of when they started and how resource hungry they were? Here is a way that doesn't involve writing wrappers!

In short, Extended Accounting is a pretty lousy billing system on todays mulit-core systems, but it can provide useful historical statistics to questions that might be otherwise difficult to answer.

Practical Tools

The first tool I'll provide you with is a PERL replacement for the Solaris included /usr/demo/libexacct/exdump.c: exdebug.pl. This tool offers the following advantages:

  1. exdump.c hasn't been updated for the new Crossbow provided 'net' accounting data; exdebug.pl is module agnostic and works with them all.
  2. The output is just much cleaner and intuitive for exploring what ExAcct can do for you.
  3. Its implemented in PERL making it easier to get in there and build something, rather than dealing with the libexacct learning curve in C. If nothing else you can quickly prototype and then re-implement in C.

Here is an example from an 'net' record:

benr@quadra exacct$ acctadm net
            Net accounting: active
       Net accounting file: /var/adm/exacct/net
     Tracked net resources: extended
   Untracked net resources: none
benr@quadra exacct$ pfexec ./exdebug.pl /var/adm/exacct/net | more
Creator:  SunOS
Hostname: quadra

---------------- OBJECT 0 -----------------------
Object is: EO_GROUP   -   Catalog: EXT_GROUP EXC_DEFAULT EXD_GROUP_NET_LINK_DESC
                Id: EXD_NET_DESC_NAME   Value: testzone0
                Id: EXD_NET_DESC_EHOST  Value: 
                Id: EXD_NET_DESC_EDEST  Value: 
                Id: EXD_NET_DESC_VLAN_TPID      Value: 0
                Id: EXD_NET_DESC_VLAN_TCI       Value: 0
                Id: EXD_NET_DESC_SAP    Value: 0
                Id: EXD_NET_DESC_PRIORITY       Value: 0
                Id: EXD_NET_DESC_BWLIMIT        Value: 0
                Id: EXD_NET_DESC_DEVNAME        Value: testzone0
                Id: EXD_NET_DESC_V4SADDR        Value: 0
                Id: EXD_NET_DESC_V4DADDR        Value: 0
                Id: EXD_NET_DESC_SPORT  Value: 0
                Id: EXD_NET_DESC_DPORT  Value: 0
                Id: EXD_NET_DESC_PROTOCOL       Value: 0
                Id: EXD_NET_DESC_DSFIELD        Value: 0
...
---------------- OBJECT 67 -----------------------
Object is: EO_GROUP   -   Catalog: EXT_GROUP EXC_DEFAULT EXD_GROUP_NET_LINK_STATS
                Id: EXD_NET_STATS_NAME  Value: e1000g1
                Id: EXD_NET_STATS_CURTIME       Value: 1256033841
                Id: EXD_NET_STATS_IBYTES        Value: 2411692067
                Id: EXD_NET_STATS_OBYTES        Value: 202604900
                Id: EXD_NET_STATS_IPKTS         Value: 2005669
                Id: EXD_NET_STATS_OPKTS         Value: 1265178
                Id: EXD_NET_STATS_IERRPKTS      Value: 0
                Id: EXD_NET_STATS_OERRPKTS      Value: 0
---------------- OBJECT 68 -----------------------
Object is: EO_GROUP   -   Catalog: EXT_GROUP EXC_DEFAULT EXD_GROUP_NET_FLOW_STATS
                Id: EXD_NET_STATS_NAME  Value: inbound_ssh
                Id: EXD_NET_STATS_CURTIME       Value: 1256033841
                Id: EXD_NET_STATS_IBYTES        Value: 93958770
                Id: EXD_NET_STATS_OBYTES        Value: 106077944
                Id: EXD_NET_STATS_IPKTS         Value: 238395
                Id: EXD_NET_STATS_OPKTS         Value: 321977
                Id: EXD_NET_STATS_IERRPKTS      Value: 0
                Id: EXD_NET_STATS_OERRPKTS      Value: 0
---------------- OBJECT 69 -----------------------
Object is: EO_GROUP   -   Catalog: EXT_GROUP EXC_DEFAULT EXD_GROUP_NET_LINK_STATS
                Id: EXD_NET_STATS_NAME  Value: testzone0
                Id: EXD_NET_STATS_CURTIME       Value: 1256033861
                Id: EXD_NET_STATS_IBYTES        Value: 4528169
                Id: EXD_NET_STATS_OBYTES        Value: 0
                Id: EXD_NET_STATS_IPKTS         Value: 64405
                Id: EXD_NET_STATS_OPKTS         Value: 0
                Id: EXD_NET_STATS_IERRPKTS      Value: 0
                Id: EXD_NET_STATS_OERRPKTS      Value: 0

In the above example you'll see the variety of objects offered by the net accounting module, including link descriptions, link statistics ('testzone0' is a VNIC and 'e1000g1' is a physical interface), and flow statistics (inbound_ssh is a flowadm defined flow).

The second tool is exacctly, a human friendly Proc Extended Accounting dumper. It is also implemented in PERL and in fact was derived from the exdebug app above.

benr@quadra exacct$ acctadm proc
         Process accounting: active
    Process accounting file: /var/adm/exacct/proc
  Tracked process resources: extended
Untracked process resources: host
benr@quadra exacct$ pfexec ./exacctly /var/adm/exacct/proc | more
Creator:  SunOS
Hostname: quadra

      ZONE    UID    GID    PID                  CMD |   Real   User        Sys |               Start Date |    RSS AVG      RSS MAX     SysCalls      Swaps 
 ----------------------------------------------------+--------------------------+--------------------------+--------------------------------------------------
    global      0      0   1922              acctadm |   0.07   0.00       0.01 | Tue Oct 20 03:10:01 2009 |        524 K      12904 K        450          0 | FULL
    global      0      0   1920                   sh |   0.07   0.00       0.00 | Tue Oct 20 03:10:01 2009 |       2036 K      12904 K        103          0 | FULL
    global     25     25   1924             sendmail |   0.10   0.01       0.01 | Tue Oct 20 03:10:01 2009 |       1912 K      12904 K        543          0 | FULL
    global      0      0   1927             sendmail |   0.01   0.00       0.01 | Tue Oct 20 03:10:01 2009 |       2288 K      13172 K        267          0 | FULL
    global      0      0   1923                 mail |   0.10   0.00       0.00 | Tue Oct 20 03:10:01 2009 |        504 K      12904 K        169          0 | FULL
    global      0      0   1921                   sh |   0.11   0.00       0.00 | Tue Oct 20 03:10:01 2009 |        920 K      12904 K        102          0 | FULL

The output is really wide, but everyone should have a big ol' screen these days. Notice the depth of information here. For each terminated process we see the zone it was in, user and group, PID and command name itself (ExAcct doesn't record arguments), then we see real/sys/user time in seconds (ExAcct actually has nanosecond granularity, so these are rounded numbers), the start time and other goodness. The last column reports whether the record is full or partial.

This tool is, in and of itself, useful for many administrators to start using Extended Accounting that might otherwise have ignored it. Even more so, I hope it sparks your interest and imagination as to the possibilities! Just think of all the ways to amaze your boss and fellow admins!

Data File Rotation

Like any log, don't be lazy and forget to rotate those files or you'll have a mess on your hands. Rotating your extended accounting data files will make them easier to dissect and consume less disk. Here are some examples lines you can drop into /etc/logadm.conf, Solaris's default log rotation tool:

/var/adm/exacct/proc -N -p 1d -C 7 -b '/usr/sbin/acctadm -x process' -a '/usr/sbin/acctadm -e extended -f /var/adm/exacct/proc process'
/var/adm/exacct/net -N -p 1d -C 7 -b '/usr/sbin/acctadm -x net' -a '/usr/sbin/acctadm -e extended -f /var/adm/exacct/net net'
/var/adm/exacct/task -N -p 1d -C 7 -b '/usr/sbin/acctadm -x task' -a '/usr/sbin/acctadm -e extended -f /var/adm/exacct/task task'

These examples will rotate each day (-p 1d) and keep 7 logs (-C 7) before destroying. The important bit is that you can't just mv the file, you need to stop accounting, rotate, then resume it.

Remember to ensure that logadm isn't commented out in the root crontab.

Parting Thoughts & Cautions

Before I wrap up, I want to note something about Process records. Here is one as seen with exdebug:

---------------- OBJECT 0 -----------------------
Object is: EO_GROUP   -   Catalog: EXT_GROUP EXC_DEFAULT EXD_GROUP_PROC
                Id: EXD_PROC_PID        Value: 1922
                Id: EXD_PROC_UID        Value: 0
                Id: EXD_PROC_GID        Value: 0
                Id: EXD_PROC_PROJID     Value: 1
                Id: EXD_PROC_TASKID     Value: 39949
                Id: EXD_PROC_CPU_USER_SEC       Value: 0
                Id: EXD_PROC_CPU_USER_NSEC      Value: 2047013
                Id: EXD_PROC_CPU_SYS_SEC        Value: 0
                Id: EXD_PROC_CPU_SYS_NSEC       Value: 6237135
                Id: EXD_PROC_START_SEC  Value: 1256033401
                Id: EXD_PROC_START_NSEC         Value: 311640743
                Id: EXD_PROC_FINISH_SEC         Value: 1256033401
                Id: EXD_PROC_FINISH_NSEC        Value: 380283918
                Id: EXD_PROC_COMMAND    Value: acctadm
                Id: EXD_PROC_TTY_MAJOR  Value: 4294967295
                Id: EXD_PROC_TTY_MINOR  Value: 4294967295
                Id: EXD_PROC_FAULTS_MAJOR       Value: 0
                Id: EXD_PROC_FAULTS_MINOR       Value: 0
                Id: EXD_PROC_MESSAGES_SND       Value: 0
                Id: EXD_PROC_MESSAGES_RCV       Value: 0
                Id: EXD_PROC_BLOCKS_IN  Value: 0
                Id: EXD_PROC_BLOCKS_OUT         Value: 0
                Id: EXD_PROC_CHARS_RDWR         Value: 20100
                Id: EXD_PROC_CONTEXT_VOL        Value: 102
                Id: EXD_PROC_CONTEXT_INV        Value: 0
                Id: EXD_PROC_SIGNALS    Value: 0
                Id: EXD_PROC_SWAPS      Value: 0
                Id: EXD_PROC_SYSCALLS   Value: 450
                Id: EXD_PROC_ACCT_FLAGS         Value: 2
                Id: EXD_PROC_ANCPID     Value: 1920
                Id: EXD_PROC_WAIT_STATUS        Value: 0
                Id: EXD_PROC_ZONENAME   Value: global
                Id: EXD_PROC_MEM_RSS_AVG_K      Value: 524
                Id: EXD_PROC_MEM_RSS_MAX_K      Value: 12904

Okey, lots of data, lots of goodness. Notice EXD_PROC_BLOCKS_IN, OUT, and CHARS_RDWR? They are useless. I can't go into why here, but don't get excited about them or bother doing anything, the values are crap. If your a veteran Kstat diver you'll recognize similar values in the Kstat cpu_stat class... same story.

Hopefully this post as helped provide you with a more practical understanding of Extended Accounting and provided you with some resources to get in there and use the data. There is a wealth of possibilities if you just avail yourself of them. :)


- - C O M M E N T S - -

In this site is very nice , useful for me, i bookmarked your blog

Thanks

tax jobs (Email) (URL) - 28 October '09 - 23:46

Thank you very much!

cheap links of london (Email) (URL) - 07 November '09 - 00:53

Thanks!!

Tiffany jewellery (Email) (URL) - 14 November '09 - 02:38

Great post! Hope to be better. Better means more features.
good post,I think so!
Thanks for your information, i have read it, very good!
Bing is a really overlord!! support Bing~~
This is great news. Best of luck for the future and keep up the good work.

links of london (Email) (URL) - 17 November '09 - 03:18

[[http://www.cheapuggsonline.net/UGG_Ult..]] UGG Ultra Short boots

[[http://www.cheapuggsonline.net/UGG_Cla..]] UGG Classic Tall Boots

cheap uggs online (Email) (URL) - 17 December '09 - 06:42

[[http://www.buykamagra.com]] buy kamagra
[[http://www.viagracialis.com]] viagra cialis

M65 Jacket (Email) (URL) - 21 January '10 - 02:37

[[http://www.uggbootshome.net]] Ugg Boots
[[http://www.uggbootshome.net]] Uggs Outlet

uggs outlet (Email) (URL) - 21 January '10 - 10:16

Thanks for sharing your good blog with us!

gucci handbags (Email) (URL) - 20 February '10 - 09:02

1234568

links of london (Email) (URL) - 24 February '10 - 04:03

Links of London( [[http://www.linksgiftstore.com]] )
Links of London( [[http://www.toplinkslondon.com]] )

links of london (Email) (URL) - 24 February '10 - 04:05

good one!

suresh (Email) - 03 March '10 - 09:38

I took my first loan when I was a teenager and it helped my business very much. But, I need the car loan again.

HarrietGARDNER (Email) (URL) - 19 March '10 - 19:07

Especially now Air Jordan Force 5 are released in today market .And the Air Jordan Force 6 will be released recently

air jordan (Email) (URL) - 09 April '10 - 08:07

.Especially now Air Jordan Force 5 are released in today market .And the Air Jordan Force 6 will be released recently . So do not miss the chance to get it .We welcome you to visit our website for more information [[http://www.jordanmvp.com]] .Hope hear from you soon .Thank you !

air jordan (Email) (URL) - 12 April '10 - 09:42

It’s just timing,but time is limited…

Replica handbags (Email) (URL) - 27 April '10 - 02:36

[[http://www.gucci-shoes-bags.com]]
[[http://www.guccinewshop.com]]
Dear friends welcome to our store: we have a specail offer now which is once you buy any product you can get a free gift as well, these gifts are in the gift area, you can free to choose and please add to the shopping cart, we will send it together with your purchased product. Thanks!

gucci (Email) (URL) - 27 April '10 - 07:51

buy ugg boots
cheap ugg boots
ugg cardy boots
women ugg boots
buy UGG Classic Tall
ugg boots for sale
ugg Classic Tall
ugg boots on sale
discount ugg boots
UGG Classic
UGG Bailey Button Boots
Welcome to [[http://www.fbib2b.com]]

ukjean (Email) (URL) - 29 April '10 - 00:55

I’m a little late finding this article, but I loved it.

As we know, now sunglasses are loved by more and more people, and everyone would like to have a pair of comfortable sunglasses,save up to 47%.welcome to [[http://www.eyewear-rayban.com]]

rayban sunglasses (Email) (URL) - 29 April '10 - 07:19

You could buy one item from the website, and you would get a free Links of London free cham and a free chain. We think that you must deeply content with your items. if you are not satisfy your items, you could return to links of london charm us, we would like to change for you or refund you at your earliest convience. If you buy goods from our website, we will endeavor our best to help you solve your matters not only before purchase but also after purchase. links bracelet You must be content with your goods and service. The core of Links of London is There is no such thing as the best, for the better is yet to come.! we hope that you could enjoy your shooping!

wangrongjiao (Email) (URL) - 29 April '10 - 08:36

The Supra Strapped NS shoes are one of the top skateboarding shoes on the block. It is a good chance for you to buy now .Nowadays ,we published a new kind of Air Jordan ,that is the Air Jordan Force line .They are so good that when you see it , you will like it and are willing to own one .

Supra (Email) (URL) - 04 May '10 - 02:44

Bienvenue à notre[url=[[http://www.wowgold4europe.fr/SiteWeb/G..]]]] wow europe [/url]site web.

xiao (Email) - 04 May '10 - 04:04

P90x .It really is not expensive if you factor in the cost

of a gym membership,P90x workout . The cost for P90X is

about three months of a paid gym membership but you get to

keep the program foreverP90x . You can try many of the

online sites, but it will be the same as buying from the

company or a Beachbody Coach. Make sure you are getting

original DVD’s. People are selling copies all over. The

problem is how long will they last, P90x workout ,and you

truly need the exercise and nutrition guide to even follow

the program. You can go to any site or you can go to

www.p90xmall.com and click on products. P90x dvd You can

order directly from the site,P90x dvd.

p90x (Email) (URL) - 05 May '10 - 07:45

She did not have money for the rent, so she went to the pawnshop with all of her. The boss asked links of london rings what she wanted to do with so many coppers, but after carefully looking he picked up one and said this was a gold. And asked how much she wanted.

wangrongjiao (Email) (URL) - 11 May '10 - 02:25

Do you want buy the beautiful shoes .We can provide you many style of Air Jordan Shoes. Here we can offfer you traditional Air Jordan 1 shoes, beautiful Air Jordan 2 shoes and some other cheap Air Jordan Shoes, such as Air Jordan 10 , Air Jordan 23and other shoes .Both are in its superior quality .Also we can offer you with our best services for discount jordan shoes . It is a good chance for you to buy now .Nowadays ,we published a new kind of Air Jordan ,that is the Air JordanForce line .They are so good that when you see it , you will like it and are willing to own one . Like the Air Jordan Force 3 , colorful Air Jordan Force 4 ,you may never miss it .Especially now Air Jordan Force 5 are released in today market .And the Air Jordan Force 6 will be released recently . So do not miss the chance to get it . For more information [[http://www.jordanmvp.com.We]] look forward hearing from you soon.

cheap Air Jordan Shoes (Email) (URL) - 13 May '10 - 06:32

Immediately catch of Joe Smith, Joe Smith is to buy only the birds, not kill, officials say he is not honest, the Joe Smith beat him, then links of london someone is forced admissions, Joe Smith was sentenced to death, autumn Wenzhan. pandora rings jewelry people have reported seeing his son, returned home. And accompanied by John Doe to see Joe Smith Joe Smith was links of london sentenced to death, thinking clearly is to buy pandora beads and charms , how to kill has become a pick up? John Doe 1 came to a small town, shop around to find Miejiang found Miejiang whereabouts immediately report, the magistrate received a report and track down the Miejiang, pandora jewelry done a quiet conscience, fear.

wangrongjiao (Email) (URL) - 14 May '10 - 09:15

Dell inspiron 640m Battery [[http://www.adapterlist.com/dell/inspir..]]

laptop battery (Email) (URL) - 14 May '10 - 09:40

Panasonic VW-VBG130 Battery [[http://www.globallaptopbattery.co.uk/c..]]

laptop batteries (Email) (URL) - 14 May '10 - 09:42

it is good!

sto cardits (Email) (URL) - 20 May '10 - 05:23

We think that you must deeply content with your items. if you are not satisfy your items, you could return to links of london charm us, we would like to change for you or refund you at your earliest convience.

car dvd (Email) (URL) - 23 May '10 - 09:47

afsdfsdfafdafad

wulijun (Email) - 24 May '10 - 08:59

Buy Nike Air Max 90 Shoes just $45-55 USD in[[http://www.iofferitems.com,]], 40-70% Off. Cheap Air Max 90 Shoes, Free Shipping! Buy Air Max 90 Now!

nike air max 90 shoes (Email) (URL) - 28 May '10 - 02:49

Buy Nike Air Max 90 Shoes just $45-55 USD in [[http://www.iofferitems.com,]], 40-70% Off. Cheap Air Max 90 Shoes, Free Shipping! Buy Air Max 90 Now!

nike air max 90 shoes (Email) (URL) - 28 May '10 - 05:49

wholesale hats [[http://www.aj-wholesale.com]]

wholesale hats (Email) (URL) - 29 May '10 - 05:48

[[http://www.mbtshoeslatest.com]]
[[http://www.nikeairmaxshoe.com]]

Nike air max shoe (Email) (URL) - 24 June '10 - 07:51

The athletic shoes which makes using this technology may the very good local constable convoy mobilization body, Air Max 2009.
[[http://www.allhotshoes.com/]]

air max shoes (URL) - 09 July '10 - 05:31

Mbt zapatos como una tormenta se extendió por Europa y el mundo. Mbt zapatos cómo tener tanto poder? Según la investigación, Mbt zapatos no sólo su propio estilo de diseño único, sino también porque hay magia buena forma física, así Mbt zapatos no es coincidencia que es tan popular. Esta es una forma de cambio histórico Mbt zapatos son.

yll (Email) - 31 July '10 - 06:46

[url=[[http://www.cheapjerseyschina.com]disco..]] nfl jerseys from china[/url]
[url=[[http://www.cheapjerseyschina.com]disco..]] nfl jerseys wholesale[/url]

tanglnog (Email) (URL) - 03 August '10 - 02:08

Según la investigación, Mbt zapatos no sólo su propio estilo de diseño único, sino también porque hay magia buena forma física, así Mbt zapatos no es coincidencia que es tan popular. Esta es una forma de cambio histórico Mbt zapatos son.

save fuel (Email) (URL) - 24 August '10 - 14:59

excellent article , I added you to my [[http://www.china-wholesale-directory.c..]] Top China Wholesalers category.. thanks for sharing the article!

China Wholesale Directory (Email) (URL) - 25 August '10 - 08:13

very cool article ,thanks for sharing the article!like my cool stuff .very useful.
uCoolStuff is the leading China wholesaler for [[http://www.ucoolstuff.com]] cool stuff [[http://www.ucoolstuff.com]] cool gifts , unusual gadgets and other unique gift ideas. We provide the very latest cool stuff and cool gifts for you

cool stuff (Email) (URL) - 25 August '10 - 08:19

The True Religion RICKY SUPER BIG T MEN JEANS are some of the most uniquely hand-crafted jeans on the market for guys!Every pair of True Religion Jeans is made in America and designed with a 1970’s feel.Kylie Bissutti in True Religion Jeans Outlet Contest winning Victoria’s Secret model, Kylie Bisutti was spotted stopping by Anastasia Salon to have her eyebrows shaped wearing a pair True Religion Brand.Even though women own an average of Seven Jeans they tend to only wear four of them on a regular basis.
[[http://www.jean-jeans.com]]

True Religion Jeans Outlet (Email) - 28 August '10 - 10:43

The best Coach Outlet and Coach Purses supplier on the Internet here. We are proud to offer our customers high quality and low price Coach Bags.About 70% discount now.Here has been dedicated in the business of best quality Coach Bag.
[[http://www.handbags-onsale.com]]

Coach Bags (Email) - 28 August '10 - 10:44

[[http://www.macvobconverter.net]] VOB Converter mac is 2010 the hottest software which is very popular among mac users who want to convert VOB to other video formats on mac like MP4, AVI, WMV, MPG, MPEG, MOV, TS, FLV, etc. With super fast conversion speed and high output quality, it can ensure you a fluent process to convert VOB mac. And in the same way, this Mac VOB Converter can convert various video formats to VOB for enjoyment.
[[http://www.macvobconverter.net/mac_vob..]]

VOB Converter mac (Email) (URL) - 30 August '10 - 05:45

Personal information





Remember your information?
Comment

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.


^M