Commit cf204971 authored by Adam Barth's avatar Adam Barth

Let Dart code running in Sky add events to the trace timeline

This will let us form a wholistic picture of work done in the framework and in
the engine.

R=ojan@chromium.org, rafaelw@chromium.org

Review URL: https://codereview.chromium.org/1028243003
parent 37bd64b2
......@@ -12,6 +12,7 @@ import 'package:sky/framework/components/menu_divider.dart';
import 'package:sky/framework/components/menu_item.dart';
import 'package:sky/framework/components/popup_menu.dart';
import 'package:sky/framework/components/scaffold.dart';
import 'package:sky/framework/debug/tracing.dart';
import 'package:sky/framework/fn.dart';
import 'package:sky/framework/theme/typography.dart' as typography;
import 'stock_data.dart';
......@@ -42,7 +43,9 @@ class StocksApp extends App {
fetchStockOracle().then((oracle) {
setState(() {
_sortedStocks = oracle.stocks;
_sortedStocks.sort((a, b) => a.symbol.compareTo(b.symbol));
trace('StocksApp::sortStocks', () {
_sortedStocks.sort((a, b) => a.symbol.compareTo(b.symbol));
});
});
});
}
......
......@@ -4,17 +4,13 @@
import 'dart:convert';
import 'dart:math';
import 'package:sky/framework/debug/tracing.dart';
import 'package:sky/framework/net/fetch.dart';
// Snapshot from http://www.nasdaq.com/screening/company-list.aspx
// Fetched 2/23/2014.
// "Symbol","Name","LastSale","MarketCap","IPOyear","Sector","industry","Summary Quote",
// final List<List<String>> _kCompanyList = [
// ["TFSC","1347 Capital Corp.","9.43","\$56.09M","2014","Finance","Business Services","http://www.nasdaq.com/symbol/tfsc"],
// ["TFSCR","1347 Capital Corp.","0.37","n/a","2014","Finance","Business Services","http://www.nasdaq.com/symbol/tfscr"],
// ["TFSCU","1347 Capital Corp.","9.97","\$41.67M","2014","n/a","n/a","http://www.nasdaq.com/symbol/tfscu"],
// ["TFSCW","1347 Capital Corp.","0.2","n/a","2014","Finance","Business Services","http://www.nasdaq.com/symbol/tfscw"],
// ];
// Data in stock_data.json
class Stock {
String symbol;
......@@ -60,8 +56,11 @@ class StockOracle {
Future<StockOracle> fetchStockOracle() async {
Response response = await fetch('lib/stock_data.json');
String json = response.bodyAsString();
JsonDecoder decoder = new JsonDecoder();
var companyList = decoder.convert(json);
return new StockOracle.fromCompanyList(companyList);
return trace('stocks::fetchStockOracle', () {
String json = response.bodyAsString();
JsonDecoder decoder = new JsonDecoder();
var companyList = decoder.convert(json);
return new StockOracle.fromCompanyList(companyList);
});
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment