Home | History | Annotate | Download | only in firefighter
      1 <!-- Copyright 2015 The Chromium Authors. All rights reserved.
      2      Use of this source code is governed by a BSD-style license that can be
      3      found in the LICENSE file.
      4 -->
      5 
      6 Firefighter
      7 ===========
      8 
      9 Firefighter is an App Engine dashboard that visualizes time series data.
     10 
     11 The overall process is to:
     12 1. Ingest multiple streams of data, either by polling data sources, or by bot uploads.
     13 1. Convert everything to a trace event and tag it with metadata.
     14 1. Filter the events on dozens of parameters with low cost and latency, using BigQuery.
     15 1. Produce arbitrary visualizations for arbitrary data on-demand.
     16 
     17 Prerequisites
     18 -------------
     19 
     20 Follow the instructions for setting up [Google App Engine Managed VMs](https://cloud.google.com/appengine/docs/managed-vms/getting-started).
     21 
     22 1. Download and install the [Google Cloud SDK](https://cloud.google.com/sdk/#Quick_Start).
     23 
     24 1. Ensure you are authorized to run gcloud commands.
     25 
     26         $ gcloud auth login
     27 
     28 1. Set the default project name.
     29 
     30         $ gcloud config set project PROJECT
     31 
     32 1. Install the gcloud app component.
     33 
     34         $ gcloud components update app
     35 
     36 Development Server
     37 ------------------
     38 
     39 You must have the [Google Cloud SDK](https://cloud.google.com/sdk/) installed. Run:
     40 
     41     stats$ bin/run
     42 
     43 Deployment
     44 ----------
     45 
     46 You must have the [Google Cloud SDK](https://cloud.google.com/sdk/) installed. Run:
     47 
     48     stats$ bin/deploy
     49 
     50 Code Organization
     51 -----------------
     52 
     53 The app is divided into two modules: `default` and `update`. The `update` module handles ingestion of data, through either polling or uploading from an external service. The `default` module handles user queries. `base/` contains code shared between both modules.
     54