Improving Performance with Incremental Frame Loading | Figma Blog (opens in new tab)
Keeping Figma fast Inside Figma Quality & performance Engineering
Keeping Figma fast Inside Figma Quality & performance Engineering
Figma’s 2023 Handoff Inside Figma Culture Thought leadership Writing
Christophe Nasarre The Profiling Engineering team at Datadog develops profiling tools for various runtimes, including Microsoft .NET. This blog post is the first in a series explaining the technical architecture and implementation choices behind our .NET profiler. Along the way,…
Datadog’s Continuous Profiler timeline view addresses the limitations of traditional aggregate profiling by providing a temporal context for resource consumption. It allows developers to visualize how CPU usage, memory allocation, and thread activity evolve over time, making it easier to pinpoint transient performance regressions that are often masked by averages. By correlating execution patterns with specific time windows, teams can move beyond static flame graphs to understand the root causes of latency spikes and resource contention in live environments. ### Moving Beyond Aggregate Profiling * Traditional flame graphs aggregate data over a period, which can hide short-lived performance issues or intermittent stalls that do not significantly impact the overall average. * The timeline view introduces a chronological dimension, mapping stack traces to specific timestamps to show exactly when resource-intensive operations occurred. * This temporal granularity is essential for identifying "noisy neighbors" or periodic background tasks, such as scheduled jobs or cache invalidations, that disrupt request processing. ### Visualizing Thread Activity and Runtime Contention * The tool visualizes individual thread states, distinguishing between active CPU execution, waiting on locks, and I/O operations. * Developers can identify "Stop-the-World" garbage collection events or thread starvation by observing gaps in execution or excessive synchronization overhead within the timeline. * Specific metrics, including lock wait time and file/socket I/O, are overlaid on the timeline to provide a comprehensive view of how code interacts with the underlying runtime and hardware. ### Correlating Profiles with Distributed Traces * Integration between profiling and tracing allows users to pivot from a slow span in a distributed trace directly to the corresponding timeline view of the execution thread. * This correlation helps explain "unaccounted for" time in traces—such as time spent waiting for a CPU core or being blocked by a mutex—that traditional tracing cannot capture. * Filtering capabilities allow teams to isolate performance regressions by service, version, or environment, facilitating faster root-cause analysis during post-mortems. To optimize production performance effectively, teams should incorporate timeline analysis into their standard debugging workflow for latency spikes rather than relying solely on aggregate metrics. By combining chronological thread analysis with distributed tracing, developers can resolve complex concurrency issues and "tail latency" problems that aggregate profiling often overlooks.
How Razorpay sharpened developer workflows Working Well Design systems Razorpay’s design systems team developed Blade to keep user experiences consistent and intuitive while supporting multiple products across platforms. As one of India’s largest and fastest growing financial se…
Understanding data lineage
Austin Lai Jean-Mathieu Saponaro In October at the Crunch Conference in Budapest, Jean-Mathieu Saponaro, Data & Analytics Senior Engineering Manager at Datadog, delivered a presentation about how he and his teams scaled self-serve analytics within Datadog up to the 5,000 employe…
Meet the nonprofit training formerly incarcerated people for careers in UX design Maker Stories UI/UX Social impact Career & education
Little Big Updates: When going big actually means thinking small Inside Figma Product updates Thought leadership Quality & performance Culture Behind the scenes Product management Tips & inspiration News
Server-side sandboxing: An introduction Inside Figma Security Engineering
Config 2023: Reimagining where teams design and build together Inside Figma Product updates Config Design Engineering Collaboration News
Config 2023: Reimagining where teams design and build together Inside Figma Product updates Config Design Engineering Collaboration News
Figma’s 2023 Handoff Inside Figma Culture Thought leadership Writing
Figma’s 2023 Handoff Inside Figma Culture Thought leadership Writing