riemann / riemann-jvm-profiler Goto Github PK
View Code? Open in Web Editor NEWSends stacktrace-level performance data from a JVM process to Riemann.
License: Eclipse Public License 1.0
Sends stacktrace-level performance data from a JVM process to Riemann.
License: Eclipse Public License 1.0
when i tried to start riemann got the following error in main class . confirmed that the jar
riemann-jvm-profiler-0.1.0-standalone.jar
riemann-jvm-profiler-0.1.0.jar
are in classpath
Exception in thread "main" java.lang.NoClassDefFoundError: clojure/lang/ITransientMap
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2484)
at java.lang.Class.getMethod0(Class.java:2727)
at java.lang.Class.getMethod(Class.java:1639)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:294)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)
Caused by: java.lang.ClassNotFoundException: clojure.lang.ITransientMap
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 6 more
FATAL ERROR in native method: processing of -javaagent failed
Abort trap: 6
Exception in thread "main" java.lang.ClassNotFoundException: riemann.jvm_profiler.Agent
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:280)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)
FATAL ERROR in native method: processing of -javaagent failed
Aborted (core dumped)
I encounter this error when following the 'As a Java agent' section of the README, profiling a trivial hello-world main function.
Exact command:
java -javaagent:'/home/rmaus/scratch/riemann/riemann-jvm-profiler/riemann-jvm-profiler-0.1.0-standalone.jar=prefix=TEST,host=localhost,localhost-pid?=true' -cp test.jar com.Test
Software versions:
java version "1.6.0_30"
Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode)
Leiningen 1.7.1 on Java 1.6.0_30 Java HotSpot(TM) 64-Bit Server VM
I'm trying to add riemann-jvm-profiler to hive mapred jobs
hive> set mapreduce.map.java.opts=-javaagent:'/var/lib/riemann-jvm-profiler.jar=prefix=profiler,host=10.50.xx.xx'
hive> set mapreduce.reduce.java.opts=-javaagent:'/var/lib/riemann-jvm-profiler.jar=prefix=profiler,host=10.50.xx.xx'
hive> select count(*) from test_table;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapred.reduce.tasks=<number>
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
This riemann-jvm-profiler.jar works well with tomcat on other server.
Hive version 0.12.0-cdh5.1.3
I'm using the riemann-jvm-profiler as javaagent.
I've added this in my server startup script
RIEMANN_OPTS="-javaagent:'/var/opt/lib/riemann-jvm-profiler-0.1.0-standalone.jar=host=riemannhost,port=5556,localhost-pid?=true,dt=10,load=0.03'"
JAVA_OPTS="${MONITORING_OPTS} ${RIEMANN_OPTS} "
After starting up the server. I see these in the log file
JAVA_OPTS: -server -XX:+UseCompressedOops - -XX:MaxPermSize=512m -Xms8192m -Xmx8192m -XX:+PrintGCDateStamps -XX:+PrintGCDetails -javaagent:'/var/opt/lib/riemann-jvm-profiler-0.1.0-standalone.jar=host=riemannhost,port=5556,localhost-pid?=true,dt=10,load=0.03'
However after running my test cases i don't see any profiling information sent to my riemannhost. riemann.log also looks empty. What is the best way to debug this.
I'm using jboss as my application server
I built the profiling jar using lein as mentioned in https://github.com/riemann/riemann-jvm-profiler
Here is the command to run this as a java agent
-javaagent:'/var/opt/lib/riemann-jvm-profiler-0.1.0.jar=prefix=MyApp,host=MyRiemannServer'
At the runtime i see this error
Exception in thread "main" java.lang.ClassNotFoundException: riemann.jvm_profiler.Agent
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
My Lein Version
lein --version
Leiningen 1.7.1 on Java 1.8.0_66 Java HotSpot(TM) 64-Bit Server VM
When i unzip the riemann-jvm-profiler-0.1.0.jar,I just see stack.clj under /riemann/jvm_profiler
I see Agent.Java under /riemann
Is there any problem with the build.
async-profiler says it avoids safepoint problem in its README and a low-level profile for jvm-applications.
I'm curious if riemann-jvm-profiler also avoid safepoint, and what's more or less compared with async-profile, Thanks in advance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.