I have installed the Jensor client on My windows machine. I want to monitor the application on my linux Java server. I reffered Java User Manual. but I am am confused as it says..
The Administration module deals with creating secure environment between JAW and Jensor. It is a
rudimentary attempt to provide security to captured profiling data. The security principles are as
follows
1) Who is allowed to access profiling data? and
2) From what systems?
Consider the following scenario to understand the security mechanism in Jensor. Say, machine A is
the server which runs application X and say machine B is the developer workstation. The developer
wants to profile application X running on server A. S /he instruments the code and deploys it on
machine A. Now, if the developer wants to access the profiling data sitting on his/ her machine B the
following steps need to be followed.
1) Create System account in machine A for machine B
a. Launch JAW on server A
b. Go to Administration -> System Admin
c. Enter IP address or hostname of machine B
Now my Server A is a remote Linux server to which I want to monitor. So Do I need to install Jensor there? Its a remote box to which I login with ssh and X11 is not enabled on it so I cant install Jensor on it.
Do I need to do something on remote JVM server so that it will give the logs and all details to my client machine cause
As above it says
a. Launch JAW on server A <--
But I'm not sure how can I launch JAW on Linux remote box?
I appreciate your kind help. Please advice and let me know If I missed or misunderstood something.
Thanks,
Jayesh
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You will need to install Jensor on both machines i.e. your Linux server and your windows workstation.
Installation Guide talks about how to install on Linux.
If your Linux server does not run X-server (GUI) then you can manually go to $JENSOR_HOME/config directory using putty or ssh and add the ip of your workstation to hosts.all file. This entry will add your workstation to trusted list.
Once Jensor is setup on remote Linux server and the above file is edited, you should be able to send commands(start, stop and collate) to application running on Linux using JAW from your windows workstation.
Feel free to write back if more info is required.
Regards,
Amol
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On my linux box
# ./startup.sh
Finding Platform info ...
Current platform is Linux
Executing Shell Command
JC-006: JENSOR_HOME : /appl/Jensor
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
at java.awt.Window.<init>(Window.java:317)
at java.awt.Frame.<init>(Frame.java:419)
at javax.swing.JFrame.<init>(JFrame.java:194)
at com.tcs.perc.jensor.UI.JensorProjectUI.login(JensorProjectUI.java:490)
at com.tcs.perc.jensor.UI.JensorProjectUI.main(JensorProjectUI.java:552)
I have added my desktop ip on $JENSOR_HOME/config/hosts.all
Now, from my JAW on my windows machine when I go to Mode >> Collate records >> Linux server IP and default port 2199 it says "There is no Jensor runnning"
But when I give server IP and port as my tomcat port 8080 then it shows "Operation in progress" but then it hangs after couple of hours.
Waiting for your comments.
Regards,
Jayesh
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Apart from that I am getting as per below in background. I am running JAW on 1Gb Ram desktop so that should be enough for it cause as per requirement it needs 512 minimum ram.
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa
ce
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at com.tcs.perc.jensor.UI.modeStartSession$1.actionPerformed(modeStartSe
ssion.java:140)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
4835 /3.184.66.40:8080
File count : 4
Receive Buffer Size is 8192
Signal for Collection of Data sent
Exception in thread "Thread-4" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at com.tcs.perc.jensor.UI.CopyFiles.run(CopyFiles.java:125)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa
ce
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at com.tcs.perc.jensor.UI.modeStartSession$1.actionPerformed(modeStartSe
ssion.java:140)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
4858 /3.184.66.40:8080
File count : 4
Receive Buffer Size is 8192
Exception in thread "Thread-8" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at com.tcs.perc.jensor.UI.CopyFiles.run(CopyFiles.java:125)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
For post@3 - increase -Xmx parameter to say 512M in %JENSOR_HOME%\bin\startup.bat file
For post@2
X11 DISPLAY variable not set - You will not be able to launch Jensor UI on your Linux if X windows is not installed. So ignore this error, cause there is nothing you can do about it. Why do you need to launch JAW on Linux, though?
Regarding "Jensor not running" - Have you instrumented and deployed the application on your Linux server. Also is the application server running. After, deploying the instrumented code Jensor runs on port 21999. If you get a "Jensor not running" message then
0) Instrumented code has not been deployed
1) Instrumented code has not been activated so far
2) Application server is not running on Linux
Regarding pointing it to Tomcat 8080 on localhost - that is not how interact with Jensor. You have to give the port number on which Jensor is running, not where the application is running. Unless you have changed any defaults Jensor will always run on 21999.
Suggest you go through section on Installation Verification in installation guide to understand local and remote JAW concepts and see them in action.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have installed the Jensor client on My windows machine. I want to monitor the application on my linux Java server. I reffered Java User Manual. but I am am confused as it says..
The Administration module deals with creating secure environment between JAW and Jensor. It is a
rudimentary attempt to provide security to captured profiling data. The security principles are as
follows
1) Who is allowed to access profiling data? and
2) From what systems?
Consider the following scenario to understand the security mechanism in Jensor. Say, machine A is
the server which runs application X and say machine B is the developer workstation. The developer
wants to profile application X running on server A. S /he instruments the code and deploys it on
machine A. Now, if the developer wants to access the profiling data sitting on his/ her machine B the
following steps need to be followed.
1) Create System account in machine A for machine B
a. Launch JAW on server A
b. Go to Administration -> System Admin
c. Enter IP address or hostname of machine B
Now my Server A is a remote Linux server to which I want to monitor. So Do I need to install Jensor there? Its a remote box to which I login with ssh and X11 is not enabled on it so I cant install Jensor on it.
Do I need to do something on remote JVM server so that it will give the logs and all details to my client machine cause
As above it says
a. Launch JAW on server A <--
But I'm not sure how can I launch JAW on Linux remote box?
I appreciate your kind help. Please advice and let me know If I missed or misunderstood something.
Thanks,
Jayesh
Hi Jayesh,
You will need to install Jensor on both machines i.e. your Linux server and your windows workstation.
Installation Guide talks about how to install on Linux.
If your Linux server does not run X-server (GUI) then you can manually go to $JENSOR_HOME/config directory using putty or ssh and add the ip of your workstation to hosts.all file. This entry will add your workstation to trusted list.
Once Jensor is setup on remote Linux server and the above file is edited, you should be able to send commands(start, stop and collate) to application running on Linux using JAW from your windows workstation.
Feel free to write back if more info is required.
Regards,
Amol
Thanks Amol for the explanation.
On my linux box
# ./startup.sh
Finding Platform info ...
Current platform is Linux
Executing Shell Command
JC-006: JENSOR_HOME : /appl/Jensor
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
at java.awt.Window.<init>(Window.java:317)
at java.awt.Frame.<init>(Frame.java:419)
at javax.swing.JFrame.<init>(JFrame.java:194)
at com.tcs.perc.jensor.UI.JensorProjectUI.login(JensorProjectUI.java:490)
at com.tcs.perc.jensor.UI.JensorProjectUI.main(JensorProjectUI.java:552)
I have added my desktop ip on $JENSOR_HOME/config/hosts.all
Now, from my JAW on my windows machine when I go to Mode >> Collate records >> Linux server IP and default port 2199 it says "There is no Jensor runnning"
But when I give server IP and port as my tomcat port 8080 then it shows "Operation in progress" but then it hangs after couple of hours.
Waiting for your comments.
Regards,
Jayesh
Apart from that I am getting as per below in background. I am running JAW on 1Gb Ram desktop so that should be enough for it cause as per requirement it needs 512 minimum ram.
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa
ce
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at com.tcs.perc.jensor.UI.modeStartSession$1.actionPerformed(modeStartSe
ssion.java:140)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
4835 /3.184.66.40:8080
File count : 4
Receive Buffer Size is 8192
Signal for Collection of Data sent
Exception in thread "Thread-4" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at com.tcs.perc.jensor.UI.CopyFiles.run(CopyFiles.java:125)
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa
ce
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at com.tcs.perc.jensor.UI.modeStartSession$1.actionPerformed(modeStartSe
ssion.java:140)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
4858 /3.184.66.40:8080
File count : 4
Receive Buffer Size is 8192
Exception in thread "Thread-8" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuffer.append(Unknown Source)
at com.tcs.perc.jensor.UI.CopyFiles.run(CopyFiles.java:125)
Hi,
For post@3 - increase -Xmx parameter to say 512M in %JENSOR_HOME%\bin\startup.bat file
For post@2
X11 DISPLAY variable not set - You will not be able to launch Jensor UI on your Linux if X windows is not installed. So ignore this error, cause there is nothing you can do about it. Why do you need to launch JAW on Linux, though?
Regarding "Jensor not running" - Have you instrumented and deployed the application on your Linux server. Also is the application server running. After, deploying the instrumented code Jensor runs on port 21999. If you get a "Jensor not running" message then
0) Instrumented code has not been deployed
1) Instrumented code has not been activated so far
2) Application server is not running on Linux
Regarding pointing it to Tomcat 8080 on localhost - that is not how interact with Jensor. You have to give the port number on which Jensor is running, not where the application is running. Unless you have changed any defaults Jensor will always run on 21999.
Suggest you go through section on Installation Verification in installation guide to understand local and remote JAW concepts and see them in action.