Vega is a popular domain-specific language (DSL) for visualization specification. At runtime, Vega's DSL is first transformed into a dataflow graph and then functions to render visualization primitives. While the Vega abstraction of implementation details simplifies visualization creation, it also makes Vega visualizations challenging to debug and profile without adequate tools. Our formative interviews with three practitioners at Sigma Computing showed that existing developer tools are not suited for visualization profiling as they are disconnected from the semantics of the Vega DSL specification and its resulting dataflow graph. We introduce VegaProf, the first performance profiler for Vega visualizations. VegaProf effectively instruments the Vega library by associating the declarative specification with its compilation and execution. Using interactive visualizations, VegaProf enables visualization engineers to interactively profile visualization performance at three abstraction levels: function, dataflow graph, and visualization specification. Our evaluation through two use cases and feedback from five visualization engineers at Sigma Computing shows that VegaProf makes visualization profiling tractable and actionable.
翻译:Vega 是一种广受欢迎的域名语言( DSL), 用于可视化。 在运行时, Vega 的 DSL 首次转换成数据流图, 然后函数转换成可视化原始。 虽然执行细节的 Vega 抽象化使可视化创建简单化, 但它也使得 Vega 视觉化在没有适当工具的情况下难以调试和剖析。 我们在Sigma 计算机公司与三名开业者进行的成型访谈表明, 现有的开发工具不适合可视化定性, 因为它们与 Vega DSL 规格及其产生的数据流图的语义脱节。 我们引入了VegaProf, 这是Vega 视觉化的第一个性描述器。 Vega Prof 通过将宣示性规格与其编集和执行联系起来, 有效地测量了 Vega 图书馆。 使用交互式可视化图解, Vega Prof 使得视觉化工程师能够在三个抽象层面( 函数、 数据流图案和可视化规格) 。 我们通过两个使用案例和Sigma 电子化工程师的反馈进行的评估显示, VegaProf 使可视化定性可视化分析可控和可操作。