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.Comment: Submitted to EuroVis'2