论文标题

Vegaprof:Vega可视化分析

VegaProf: Profiling Vega Visualizations

论文作者

Yang, Junran, Bäuerle, Alex, Moritz, Dominik, Demiralp, Çağatay

论文摘要

可视化的特定域特异性语言(DSL)旨在通过提供从用户到系统层的摘要实现和执行详细信息的抽象来促进可视化创建。因此,DSL通常通过将其转换为连续降低操作中的中间表示(IRS)来执行用户定义的规格。但是,DSL指定的可视化可能很难概述,因此,由于分层的抽象而进行了优化。为了更好地了解可视化分析工作流程和挑战,我们对使用Vega在生产中使用Vega的可视化工程师进行了形成性的访谈。 VEGA是一种流行的可视化DSL,可将规格转换为数据流图,然后将其执行以渲染可视化原始图。我们的形成性访谈表明,当前的开发人员工具不适合可视化分析,因为它们与Vega规范及其IRS在运行时的语义脱节。为了解决这一差距,我们介绍了Vegaprof,这是VEGA可视化的第一位性能分析器。 VEGAPROF仪器通过将声明规范与其汇编和执行相关联,通过Vega库。 Vegaprof集成到Vega代码游乐场中,以三个抽象级别进行视觉性能检查:功能,数据流图和可视化规范。我们通过用例和可视化工程师的反馈以及Vega库的原始开发人员评估Vegaprof。我们的结果表明,Vegaprof通过使用户能够在VEGA的分层抽象之间进行交互探测时间的性能,从而使可视化分析更加易和作用。此外,我们从调查结果中提取建议,并倡导共同设计可视化DSL及其内省工具。

Domain-specific languages (DSLs) for visualization aim to facilitate visualization creation by providing abstractions that offload implementation and execution details from users to the system layer. Therefore, DSLs often execute user-defined specifications by transforming them into intermediate representations (IRs) in successive lowering operations. However, DSL-specified visualizations can be difficult to profile and, hence, optimize due to the layered abstractions. To better understand visualization profiling workflows and challenges, we conduct formative interviews with visualization engineers who use Vega in production. Vega is a popular visualization DSL that transforms specifications into dataflow graphs, which are then executed to render visualization primitives. Our formative interviews reveal that current developer tools are ill-suited for visualization profiling since they are disconnected from the semantics of Vega's specification and its IRs at runtime. To address this gap, we introduce VegaProf, the first performance profiler for Vega visualizations. VegaProf instruments the Vega library by associating a declarative specification with its compilation and execution. Integrated into a Vega code playground, VegaProf coordinates visual performance inspection at three abstraction levels: function, dataflow graph, and visualization specification. We evaluate VegaProf through use cases and feedback from visualization engineers as well as original developers of the Vega library. Our results suggest that VegaProf makes visualization profiling more tractable and actionable by enabling users to interactively probe time performance across layered abstractions of Vega. Furthermore, we distill recommendations from our findings and advocate for co-designing visualization DSLs together with their introspection tools.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源