alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

2006/06/26 - Added detailed memory info, switched to Visual Studio 2005 C++ Express

2004/04/30 - Added IO counters

2003/10/05 - Moved to CVS

In Visual Studio (version 7) I created a new project (win32, dll) and copied over just the files that I needed. 

I renamed ivjperf.cpp to ivjperf.c. 
I switched the function names to org.eclipse.perfmsr.core.PerformanceMonitor (from com.ibm...TimerStep).

2003/06/30 - Use GetProcAddress

I was having problems with my previous approach of having two
DLLs (ivjperf and ivjperf2). This new approach uses GetProcAddress
to see if the GetPerformanceInfo function is in the psapi.dll

I also added a VC++ (v6) project and workspace to vss so that I could
compile this with an older compiler. This involved:

 - pointing the tool to the newly installed SDK
 - adding in the java includes
 - telling the compiler to treat all the files as C instead of C++

2003/06/??

I was trying to provide away to use the GetPerformanceInfo call.
The problem is that some versions of psapi.dll (like the ones on XP)
include this and others don't.

I thought I could solve this by having two versions of my dll (ivjperf
and ivjperf2). I would attempt to load ivjperf (the full version) first
and if it failed (because of the missing function in psapi) I would load ivjperf2.

But the JVM would pop up a dialog box saying that it couldn't load the DLL.
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.