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