RFR: JDK-8187498: Add a -Xmanagement flag as syntactic sugar for -Dcom.sun.management.jmxremote.* properties
Harsha Wardhana B
harsha.wardhana.b at oracle.com
Tue Feb 13 09:30:20 UTC 2018
Hi,
Please find below the revised webrev.
http://cr.openjdk.java.net/~hb/8187498/webrev.02/
On Friday 09 February 2018 05:07 AM, mandy chung wrote:
> On 2/7/18 1:19 AM, Harsha Wardhana B wrote:
> >
> > --start-management-agent will not be recognized in the current format and
> > hence will not default to --start-management-agent=local=true.
>
> `--start-local-management-server` is one option as Alan suggests.
> Another option is to make `--start-management-agent` to accept
> an optional argument. VM can accept `--start-management-agent`
> or `--start-management-agent=port=1234,ssl=on`. It may require
> more launcher change to support it.
Yes. It requires lot more changes to launcher. Hence optional argument
to --start-management-agent was not added in order to keep the launcher
impact minimum.
> > Below is the webrev with above changes and corresponding tests.
> >
> > http://cr.openjdk.java.net/~hb/8187498/webrev.01/
>
> arguments.cpp
>
> 3216 if (FLAG_SET_CMDLINE(bool, ManagementServer, true) != Flag::SUCCESS) {
> 3217 return JNI_EINVAL;
> 3218 }
> 3219 // management agent in module jdk.management.agent
> 3220 if (!create_numbered_property("jdk.module.addmods", "jdk.management.agent", addmods_count++)) {
> 3221 return JNI_ENOMEM;
> 3222 }
>
> - you can consider refactor this to replace this block and line 2988-3994.
>
> 3224 jio_fprintf(defaultStream::output_stream(),
> 3225 "-Xmanagement is not supported in this VM.\n");
>
> -Xmanagement not yet renamed
> java.c
> To set the precedence for future VM long form options, I suggest to
> rename IsManagementOption to IsVMLongFormOption and change the error
> message not specific to management agent.
Incorporated above changes.
> Agent.java
> If --start-management-agent is set, -Dcom.sun.management.* takes
> precedence. Do you really want to do that? The new VM option
> intends to simplify the command-line to type in. I think it's
> cleaner and reasonable if --start-management-agent is specified,
> -Dcom.sun.management.* are ignored (maybe worth emit a warning if set)
We can probably document that -D options will be overridden instead of
emitting a warning.
> The implementation uses VMManagement::getVmArguments and scan
> the VM options for -start-management-agent. The VM is the one
> invoking jdk.internal.agent.Agent::startAgent. A simpler option
> is to change Agent::startAgent to take an argument parameter
> that will be passed with the argument of --start-management-agent
> or null if not set.
>
> Similarly for startRemoteManagementAgent and startLocalAgent_name.
Implementing this change requires lot of changes to argument parsing in
native code and hence it is simpler to handle this at java layer.
> parseXmgmtArgs should be renamed as no longer -Xmgmt. Better not
> to tightly coupled with the option name.
Ok.
> 291 if(args.startsWith("--start-management-agent")) {
> 292 return parseXmgmtArgs(args);
> 293 }
>
> What is this change for?
This is required when management agent is started via attach mechanism.
> Mandy
-Harsha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20180213/0347857c/attachment.html>
More information about the serviceability-dev
mailing list