Welcome Guest!   Register | Login | Login Assistance
Extending your Citrix and Terminal Server
environment using .NET and other technologies.

Web Interface for Resource Manager 2.1

 

version 2.1

Got Citrix Resource Manager?  Try out Web Interface for Resource Manager!

Web Interface for Resource Manager is an ASP.NET 2.0 web application that contains several SQL queries to display useful information contained in the Citrix Resource Manager Summary Database.  Web Interface for Resource Manager displays this information in a drill-down graphical and tabular manner.


What's new in version 2.1?
Web Interface for Resource Manager version 2.1 includes everything in version 2.0, plus the following new features:
  • Graphical Configuration Tool
    In the past versions of Web Interface for Resource Manager, you had to manually edit the Web.Config file to set up your database connections and time zone overrides. This new graphical tool allows you to set up your options much like you set up an ODBC connection using Windows.
  • Oracle Support
    Many of you have asked for an Oracle version of Web Interface for Resource Manager. Version 2.1 has Oracle support integrated. Just open the configuration tool, select Oracle as your Database Server Type and supply your TNS Service Name. One thing to note though, you will need to have the Oracle client installed on your web server.
  • Multiple Language Support
    Web Interface for Citrix Resource Manager has been globalized to support more languages. Currently, Web Interface for Resource Manager supports the following languages:
    • US English
    • German (thanks goes to Josef Zeiler for the translation)
    • Dutch (thanks goes to Michel Roth for the translation)


  Download Web Interface for Resource Manager version 2.1 (for Presentation Server 3.0 and above) 



What's on the radar for the future?
  • Using MFCOM and WMI to move reports beyond the Summary Database.
  • Of course, more reports.
Known issues

If all database tables are not owned by dbo, you will receive errors. For more explanation on this phenomenon, see this article.

If you do not properly set up your database authentication, you will not be able to view any reports. Please refer to this article for database authentication guidelines.

Note: Version 2.1 is only intended for Presentation Server 3.0 and above. This is due to the differences in the Resource Manager Summary Database schema.  The MetaFrame XP Summary Database schema does not include the tables necessary to generate these new reports. Please use Web Interface for Resource Manager Version 1.1 for MetaFrame XP.


Screen Shot of Web Interface for Resource Manager's GUI Configuration Tool


Click to enlarge





Published: December 07, 2006
Tags: Resource Manager Databases Citrix Presentation Server
Current Rating:



Comments

WiRM Rocks
Jason my friend you kick a!'

congrats and great work,
Gus Pinto

Reply
web.config
all the rights appear correct but i continue to get this error when trying to save my config

In order to modify configuration settings, the ASP.NET process account (either the local ASPNET or Network Service account, by default) must have write permission granted for the Web.config file in the web site directory.

Reply
Re: web.config
Did you ensure that the Network Service account had write rights to the Web.Config file? You may need to check the IWAM_comptername account as well.

Reply
login failure
Jason. From what I've seen this is awesome and I can't wait to use it.

Unfortunately when I try to configure a connection when connecting from my web server and using Windows NT Authentication, I get the following error:
Test failed!
Login failed for user 'DOMAIN\SERVERNAME$'.

It looks like its not passing my credentials properly. The Windows account I am logged in with has DBO access to the rmsummarydb. When I attempt to use a sql account that has datareader access to the database, I get the following:

Cannot open database requested in login 'rmsummarydb'. Login fails. Login failed for user 'username'.

any ideas?

Reply
Help spread the word!
If you use and support Jason's work. Please Digg his article here: http://www.digg.com/tech_news/Web_Interface_for_Resource_Manager_2_1_Released

thanks,
Gus Pinto

Reply
WIRM
Jason, great work buddie

-Rich Crusco


Reply
Feature Request
Excellent work Jason. I have one feature request. It would be great to be able to have a report that would display for a given application, how many concurrent users it had for a period of time (for example a bar graph display data points for each hour of a 24 hour period, etc.)

