#!/bin/bash
# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

#### CATEGORY=Build
### Collect Ninja trace information for analysis in chrome://tracing

## Usage: fx ninjatrace2json
##
## Use this after a build to write "ninjatrace.json" and
## "ninjatrace_critical_path.json" files in the build directories (separately
## for Zircon and Fuchsia build directories). Then use the chrome://tracing view
## to load that file into your browser.

set -e

source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/lib/vars.sh || exit $?
fx-config-read

TMP_DIR="$(mktemp -d)"
readonly TMP_DIR
trap 'rm -rf "${TMP_DIR}"' EXIT

for dir in "$ZIRCON_BUILDROOT" "$FUCHSIA_BUILD_DIR"; do
  artifacts_dir="$(mktemp -d -p ${TMP_DIR})"
  "${PREBUILT_NINJA}" -C "${dir}" -t compdb > "${artifacts_dir}/compdb.json"
  "${PREBUILT_NINJA}" -C "${dir}" -t graph > "${artifacts_dir}/graph.dot"

  "${HOST_OUT_DIR}/ninjatrace" \
    -ninjalog "${dir}/.ninja_log" \
    -compdb "${artifacts_dir}/compdb.json" \
    -graph "${artifacts_dir}/graph.dot" \
    -trace-json "${dir}/ninjatrace.json" \
    -critical-path
  echo "Now visit chrome://tracing and load ${dir}/ninjatrace.json"
done
