rhuss / jmx4perl

JMX access tools and modules
http://search.cpan.org/~roland/jmx4perl/
Other
45 stars 12 forks source link

payara support #59

Open HOSTED-POWER opened 7 years ago

HOSTED-POWER commented 7 years ago

Hi,

We're trying to get memory statistics with payara, but it doesn't seem to work.

Also the list command doesn't work.

jmx4perl http://localhost:28080/jolokia list

Use of uninitialized value in subroutine entry at /usr/share/perl5/URI/Escape.pm line 184. Can't use string ("com.sun.messaging.jmq.jmsserver."...) as a HASH ref while "strict refs" in use at /usr/local/share/perl/5.20.2/JMX/Jmx4Perl.pm line 1089.

Any idea what could be going on?

Regards Jo

rhuss commented 7 years ago

Thanks for the bug report ! Currently I'm not working on jmx4perl but I would include a PR if you feel fancy to debug and contribute.

HOSTED-POWER commented 7 years ago

Hi,

Unfortunately I'm not a specialist. I can run debug commands and stuff if you would like, but not much more I'm afraid.

Please let me know if I could be of some help in another way! :)

shaohua-deng commented 7 years ago

I run into the same issue, just with another perl version 5.14.2 on Ubuntu 12.04.
My jmx4perl version is 1.12

Can't use string ("org.jolokia.discovery.JolokiaDis"...) as a HASH ref while "strict refs" in use at /usr/local/share/perl/5.14.2/JMX/Jmx4Perl.pm line 1089.

sub _formatmap { my ($ret,$map,$path,$level) = @;

 my $p = shift @$path;
 my $sep = $SEPS[$level] ? $SEPS[$level] : "";
 if ($p) {
     $ret .= "$p".$sep;
     if (!@$path) {
         my $s = length($ret);
         $ret .= "\n".("=" x length($ret))."\n\n";
     }
     $ret = &_format_map($ret,$map,$path,$level);
 } else {
     for my $d (keys %$map) {      #### line 1089, where the error happens
         my $prefix = "";
         if ($level == 0) {
             $CURRENT_DOMAIN = $d;
         } elsif ($level == 1) {
             $prefix = $CURRENT_DOMAIN . ":";
         }
         $ret .= &_get_space($level).$prefix.$d.$sep."\n" unless ($d eq "attr" || $d eq "op" || $d eq "error"   || $d eq "desc");
shaohua-deng commented 7 years ago

Use attributes as workaround: jmx4perl http://192.168.6.57:8778/jolokia attributes > a.txt then I can see all the mbeans with their attributes in a.txt.