Reply
Bug?
It seems as when you drill down to a given user's session. 9 times out of 10 for the processes listed, it is incorrect or not the process I would expect. For example cmd.exe is listed for a lot of the user's when they were launching other applications (Internet Explorer, Word, etc.). Does this have anything to do with a logon script running and it is capturing that executable at that point in time?

Reply
Excellent!
I'm joining Gus and Rick: Great Job Jason!

Web Interface for Resource Manager 2.1: http://www.thincomputing.net/newsitem2876.html



Reply
UTC error
I'm getting the following error when trying to save my config:

Error getting dates: UTC Offset is not set

What is the format for the UTC offset overide?

Reply
Re: UTC error
The UTC format is a float (-5, 7.5, etc.). If you do not specify a UTC offset, the client's local workstation's offset will be used.

Reply
Re: Re: UTC error
When I leave that option blank, I get that error:

Error getting dates: UTC Offset is not set
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Exception: Error getting dates: UTC Offset is not set

Source Error:


Line 41: else
Line 42: {
Line 43: throw new Exception(Resources.WIRM.ErrorGettingDatesUTCOffset);
Line 44: }
Line 45: }


Source File: m:\Inetpub\wwwroot\WIRM\Layout.master.cs Line: 43

Stack Trace:


[Exception: Error getting dates: UTC Offset is not set]
_Default.Page_Load(Object sender, EventArgs e) in m:\Inetpub\wwwroot\WIRM\Layout.master.cs:43
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Control.LoadRecursive() +131
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061




Reply
Re: Re: Re: UTC error
we have the same error


Reply
Re: Re: Re: UTC error
Ok. If I close totally out of IE and go back in, the error goes away.

Reply
Not showing images
I have installed this on a Windows 2003 server running IIS currently configured with Web Interface. After copying the files and setting up the Virtual Site, I had to give write access to the Network Service account over the WIRM folder.

I have configured it and am able to browse through the tool but no images (i.e. graphs, pie charts, etc) are being displayed. Any ides on what the problem might be.

Also i have noticed that the Web Interface has stopped working and i receive the "Server is unavailable page". If i do an IISRESET, WI starts working but the WIRM tool doesnt.

Running MPS 3.0 and RM is located on Oracle.

Would love to get this great tool working.

Reply
problem with server metric report
Hi Jason
First of all ... simply but great program

I installed Web Interface resource Manager 2.1, Good ! But ......

1 - I had some problem with Configuration option. To resolve the problem I modified permision on DIRECTORY where
is installed the program ( write rights for temp files).Not only the web.config file. Now is ok

2 - When I try to generate Server metric report, and I chose Count metric, I riceive this error

Server Error in '/WIRM21' Application.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 23: height="420"
Line 24: align="middle">
Line 25: *strServerID=*strObjectID=*strMetricCounterID=*strInstanceID=*strStat=*strCounter=">
Line 26: *strServerID=*strObjectID=*strMetricCounterID=*strInstanceID=*strStat=strCounter=" quality=high bgcolor=#FFFFFF width="565" height="420" name="FC2Column" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
Line 27:


Source File: c:\Inetpub\wwwroot\wirm21\serversMetrics.aspx Line: 25

Stack Trace:

[NullReferenceException: Object reference not set to an instance of an object.]
ASP.serversmetrics_aspx.__RenderContent1(HtmlTextWriter __w, Control parameterContainer) in c:\Inetpub\wwwroot\wirm21\serversMetrics.aspx:25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +2068235
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +59
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +68
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +37
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Page.Render(HtmlTextWriter writer) +26
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1896


Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.210


what I have mistaken ?

Reply
Re: problem with server metric report
You haven't mistaken anything - you found a bug. I have fixed the bug and uploaded a fixed version. Please re-download and let me know if it works for you.

Reply
Re: Re: problem with server metric report
Not yet. Same error



