babar
Profiler for large-scale distributed java applications (Spark, Scalding, MapReduce, Hive,...) on YARN.
File Explorer
Download Latest Version (.zip)- AgentConfig.java
- Config.java
- JVMUtils.java
- OSUtils.java
- ProcFSUtils.java
- ThreadUtils.java
- JVMProfiler.java
- ProcFSProfiler.java
- Profiler.java
- SamplingAggregatingProfiler.java
- SamplingProfiler.java
- StackTraceProfiler.java
- LogReporter.java
- Reporter.java
- SamplingSchedulable.java
- SamplingScheduler.java
- Schedulable.java
- ShutdownHookWorker.java
- Agent.java
- ConfigParserTest.java
- KVStateTest.java
- ProfilerParamsStateTest.java
- ProfilerStateTest.java
- TransitionStateTest.java
- ProcFSUtilsTest.java
- pom.xml
- babar.gif
- generate-table-of-contents.sh
- log4j.properties
- Aggregation.scala
- Gauge.scala
- HDFSUtils.scala
- IOUtils.scala
- Processor.scala
- TraceNode.scala
- pom.xml
- metrics.js
- App.vue
- constants.js
- Containers.vue
- ContainersTimeline.vue
- CPU.vue
- dateUtils.js
- dist.html
- GC.vue
- IO.vue
- main.js
- Memory.vue
- PlotTimeSeries.vue
- stringUtils.js
- Traces.vue
- vueFilters.js
- .babelrc
- index.html
- package-lock.json
- package.json
- pom.xml
- webpack.config.js
- .gitignore
- LICENSE
- pom.xml
- README.md
# Installation Guide
1. Get the code
git clone https://github.com/criteo/babar
Downloads the entire project code from GitHub to your computer.
cd babar
Moves into the project folder you just downloaded.
2. Maven (Java)
Medium RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- JDK (Java) Required to build and run Java projects.
- Maven The build tool used for the mvn command.
mvn clean install
Installs dependencies and builds the project using Maven.
A BUILD SUCCESS message means it worked. The output is created under target/.
Pulled directly from this repo's README.
3. Node.js
EasyPrerequisites
yarn logs --applicationId application_1514203639546_124445 > myAppLog.log
Type this command into your terminal and run it.
The **babar-agent** is a `java-agent` program. An agent is a jar that can be attached to a JVM in order to instrument this JVM. The agent fetches, at regular interval, information on the resource consumption and logs the resulting metrics in a plain text file named `babar.log` inside the YARN log directory. YARN's log aggregation at the end of the application combines all the executors logs into a single log file available on HDFS.
Type this command into your terminal and run it.
The **babar-processor** is the piece of software responsible for parsing the aggregated log file from the YARN application and aggregating the metrics to produce the report. The logs are parsed as streams which allows to aggregate large logs files (dozens of GB).
Type this command into your terminal and run it.
<td>The amount of memory reserved in megabytes for the container in which the JVM runs. This value allows Babar to plot the reserved memory despite not having access to it (as it is managed by the resource allocator, i.e. YARN).</td>
Type this command into your terminal and run it.
The processor needs to parse the application log aggregated by YARN (or any other log aggregation mechanism), either from HDFS or from a local log file that has been fetched using the following command (replace the application id with yours):
Type this command into your terminal and run it.
After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.
Pulled directly from this repo's README.
// repository documentation
Was this content helpful?
(0 ratings)
