How to start WebLogic in profiling mode? - weblogic

No information found for this. Is there any way to start weblogic in profiling mode? Or, maybe, it's activated by default?

Profiling action can be initiated 2 ways
1) Pass the profiling action while you execute the startWeblogic.sh. Following parameters can be appended
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8010
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
2) The same parameters can be appended from startup tab in weblogic server

Here's what i got. Mainly focused on remote profiling using NetBeans
generated remote profiling package for target OS and JVM architecture (32 or 64 bit) (Netbeans -> Profile -> Attach Profiler -> Change link, select OS and Java platform -> click "Create a remote profiling package" link)
copy this package to target machine
execute calibration script (calibrate.bat / calibrate.sh (chmod +x))
add specific argument to java_otps with path to this package
-agentpath:PathToProfilerPackage\lib\deployed\jdk16\windows-amd64\profilerinterface.dll=PathToProfilerPackage\lib,5140
restart weblogic. Startup will be interrupted until remote profiler connected
connect to a server using NetBeans profiler. Weblogic startup will continue.
However, i still can't download heap dump (which is available when attaching to local java.exe Weblogic process) but that's something.

Related

How to debug custom mule 4 SDK connector?

I have a custom mule 4 SDK connector, I want to debug runtime and design time.
Just connect a Java debugger to the JVM. The connector is Java code.
To debug runtime:
Go to your Anypoint Studio, open "Run Configurations", select your Mule project from "Mule Applications" on the left (you need to run it at least once for it to appear here). Then in the "Arguments" tab add to the VM arguments: -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1044 - this will enable to attach to your debugger from the IDE you use for SDK development.
In your IDE add a debug config with connection type "Socket Attach", provide host (localhost) and port (1044).
Now you can set breakpoints in your IDE then start the Mule project in Anypoint Studio. When it is at the point of launching the runtime JVM (watch the Console) it will stop and wait for you to start the debug config set above and execution shall hit your breakpoints.
To debug design-time:
Go to where you installed Anypoint Studio, find AnypointStudio.ini
Add following contents after the -vm plugins line:
-vmargs
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888
also uncomment following two lines near the end, so they look like this:
#To_debug_the_mule_instance_uncomment_the_following_line
-Dmule.tooling.debug=true
#To_specify_the_debug_port_for_the_design_time_mule._E.g._To_debug_connectors_code_at_design_time.
-Dmule.toolingInstance.debugPort=8000
In your IDE create two "Socket Attach" type debug config, for localhost and ports 8888 and 8000.
Start Anypoint Studio. It will wait for you to start the debug config for port 8888, then it will come up. A minute later start the debug config for port 8000 - this is the one attaching to the design-time JVM. You can watch the threads starting in the Debug perspective of your IDE.
Just select Connect Java Debugger checkbox in Window -> Preferences -> Anypoint Studio -> Debugger

How to setup remote debug on initialization?

I'm trying to set up a remote debug properly. I have already set a remote debug and it works, but it not working on an application initialization stage, which means I can not see how a cache fills and so on.
My environment: Payara 4 (it is Glassfish) and IntelliJ IDEA Community Edition.
How to make a correct setup?
You can suspend the JVM on remote debugging by using suspend=y which make the JVM to wait until the remote debugger is attached.
So the debugger's JVM options will be as below
Java 5-8
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
Java 9 and later
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005
Note: Adjust the port based on your settings.

How to connect JProfiler to Virgo Server running in remote linux machine

Please help me how to connect JProfiler from windows machine to remote Virgo Jetty Server which is running in linux server.
Below are the steps I am following
From Choose Integration Wizard selecting Eclipse Virgo(Next)
Then I am selecting option of on remote computer with Linux platform(Next)
Then I am selecting JVM vendor Version etc (Next)
selecting option Wait or a connection from JProfiler GUI(Next)
Providing remote hostname:port(Next)
I was stuck at specifying remote installation directory
Here we didnt install JProfiler in our linux remote environment but we have server running there.I have seen option like If JProfiler is not installed,you can create archive and that contains profiling agent and extractit in above directory.Asking folder where to create Archive.
Can you please help what exactly this means what I need to do to create archive .Only thing I have done is installed JProfiler evaluation version in local machine and profiling local server.
Please help and let me know any additional information is required..Thanks in Advance..
If you select the option to create an archive in the integration wizard, JProfiler will create a .tar.gz file that contains the libraries for the profiling agent. You transfer that archive to the Linux server and extract it somewhere, e.g. to /home/myname/jprofiler by calling
mkdir /home/myname/jprofiler
cd /home/myname/jprofiler
tar xzvf /path/to/jprofiler_agent_linux-x64.tar.gz
In the integration wizard, specify /home/myname/jprofiler as the remote installation directory.

Error while using jprofiler for profiling remote weblogic server

Hi I am new to jprofiler . My task is to profile a remote weblogic server for which i have followed the steps for remote profiling and came till sh file creation which the jprofiler creates itself. As i have read I need to start my weblogic server with this sh file .
But i am stuck up with the following error.
:Error occured during initialisation of VM could not find agent library in the absolute path ......./linuxX64/libjprofilerti.so
I can see the file in path mentioned in the error. Help needed quickly .
Thanks in advance,
Raghu dev
Likely, you're profiling a 32-bit JVM, not a 64-bit JVM. Repeat the integration wizard and deselect the "64-bit JVM" check box on the "Profiled JVM" step. Then it should work.
uncheck the 64-bit vm option in jprofiler while creating the profiling settings. this should solve the issue

Can't launch JBoss7 from Eclipse Indigo

I can't figure out where I am going wrong. I have Eclipse Indigo, JBoss 7.1, JBoss Tools installed. I have this configuration working on my Windows7 64-bit system. I am attempting to set up a co-worker's Windows XP 32-bit machine with the same configuration but am not able to get the server to launch. I have configured the server but when I attempt to start the server, I get an error indicating that it was unable to start the server but there is no specific error listed.
I am able to start JBoss from the command prompt using the standalone.bat file.
I am able to configure the standalone.xml file from within Eclipse. I have confirmed this by checking the file in the standalone/configuration directory.
When I attempt to publish the project from within Eclipse, it does not publish.
Nothing gets written to server.log
The startup parameters match what I have on my computer.
I can't figure out what I am missing. Any suggestions would be appreciated!
Edit:
I have done some more checking. I am able to publish to the server and I am able to start the server (with the published application) fine from the command prompt. That part works. When I attempt to start the server from within Eclipse it gives me "Server JBoss 7.1 Runtime Server failed to start." It never writes anything to the console tab in Eclipse either so I can't tell why it is failing to start.
Also in the Servers tab, there is an entry called "Server Details". When I expand that entry, it says "Not Connected".
The answer to my problem is that Eclipse had be configured to use the java JDK, not the JRE. As soon as I switched over to use the JDK it started working fine. For some reason JBoss will start under 64-bit windows with the JRE but under 32-bit you need to use the JDK. I found the answer here: https://community.jboss.org/thread/169097