Server Error in '/WIRM21' Application.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 23: height="420"
Line 24: align="middle">
Line 25: *strServerID=*strObjectID=*strMetricCounterID=*strInstanceID=*strStat=*strCounter=">
Line 26: *strServerID=*strObjectID=*strMetricCounterID=*strInstanceID=*strStat=*strCounter=" quality=high bgcolor=#FFFFFF width="565" height="420" name="FC2Column" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
Line 27:


Source File: c:\Inetpub\wwwroot\wirm21\serversMetrics.aspx Line: 25

Stack Trace:

[NullReferenceException: Object reference not set to an instance of an object.]
ASP.serversmetrics_aspx.__RenderContent1(HtmlTextWriter __w, Control parameterContainer) in c:\Inetpub\wwwroot\wirm21\serversMetrics.aspx:25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +2068235
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +59
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +68
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +37
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Page.Render(HtmlTextWriter writer) +26
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1896


Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.210

Reply
error...
I can access the Configuration page locally and remotly... and I can input the database information along with credentials, test the connection and it comes back sucessful but when I click on any of the left naviigation links I get the below error?:

***********************************************
Server Error in '/Analytics' Application.
--------------------------------------------------------------------------------

Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a tag within a "web.config" configuration file located in the root directory of the current web application. This tag should then have its "mode" attribute set to "Off".











Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's configuration tag to point to a custom error page URL.









***********************************************


Reply
Re: error...
From the console of the WI server running your code I get this error:


***********************************************
Server Error in '/Analytics' Application.
--------------------------------------------------------------------------------

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Source Error:


Line 79: SqlConnection sqlConn = new SqlConnection(strConnectionString);
Line 80:
Line 81: sqlConn.Open();
Line 82:
Line 83: try


Source File: h:\Inetpub\wwwroot\Website\App_Code\DataAccess.cs Line: 81

Stack Trace:


[SqlException (0x80131904): An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +735091
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup) +820
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +628
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +170
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +359
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +28
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +424
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +496
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.SqlClient.SqlConnection.Open() +111
DataAccess.getCalendarDataSQL(Single utcOffset, DateTime startDate, Int32 appID) in h:\Inetpub\wwwroot\Website\App_Code\DataAccess.cs:81
DataAccess.getCalendarData(Single utcOffset, DateTime startDate, Int32 appID) in h:\Inetpub\wwwroot\Website\App_Code\DataAccess.cs:50
_Default.loadDays() in h:\Inetpub\wwwroot\Website\calendar.aspx.cs:87
_Default.Page_Load(Object sender, EventArgs e) in h:\Inetpub\wwwroot\Website\calendar.aspx.cs:45
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42
***********************************************


Reply
Re: Re: error...
Having exactly the same problem with SQL Server 2005 and vb Net 2005. Did you find an answer?

Reply
Re: Re: error...
Hope this site helps you. http://www.datamasker.com/SSE2005_NetworkCfg.htm
Brendah

Reply
Re: Re: error...
Are you clicking "Save Configuration" button before you click on one of the left navigation links?

Reply
Re: Re: Re: error...
Yes, once I click "Save Configuration" I get back "Test Completed sucessfully!". I do not see the modifications being saved to the web.config file. Can you please show me how to input the information below into the file manually?

Language: English (US)
UTC Offset Override: -8
Database Server Type: microsoft SQL Server
Database Server: T3BLACKEYE
Database Name: CitrixRM
*Use SQL Server Authentication
User Name: RMMAN
Password: RMMAN!!!



Reply
Re: Re: Re: Re: error...
I sent you an email with the necessary connection string parameters.

Reply
Re: Re: Re: Re: Re: error...
Thanks for your time Jason, I got it working with the help of one of our DBAs... (and yours). Named Pipes and TCP/IP were not enabled in the SQL Server Client Network Utility (Start -> Run -> cliconfg). Additionally I had a spelling error in the DB server name. Thank you again!

