tag:blogger.com,1999:blog-7735977282792144014.post8195677016278250904..comments2024-03-27T22:57:22.226-07:00Comments on /egilh: 655.aspx/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.comBlogger47125tag:blogger.com,1999:blog-7735977282792144014.post-36662738117082365332023-01-03T05:43:28.930-08:002023-01-03T05:43:28.930-08:00This is a broken link.
http://www.egilh.com/downl...This is a broken link.<br /><br />http://www.egilh.com/download/blog/egilhComTracker.zipMatheushttps://www.blogger.com/profile/00562024629553220357noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-29014625454003432382023-01-03T05:42:00.312-08:002023-01-03T05:42:00.312-08:00Hi ,
I am not able to download the dll egilh Com+...Hi ,<br /><br />I am not able to download the dll egilh Com+ Tracker (egilh.ComTracker)<br /><br />Could You please Help me and give the correct location from where i can download<br /><br />ThanksMatheushttps://www.blogger.com/profile/00562024629553220357noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-32472350326822000552023-01-03T04:40:39.096-08:002023-01-03T04:40:39.096-08:00Hi Brian, could you help me to do that ?Hi Brian, could you help me to do that ?Matheushttps://www.blogger.com/profile/00562024629553220357noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-72797262894922197552021-02-03T06:39:18.842-08:002021-02-03T06:39:18.842-08:00How to get the processID of these components, some...How to get the processID of these components, something like below :<br /><br /><br />' If Call time exceeds threshold, get the object name and time and log it<br /> If cLng( obj_DOMNode.selectSingleNode("responseTime").Text ) > lng_COMRunTimeThreshold Then<br /> str_Result = str_Result & obj_DOMNode.selectSingleNode("processID").Text & "[" & obj_DOMNode.selectSingleNode("responseTime").Text & "ms],"<br /> Call f_WriteLog( str_ScriptLog, "," & str_ComputerName & "," & obj_DOMNode.selectSingleNode("progID").Text & "," & "[" & obj_DOMNode.selectSingleNode("responseTime").Text & " ms]", 1, 4 )<br /> End Ifankit dhandahttps://www.blogger.com/profile/17642353704129120934noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-59940154523127630212016-06-23T07:11:37.900-07:002016-06-23T07:11:37.900-07:00If you're wondering how to fix this error msvc...If you're wondering how to fix this error msvcr71.dll, then I advise you to use this <a href="http://fix4dll.com/msvcr71_dll" rel="nofollow"> http://fix4dll.com/msvcr71_dll </a> site. It will help to solve it. One of the few sites that is pleasant to work with.Anonymoushttps://www.blogger.com/profile/13710423502046971644noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-52608850472635551662015-11-27T00:35:25.157-08:002015-11-27T00:35:25.157-08:00Hi ,
I am not able to download the dll egilh Com...Hi ,<br /><br />I am not able to download the dll egilh Com+ Tracker (egilh.ComTracker)<br /><br />Could You please Help me and give the correct location from where i can download<br /><br />Thanks<br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-2730284423112383082006-02-24T00:40:00.000-08:002006-02-24T00:40:00.000-08:00Cool thanks heaps, didn't really know how to p...Cool thanks heaps, didn't really know how to put in the correct xpath better start learning some XML basics. thanks againBDnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-63514460949417309022006-02-23T21:55:00.000-08:002006-02-23T21:55:00.000-08:00Even simpler.
If you only want -one- application,...Even simpler.<br /><br><br /><br>If you only want -one- application, you can modify the loop from this:<br /><br> For Each oNode In oDOM.selectNodes("/applications/application/classes/class")<br /><br><br /><br>To this:<br /><br> For Each oNode In oDOM.selectNodes("/applications/application[@guid='{xxxxxxx-xxxx-xxxx-xxxxx-xx-xxxx}']/classes/class")<br /><br><br /><br>NB! XML is case sensitive so you must spell the GUID correctly.<br /><br>Egil Hogholthttp://www.egilh.com/blog/noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-687559886801446942006-02-22T23:31:00.000-08:002006-02-22T23:31:00.000-08:00Sorry to bother again, could you be able to provid...Sorry to bother again, could you be able to provide an example vb script to only retrieve data from a particular application. Just say if Application GUID = xxxxxxx-xxxx-xxxx-xxxxx-xx-xxxx then get all all the response times for each component of that application.<br /><br><br /><br><br /><br><br /><br>thanks<br /><br>BD<br /><br>BDnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-44509395075229415062006-02-22T11:56:00.000-08:002006-02-22T11:56:00.000-08:00Thank you so much that was what i was after, not f...Thank you so much that was what i was after, not familiar with XML and didn't know the syntaxes to parse out a particular program's call time. <br /><br><br /><br>Once again thank youBDnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-8788151568491770802006-02-20T08:32:00.000-08:002006-02-20T08:32:00.000-08:00You can only get call times per object, not for th...You can only get call times per object, not for the individual methods in that object.<br /><br><br /><br>The com+ tracker returns information about all running applications. You can use the script in the post above and modify the loop like this to filter a particular prog id:<br /><br><br /><br>For Each oNode In oDOM.selectNodes("/applications/application/classes/class")<br /><br> If "my.progid" = LCase(oNode.selectSingleNode("progID").Text) then<br /><br> WScript.echo oNode.selectSingleNode("progID").Text & _<br /><br> " call time: " & oNode.selectSingleNode("responseTime").Text<br /><br> End If<br /><br>NextEgil Hogholthttp://www.egilh.com/blog/noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-56486284971971664472006-02-20T06:05:00.000-08:002006-02-20T06:05:00.000-08:00hi there i not that good with scripting but could ...hi there i not that good with scripting but could someone show me how to get call times for specific Program ID or method calls.BDnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-38326537561824256362006-02-01T17:35:00.000-08:002006-02-01T17:35:00.000-08:00Problem solved; the code was missing CoInitialize(...Problem solved; the code was missing CoInitialize() which is required when calling COM+ objects like the COM+ TrackerEgil Hogholthttp://www.egilh.com/blog/archive/2005/03/17/602.aspxnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-38647712353973457442005-12-31T10:25:00.000-08:002005-12-31T10:25:00.000-08:00Does the VB Script example above work? If it works...Does the VB Script example above work? If it works, there is a problem in your client program. I will send you a mail offline to see if we can resolve the problem.Egil Hogholthttp://www.egilh.com/blog/archive/2005/03/17/602.aspxnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-22348732348287549202005-12-30T15:47:00.000-08:002005-12-30T15:47:00.000-08:00Great!!! I search this information for a week. Tha...Great!!! I search this information for a week. Thank you! But, I tried to use your function in a console application compiled in Visual C++ 6.0/Windows XP SP2 and whenever I run application I receive the message "abnormal program termination". Is There anything I want to configure in Visual C++ 6.0, any Dll to import? <br /><br><br /><br>Thank you again.Ericksonnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-8323804569224947872005-11-15T22:28:00.000-08:002005-11-15T22:28:00.000-08:00Hi Dio, I am glad you found the code useful!
You ...Hi Dio, I am glad you found the code useful!<br /><br><br /><br>You have to install the DLL (my pre-compiled DLL in this post or the .NET version) on -each- machine where you want to collect the data. You can then call the component from a central data collection machine using DCOM or other methods for calling remote components. The DLL talks to the local COM+ environment to get the call time information so it -must- run on the machine where you collect the data.<br /><br><br /><br>I am afraid I have to disappoint a second time: I -wish- someone in Microsoft gave me this information as it would have saved me a lot of hard work. I spent a lot of time hunting in the SDKs and the undocumented entry points in the com+ DLLs before I found what I needed to get the call time information.Egil Hogholthttp://www.egilh.com/noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-20857444839949235192005-11-15T22:04:00.000-08:002005-11-15T22:04:00.000-08:00Hi Egil,
After looking and looking and looking all...Hi Egil,<br /><br>After looking and looking and looking all over the web I finally found your blog (10x god!!!)<br /><br>Great code !!!<br /><br><br /><br>(I am using the C# code which was given in one of the comments...)<br /><br>Is there a way to create AppData of a remote server ? (using c# and without installing the dll on the remote server)<br /><br><br /><br>again - thank you for your code (and to your friend in microsoft...hhh)<br /><br><br /><br>dionoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-5391437775418927822005-10-12T16:22:00.000-07:002005-10-12T16:22:00.000-07:00Can you post the source code for the .dll?Can you post the source code for the .dll?John Ludringnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-3568110752993127772005-10-12T15:44:00.000-07:002005-10-12T15:44:00.000-07:00When i try to register your .dll, it just goes int...When i try to register your .dll, it just goes into a loop and tries to continueously register it, any ideas?John Ludringnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-68920637543025680122005-10-12T15:26:00.000-07:002005-10-12T15:26:00.000-07:00When I run it, it says "getStatistics not sup...When I run it, it says "getStatistics not supported by object". Any ideas?John Ludringnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-79257094523592570422005-10-11T10:42:00.000-07:002005-10-11T10:42:00.000-07:00There is no built in way in Windows/COM+ to do thi...There is no built in way in Windows/COM+ to do this but you can do it with the comtracker:<br /><br>- use egilh.comtracker to get the call times<br /><br>- use the COM+ Admin APIs to shut down or recycle applications with high call times<br /><br><br /><br>The COM+ Admin API can be used from an NT service that polls the comtracker or you can schedule a VB Script to run every X minutes. <br /><br><br /><br>I will post an article later today on how to do this.Egil Hogholthttp://www.egilh.com/noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-27590647312753389902005-10-10T19:48:00.000-07:002005-10-10T19:48:00.000-07:00is it possible to automatically restart a componen...is it possible to automatically restart a component if it's call time reaches a certain value?jtmoneynoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-16555445481425796792005-08-09T12:33:00.000-07:002005-08-09T12:33:00.000-07:00It seems like a configuration issue.
The comtrack...It seems like a configuration issue.<br /><br><br /><br>The comtracker must be installed in a COM+ "server application" on the server:<br /><br>- Right click comtracker on the server in Component Services<br /><br>- In the "Activation" tab. Select the "Server application" option as the "Activation type"<br /><br>- In the Identity tab. Make sure it does not use the "interactive user" but one of the following:<br /><br> Win2k3: System account, Local Service<br /><br> Win2k: Use a valid domain user and password<br /><br><br /><br>Can you please double check that you created an "Application Proxy" and not a standard install package?<br /><br>- Right click the comtracker on your PC<br /><br>- Go to the "Activation" tab<br /><br>- Verify that the "Remote Server name" contains the name of the server<br /><br>Egil Hogholthttp://www.egilh.com/noreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-8919140340101971532005-08-09T11:32:00.000-07:002005-08-09T11:32:00.000-07:00I use VBScript to run Comtracker so I choose your ...I use VBScript to run Comtracker so I choose your second option: create a proxy application on client host to get call times.<br /><br><br /><br>When I access to Com+ application on client console I do'nt see any call to the components when in the sever host they are running. In client console call parameters are empty and components seem no run when I'm sure that they are been called in server host. On client host, "egilh.ComTracker" parses only components under "System Application" group that are running but doesn't give information about components in "my application".<br /><br><br /><br>I know there are other solutions (you show them in last post) but I prefer do'nt write on any file or database.<br /><br><br /><br>Thanks for your attention.Davidnoreply@blogger.comtag:blogger.com,1999:blog-7735977282792144014.post-16768379590870709842005-08-05T10:31:00.000-07:002005-08-05T10:31:00.000-07:00Everything is possible!
If you use VB instead of ...Everything is possible!<br /><br><br /><br>If you use VB instead of VBScript you can do it very easily. Just pass the optional "ServerName" argument. For example:<br /><br>Set oTracker = CreateObject("egilh.ComTracker", "Server1")<br /><br><br /><br><br /><br>The WScript.CreateObject() method does not accept a machine name so it is more difficult. If you only have one remote machine, you can do this:<br /><br>- right click on the com+ package with egilh.ComTracker and choose "Export…"<br /><br>- choose "Application proxy"<br /><br>- install the generated proxy application on you machine<br /><br>Note that this only works for -one- remote machine<br /><br><br /><br>There are other workarounds as well:<br /><br>- Create an ASP page on each machine that calls egilh.ComTracker. Call the asp file from you pc using msxml and parse the output<br /><br>- Schedule a script to run on each machine that writes to a file (or db). You can then read the generated data via the network<br /><br>- Copy a vbscript file on each machine and use WSHController.CreateScript("cmd line", "machine name") to run the script remotely from your PC.<br /><br><br /><br>The simplest solution is to write a small application in VB6 or another "serious" language that allows you to create remote objects on the machine you specify<br /><br>Egil Hogholthttp://www.egilh.com/noreply@blogger.com