From 7a10fb6bead0f63623307a7ff71b1dd323534a7f Mon Sep 17 00:00:00 2001 From: scroggo Date: Tue, 4 Nov 2014 07:21:10 -0800 Subject: Separate JSON functions from DMWriteTask. Add JsonWriter, which handles Json output from DM, in preparation for adding json output for tests. This change should not affect behavior. BUG=skia:2454 Review URL: https://codereview.chromium.org/702513003 --- dm/DMJsonWriter.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 dm/DMJsonWriter.h (limited to 'dm/DMJsonWriter.h') diff --git a/dm/DMJsonWriter.h b/dm/DMJsonWriter.h new file mode 100644 index 0000000000..c358fdd923 --- /dev/null +++ b/dm/DMJsonWriter.h @@ -0,0 +1,44 @@ +/* + * Copyright 2014 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef DMJsonWriter_DEFINED +#define DMJsonWriter_DEFINED + +#include "SkString.h" + +namespace DM { + +/** + * Class for collecting results from DM and writing to a json file. + * All methods are thread-safe. + */ +class JsonWriter { +public: + /** + * Info describing a single run. + */ + struct BitmapResult { + SkString name; // E.g. "ninepatch-stretch", "desk-gws_skp" + SkString config; // "gpu", "8888" + SkString mode; // "direct", "default-tilegrid", "pipe" + SkString sourceType; // "GM", "SKP" + SkString md5; // In ASCII, so 32 bytes long. + }; + + /** + * Add a result to the end of the list of results. + */ + static void AddBitmapResult(const BitmapResult&); + + /** + * Write all collected results to the file FLAGS_writePath[0]/dm.json. + */ + static void DumpJson(); +}; + +} // namespace DM +#endif // DMJsonWriter_DEFINED -- cgit v1.2.3