Reply
new requests
Hi,
Loved WIRM since 1.2. great work! would really like to be able to export more to Excel, eg all user IDs using particular browser versions, all IDs using a particular app. Also, am a little concerned about exposing the credentials of the account used to connect to SQL to all users of WIRM. Is there a way to hide this once config is done?


Reply
Re: new requests
I haven't implemented encryption on the Web.Config file yet. What you can do is use Windows Integrated authentication. Just create an AD Group and put the users you want to grant access to in the group (or, just use Domain Users if you want to grant access to everyone). Then, in your SQL Server administration console, grant read access to the group. This way no credentials are stored in Web.Config.

Reply
Re: Re: new requests
What I did was to modify NTFS security on the Configure.aspx file itself, limiting access to our administrators only. This way user cannot open the configuration link to see the ID and PW used to access our SQL RM summary Database.
I have also secured the URL to SSL, so that when anyone selects the Configuration link they are prompted for credentials.
Great tool.. Unfortunately I am not able to get the Export to Excel working. When selecting save or open the following error pops up
Internet Explorer cannot download …ionConcurrentReportExcel.aspx from .
Internet explorer was not able to open this internet site. The requested site is either unavailable or cannot be found.
Bruce.

Reply
Re: Re: Re: new requests
I'm in the same situation and got the same error with Excel Exports.
Do you find a solution ?

Thanks,

Didier.

Reply
Running multiple versions of .NET
For those people running this tool on Windows 2003 IIS and have other websites running the older .NET 1.0 framework. You will need to configure IIS to run multiple versions of .NET.
Steps to do this are below.

http://kikosantos.wordpress.com/2006/06/15/running-multiple-version-of-net-framework-in-iis-60/

Also, you need to install Macromedia flash to be able to view graphs, etc.

Reply
fantastic value...and a problem
first, great tool...I have been using 1.2 and 2.0 and was keen to use the new version.

Problem:same as reported by previous user:

I can access the Configuration page locally and remotly... and I can input the database information along with credentials, test the connection and it comes back sucessful...BUT it never keeps the settings gives me errors every time I try to connect to it.

HOW I GOT AROUND IT: I chose the manual method of editing the WEB.CONFIG file with my connection details, and it works a treat now!

Michael - BRISBANE

Reply
Re: fantastic value...and a problem
Care to share the string that is needed?

Reply
Ref. Web Interface Resource Manager 2.1
Hi Jason.

Just an idea - why don't you change the name to "(Citrix) Resource Manager Web Interface"...

Reply
Password
Great work (again)! It would be nice to hide the password on the configuration page though...

Reply
ORA-00933: SQL command not properly ended
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OracleClient.OracleException: ORA-00933: SQL command not properly ended


Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[OracleException (0x80131938): ORA-00933: SQL command not properly ended
]
System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) +204
System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) +1024
System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, ArrayList& resultParameterOrdinals) +25
System.Data.OracleClient.OracleCommand.ExecuteReader(CommandBehavior behavior) +138
System.Data.OracleClient.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior) +4
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +7
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +141
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +83
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1770
System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +92
System.Web.UI.WebControls.ListControl.PerformSelect() +31
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e) +26
System.Web.UI.Control.PreRenderRecursiveInternal() +77
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360

Thanks
Luca



Reply
Re: ORA-00933: SQL command not properly ended
Did someone did ever solve that issue? Is that related to the permissions on the Tablespace in the Oracle DB?

Thanks Carsten

Reply
Applications - Concurrent Usage
While displaying Concurrent Usage under Applications (Pie chart) the 5th Application name is Blank even if you select 5/6/7... applications. Most Usage works fine...

Reply
Re: Applications - Concurrent Usage
A blank application name means it was a RDP session (this is the way it is recorded in the LU_APPNAME table in the Summary Database). I will make it say RDP for the application name in the next release instead of displaying a blank application name.

