|
|
| |
To use SeeFusion, direct a Web browser to the address you specified
in the Listener configuration option. If you used the default configuration, that means connecting to port 8999 on any IP address
bound to the server running SeeFusion. For example, if your server
is named "mywebserver", then you would direct your browser to:
http://mywebserver:8999/
This URL will display the "Standard" SeeFusion output (example here) for "mywebserver".
SeeFusion can also generate an XML version of the status, viewable
by appending "xml" to the url, like this:
http://mywebserver:8999/xml
For SeeFusion Enterprise edition, you can view the multi-server dashboard display by appending "dashboard" to the URL, like this:
http://mywebserver:8999/dashboard
The XML-dump for the multi-server dashboard display is viewed by appending "dashboard/xml" to the URL, like this:
http://mywebserver:8999/dashboard/xml
|
| Using SeeFusion.trace() |
The SeeFusion.trace(<string>) method allows for granular request monitoring. The string you pass to trace() will be displayed in the "completed" column of the "running requests" section of the server output. You can use this feature to monitor the status of long requests easily, such as with large data imports. You can also use trace() in a diagnostic manner, to identify poorly performing areas of code. Here is an example:
<cfset seefusion = createObject("java", "com.seefusion.SeeFusion")>
<cfset queryCount = 100000>
<cfloop from="1" to="#queryCount#" index="i">
<cfset seefusion.trace("iter #i#/#querycount#")>
<cfquery Name="q" DataSource="NorthwindSF">
SELECT *
FROM Products p1
WHERE p1.ProductName <> 'foo'
ORDER BY p1.ProductName
</cfquery>
</cfloop>
|
| SeeFusion will add a timestamp for the point at which trace was called. The output from the above example might look like this:
iter 2263/100000 @13891ms
|
| Note:The SeeFusion object should not be cached in any scope that lasts longer than the individual page request. |
| Using the kill command |
| SeeFusion 3.0 features an improved ability to interrupt a running request. Now requests can be killed using Java's Thread.stop() method. This method can be dangerous, as it can leave objects in an inconsistent state. If you attempt to [kill] a page (which will throw a SeeFusionKillException to stop page processing), but the page doesn't terminate, then the [kill] link becomes a [killstop] link, which uses a bit more force (i.e., Java's Thread.stop() method). |
| Using SeeFusion.setRequestName() |
In many cases, it can helpful to have a customized URL string displayed in the SeeFusion Server Status screen (and also written to the XML dump, and/or Pages logging table). Here is an example:
<cfset seefusion = createObject("java", "com.seefusion.SeeFusion")>
<cfset seefusion.setRequestName("FlagThisPage")>
In this case, the URL column for this request would display http://domain/FlagThisPage, and this value would also be written to the Server Status XML dump, and also logged to the Pages table of the SeeFusion metrics logging system (RequestURI column). Note that the string passed to this method replaces the query string, which would not be logged by SeeFusion.
|
|