ambrose

A platform for visualization and real-time monitoring of data workflows

  • Owner: twitter-archive/ambrose
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Status

This project is no longer maintained.

Ambrose Build Status

Twitter Ambrose is a platform for visualization and real-time monitoring of MapReduce data workflows.
It presents a global view of all the map-reduce jobs derived from your workflow after planning and
optimization. As jobs are submitted for execution on your Hadoop cluster, Ambrose updates its
visualization to reflect the latest job status.

Ambrose provides the following in a web UI:

  • A workflow progress bar depicting percent completion of the entire workflow
  • A table view of all workflow jobs, along with their current state
  • A graph diagram which depicts job dependencies and metrics
    • Visual weighting of jobs based on resource consumption
    • Visual weighting of job dependencies based on data volume
  • Script view with line highlighting (Pig only)

Ambrose is built using the following front-end technologies:

Ambrose is designed to support any workflow runtime. See the following section for supported
runtimes.

Follow @Ambrose on Twitter to stay in touch!

Supported runtimes

Examples

Below is a screenshot of the Ambrose workflow UI. The interface presents multiple responsive "views"
of a single workflow. Just beneath the toolbar at the top of the window is a workflow progress bar
that tracks overall completion of the workflow. Below the progress bar is a graph diagrams which
depicts the workflow's jobs and their dependencies. Below the graph diagram is a table of workflow
jobs.

All views react to mouseover and click events on a job, regardless of the view on which the event is
triggered; Moving your mouse over the first row of the table will highlight that job's table row
along with the job's node in the graph diagram. Clicking on a job in any view will select it,
updating the highlighting of that job in all views. Clicking again on the same job will deselect it.

Ambrose workflow screenshot

Quickstart

To get started with Ambrose, first clone the Ambrose Github repository:

git clone https://github.com/twitter/ambrose.git
cd ambrose

Next, you can try running the Ambrose demo on your local machine. The demo starts a local web server
which serves the front-end client resources and sample data. Start the demo with the following
command and then browse to
http://localhost:8080/workflow.html?localdata=large:

./bin/ambrose-demo

To run Ambrose with a Pig script, you'll need to build the Ambrose Pig distribution:

mvn package

You can then run the following commands to execute script.pig with an embedded web server which
hosts the Ambrose web application:

cd pig/target/ambrose-pig-$VERSION-bin/ambrose-pig-$VERSION
AMBROSE_PORT=8080 ./bin/pig-ambrose -f script.pig

Note that the pig-ambrose script calls the pig script present in your local installation of Pig,
so make sure $PIG_HOME/bin is in your path. Now, browse to
http://localhost:8080/web/workflow.html to see the progress
of your script with the Ambrose workflow UI.

Maven repository

Ambrose releases can be found in the Maven Central Repository within package
com.twitter.ambrose.

How to contribute

Bug fixes, features, and documentation improvements are welcome! Please fork the project and send us
a pull request on Github. You can submit issues on Github
as well.

Here are some high-level goals we'd love to see contributions for:

  • Improve the front-end client
  • Add other visualization options
  • Create a new back-end for a different runtime environment
  • Create a standalone Ambrose server that's not embedded in the workflow client

Versioning

For transparency and insight into our release cycle, releases will be numbered with the follow format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backwards compatibility bumps the major
  • New additions without breaking backwards compatibility bumps the minor
  • Bug fixes and misc changes bump the patch

For more information on semantic versioning, please visit http://semver.org/.

Authors

License

Copyright 2013 Twitter, Inc.

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Main metrics

Overview
Name With Ownertwitter-archive/ambrose
Primary LanguageJava
Program languageShell (Language Count: 9)
Platform
License:Apache License 2.0
所有者活动
Created At2012-04-25 15:52:28
Pushed At2020-01-22 18:54:23
Last Commit At2020-01-22 10:54:22
Release Count16
Last Release Nameambrose-0.4.2 (Posted on 2015-05-20 17:41:43)
First Release Nameambrose-0.1.0-T1 (Posted on 2012-10-05 16:57:22)
用户参与
Stargazers Count1.2k
Watchers Count204
Fork Count199
Commits Count643
Has Issues Enabled
Issues Count0
Issue Open Count0
Pull Requests Count103
Pull Requests Open Count0
Pull Requests Close Count14
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private