Server Agent for ARM Processor (Embedded Processors)

769 views
Skip to first unread message

mattta...@gmail.com

unread,
Aug 15, 2013, 6:07:27 PM8/15/13
to jmeter-...@googlegroups.com
Currently I am getting this error:

4 [main] DEBUG Sigar  - no libsigar-arm-linux.so in java.library.path
org.hyperic.sigar.SigarException: no libsigar-arm-linux.so in java.library.path
        at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172)
        at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
        at kg.apc.perfmon.PerfMonWorker.<init>(PerfMonWorker.java:54)
        at kg.apc.perfmon.AgentTool.getWorker(AgentTool.java:90)
        at kg.apc.perfmon.AgentTool.processParams(AgentTool.java:23)
        at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:63)
        at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at kg.apc.cmd.UniversalRunner.main(UniversalRunner.java:175)

INFO    1970-01-01 01:02:32.635 [kg.apc.p] (): Binding UDP to 4444
INFO    1970-01-01 01:02:33.633 [kg.apc.p] (): Binding TCP to 4444
INFO    1970-01-01 01:02:33.658 [kg.apc.p] (): JP@GC Agent v2.2.0 started


I can see from here that I don't have a libsigar-arm-linux.so where can I get this from?

Andrey Pohilko

unread,
Aug 16, 2013, 12:47:03 AM8/16/13
to jmeter-...@googlegroups.com
Hi,

This question should be addressed to Hyperic SIGAR developers. ServerAgent use their library to contact OS for measurings.

If you have enough linux user skills you can try building sigar on arm from sources and renaming resulting SO to desired.

https://github.com/hyperic/sigar

пятница, 16 августа 2013 г., 2:07:27 UTC+4 пользователь mattta...@gmail.com написал:

mattta...@gmail.com

unread,
Aug 16, 2013, 11:19:23 AM8/16/13
to jmeter-...@googlegroups.com
Okay Thanks

mattta...@gmail.com

unread,
Aug 16, 2013, 12:00:38 PM8/16/13
to jmeter-...@googlegroups.com
Here it is if anyone else needs it.

Thanks
libsigar-arm-linux.so

mattta...@gmail.com

unread,
Aug 16, 2013, 12:16:00 PM8/16/13
to jmeter-...@googlegroups.com
The reason I post this is because there may be someone like me trying to get PerfMon working on a target board that has and embedded ARM processor

Andrey Pohilko

unread,
Aug 16, 2013, 1:58:23 PM8/16/13
to jmeter-...@googlegroups.com
Please, share the way you achieved your goal. Did you just built sigar from sources on ARM board?

пятница, 16 августа 2013 г., 20:16:00 UTC+4 пользователь mattta...@gmail.com написал:

xtayl...@gmail.com

unread,
Sep 5, 2013, 1:10:15 PM9/5/13
to jmeter-...@googlegroups.com
Yes...sorry for the late reply I just did a build ANT on the target board then placed the file in the lib for server Agent.

mattta...@gmail.com

unread,
Sep 5, 2013, 1:39:43 PM9/5/13
to jmeter-...@googlegroups.com

Building SIGAR

The native library, Java JNI bindings and Java classes are built using the same build system which has the following requirements:

  • JDK 1.4 or higher
  • Ant 1.6.5 or higher
  • Perl 5.6.1 or higher
  • C compiler

Perl is required to generate much of the JNI code as well as many of the Java classes. The ant build system uses a modified version of
cpptasks which works on all platforms supported by SIGAR. The native library can be used by the following languages:

  • C/C++
  • Java (sigar.jar auto-loads the native library)
  • Perl (requires bindings/perl build)
  • .NET C# (requires bindings/csharp build)
  • Ruby (requires bindings/ruby build)
  • Python (requires bindings/python build)
  • PHP (requires bindings/php build)
  • Erlang (requires bindings/erl build)
Note
The native library includes Java_org_hyperic_sigar_* functions, however there are no JRE dependencies for pure C/C++ applications using SIGAR. The Java JNI interface uses runtime linking and a function-pointer interface which allows us to combine both the sigar_ C API and JNI implementations into a single library. If this is not desirable, it would be trivial to have your own project build system simply compile src/*.c and src/os/$osname/*.c, then link the object files directly into your library or application.

Example build:

% tar -zxf hyperic-sigar-1.6.4-src.tar.gz
 
% cd hyperic-sigar-1.6.4-src/bindings/java
% ant

Results in:

% ls -1 sigar-bin/lib
libsigar-universal-macosx.dylib
sigar.jar

Test using:

% java -jar sigar-bin/lib/sigar.jar test
Reply all
Reply to author
Forward
0 new messages