protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate (bundle);

            SetContentView (Resource.Layout.Main);

            var task = new Task (async () => {
                try {
                    // FIXME
                    var inspector = "10.1.12.185:8080";
                    var recipeId = 1;

                    var output = "/sdcard/benchmark-profile.mpld";

                    var versions = new Dictionary<string, string> {
                        { "mono", Mono.Runtime.GetDisplayName () },
                        { "monodroid", "" }
                    };

                    Console.WriteLine ("MainActivity | Benchmark : start");

                    var args = Arguments.Parse (Assets.Open ("arguments"));

                    await Assets.Open (args.Assembly).CopyToAsync (
                        OpenFileOutput ("benchmark.exe", FileCreationMode.WorldReadable));

                    var time = new Benchmark (Assembly.LoadFile (FilesDir.AbsolutePath + "/benchmark.exe"), args.Class)
                        .Run (args.BenchmarkArguments.ToArray ());

                    Console.WriteLine ("MainActivity | Benchmark : end, time = {0:N3} ms", time / 10000d);
                    Console.WriteLine ("MainActivity | Log Upload : start, inspector = {3}, recipeId = {0}, output = {1}, versions = {2}",
                                recipeId, output, versions, inspector);

                    new ResultUploader (inspector).Upload (recipeId, new FileStream (output, FileMode.Open));

                    Console.WriteLine ("MainActivity | Log Upload : end");
                } catch (Exception e) {
                    Console.WriteLine (e);
                } finally {
                    Finish ();
                }
            });

            task.Start ();
        }
Example #2
0
        public static void Main(string[] args)
        {
            if (args.Length < 3)
                throw new ArgumentException ("usage : root samples_file inspector_address");

            var root = args [0];
            var samplesFile = Path.IsPathRooted (args [1]) ? args [1] : Path.Combine (root, args [1]);
            var inspectorAddress = args [2];

            var arguments = Arguments.Parse (File.Open (Path.Combine (
                root, "arguments.ini"), FileMode.Open));

            var assembly = Path.IsPathRooted (arguments.Assembly) ?
                arguments.Assembly : Path.Combine (root, arguments.Assembly);

            var time = new Benchmark (Assembly.LoadFile (assembly), arguments.Class)
                .Run (arguments.BenchmarkArguments.ToArray ());

            using (var samples = File.Open (samplesFile, FileMode.Open)) {
                new ResultUploader (inspectorAddress).Upload (1, new FileStream (samplesFile, FileMode.Open));
            }

            Console.WriteLine ("{0:N3} ms", time / 10000d);
        }