Reply
URL displaying unknown value
Hi Jason,

Great work and please keep it up. I am testing out your product and have it working but am getting a undesirable insert on the URL

http://servername/virtual site name/(S(2spvnv55mkbbwmngodat0cvn))/calendar.aspx

Am I doing something wrong?

Reply
Re: URL displaying unknown value
You're not doing anything wrong. The extra characters you see is your session information (encrypted). The reason you see it in the URL is because the Web.Config file specifies that the session be "cookieless". You can change this by changing the Web.Config file.

Reply
Configure option for Admins only
Other than replacing the code/page for the configuration, is there a simple way to make the configure option only available to admins?

Reply
Re: Configure option for Admins only
There is not a built in way. But, that does sound like a good feature request.

Reply
Re: Re: Configure option for Admins only
I agree the is a good and needed feature.

Reply
Concurrency
Jason,

First of all, I want to thank you for the apparent commitment you have to your work and the quality. I continually rely upon your tools and use them daily. I'd like to request something from your next version if you think it's worthy. I'd like to see concurrency for all servers collectively. This would show me how many users are logged in to the farm at any given time throughout the day. I guess I'm looking for a more global view rather than looking at one server at a time. I have hundreds of servers in my farms and management wants a report showing total concurrent usage on the hour.

Many thanks for your consideration,
Matt C.



Reply
Re: Concurrency
Thought I'd also mention/clarify that I know the unique sessions started exists, but I also need the concurrent active sessions.

Reply
Server Metrics Report - Count
Hello Jason,
I want to thank you for this application.. It´s real cool..
I don´t know if it´s a bug, but when I try under Server Metrics Report to change to the "count" object I get an error message:

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
ASP.serversmetrics_aspx.__RenderContent1(HtmlTextWriter __w, Control parameterContainer) +665
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +2065899
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +59
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +68
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +37
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Page.Render(HtmlTextWriter writer) +26
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1896


Can I change something to make this work??

Greetings from Germany and go on like this,
Carsten


Reply
Applications -Concurent Usage
Hi,

Thanks for the great work!

I have version 2.1, Oracle DB.
Everything works perfect except I encounter an error when choosing Applications -Concurent Usage:

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
applicationReport.getChartData() +83
ASP.appsconcurrentusage_aspx.__RenderContent1(HtmlTextWriter __w, Control parameterContainer) +128
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +2068235
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +59
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +68
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +37
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Page.Render(HtmlTextWriter writer) +26
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1896




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.210

Any clue much appreciated,
Mihai

Reply
appsConcurrentUsage.aspx
Hi,

Details on previous error:

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 62: Chart appChart = new Chart();
Line 63:
Line 64: DataView dv = ((DataTable)Session["dtConcurrentApps"]).DefaultView;
Line 65: dv.Sort = "mx DESC";
Line 66:


Source File: d:\Citrix Usage Reports\appsConcurrentUsage.aspx.cs Line: 64

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
applicationReport.getChartData() in d:\Citrix Usage Reports\appsConcurrentUsage.aspx.cs:64
ASP.appsconcurrentusage_aspx.__RenderContent1(HtmlTextWriter __w, Control parameterContainer) in d:\Citrix Usage Reports\appsConcurrentUsage.aspx:22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +2068235
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +59
System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +68
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +37
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Control.Render(HtmlTextWriter writer) +7
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +130
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
System.Web.UI.Page.Render(HtmlTextWriter writer) +26
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1896




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.210

Thank you,
Mihai

Reply
Re: appsConcurrentUsage.aspx
I Get the same result when there is a error in the sql from the conuse.dll,

i have different Datetime setups on my webserver and database, so i had to change all your MSSQL code to convert data...

example..

convert(datetime, '{1}', 101)

but since i have no sourcecode for the conuse.dll i can't correct the error there !!

Reply
Active time vs Duration time
Hello, we love this template.
I have a question about the active time vs duration time. how are these related. sometimes the active times are longer than the duration times, or vice versa

Reply
Re: Active time vs Duration time
Citrix defines Duration (per the Resoure Manager Administrator's Guide) as "End time - Start time in milliseconds". Citrix also defines Active Time as "Sum of the active time for all completed processes".

Reply
Re: Re: Active time vs Duration time
thank you!!!

Reply
Excellent Work!!
Excellent code, I love it. Where do I make my PayPal donation?

I would love to be able to search for a certain process and see who has run it. I some users who are running things they should not be.

Currently you would have to suspect who ran what and drill down on their Session Details.

Reply
Re: Excellent Work!!
A process report sounds good to me. Look for it in a future release.

Reply
Hiding the configuration page from user
Is their an easy way to hide the Sql configuration page from user view? I have end users I would like to hide this from.

Reply
Re: Hiding the configuration page from user
This is coming in the 2.2 release.

Reply
Concurrent App SQL query
We have been using the query below to get app usage stats, but the numbers returned are different than what is generated by your report. Your sql query is in the dll so I can't compare it to ours. Our numbers appear to be a bit higher than yours.

Any chance you can post your sql query or check my query and see where I am going wrong.

SELECT LU_APPNAME.APPNAME, count(LU_APPNAME.APPNAME) as CountApps
FROM SDB_SESSION INNER JOIN LU_APPNAME ON SDB_SESSION.FK_APPNAMEID = LU_APPNAME.PK_APPNAMEID
where (SDB_SESSION.SESSIONSTART >= '2/2/2007 12:00:00 AM') AND (SDB_SESSION.SESSIONSTART 120000) AND APPNAME ''
group by LU_APPNAME.APPNAME
ORDER BY Count(lu_appname.APPNAME) DESC

Thanks Richard


Reply
Problem with Server Metrics
Hallo,
First I want to say that it is a great tool, works almost perfect with oracle 9.2.0.8 database.
But problem: Some of the server metrics show no data, for example context switches. Y-Axis say NaN as values. Other metrics show alway same value, Logical Disk Time for example alway exactly 39%.
Problem of some statements ? Or what can I do ?
Many thanks again for that tool :-)

Greetings
Christian

Reply
Re: Problem with Server Metrics
Hi Jason,
did you find out anything about that problem ? Would be nice if you can tell me, if perhaps only I have that problem.
Regards
Christian

Reply
Installation instructions
Are there instructions on installing this software?
Thanks
dw

Reply
Re: Installation instructions
you will find installation instructions in that installation package. in HTML format. with screenshots.

Reply
Can't get to save config file
Using Windows authentication, I get the error when trying to save config:

In order to modify configuration settings, the ASP.NET process account (either the local ASPNET or Network Service account, by default) must have write permission granted for the Web.config file in the web site directory.

I have granted asp.net local account full permissions yet it still won't save. anyone have an answer or can walk me through setting up web.config file manually?

Much thanks! been a user since 1.1 and vagualy remember how to do a connection string.



Reply
Concurrent Usage Report
Truly like the look and feel. My question is about the concurrent usage. It appears the number reported is based on logon time. Is there a way to view Active sessions versus just the Start Time for each hour?
Thanks, Jeff

Reply
Re: Concurrent Usage Report
The concurrent usage report is based on the start and end time. For instance, if User1 started a session at 8:00 AM and User 2 started a session at 9:15 AM, their sessions would be concurrent as long as User1 did not log off before 9:15 AM. Also, you can view Active Sessions via the server metric report.

Reply
Unable to Connected to Database Instance
Hello Jason, When is the new version due out... I would really love to install this in my environment, but I cant get it to work, due to our RM_database exists on SQL_servername\instance.. so named pipes are not working ;( Names Pipes support is available in the next version ?? when is it due out??

Reply

 
Post your comment:
Posting as: Guest. Don't want to post as Guest? Login or Register.
Title:  
Comment:  
Verification Code: