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
6Firefighter
7===========
8
9Firefighter is an App Engine dashboard that visualizes time series data.
10
11The overall process is to:
121. Ingest multiple streams of data, either by polling data sources, or by bot uploads.
131. Convert everything to a trace event and tag it with metadata.
141. Filter the events on dozens of parameters with low cost and latency, using BigQuery.
151. Produce arbitrary visualizations for arbitrary data on-demand.
16
17Prerequisites
18-------------
19
20Follow the instructions for setting up [Google App Engine Managed VMs](https://cloud.google.com/appengine/docs/managed-vms/getting-started).
21
221. Download and install the [Google Cloud SDK](https://cloud.google.com/sdk/#Quick_Start).
23
241. Ensure you are authorized to run gcloud commands.
25
26        $ gcloud auth login
27
281. Set the default project name.
29
30        $ gcloud config set project PROJECT
31
321. Install the gcloud app component.
33
34        $ gcloud components update app
35
36Development Server
37------------------
38
39You must have the [Google Cloud SDK](https://cloud.google.com/sdk/) installed. Run:
40
41    stats$ bin/run
42
43Deployment
44----------
45
46You must have the [Google Cloud SDK](https://cloud.google.com/sdk/) installed. Run:
47
48    stats$ bin/deploy
49
50Code Organization
51-----------------
52
53The 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