Slack Justin Rushing

Slack's Client Tracing: Understanding Mobile and Desktop Application Performance at Scale

Original post Client Tracing: Understanding Mobile and Desktop Application Performance at Scale

Article Summary

Justin Rushing from Slack's Mobile Infrastructure team reveals how they solved the dreaded "my app is slow" complaint. Their solution? Bringing distributed tracing—typically a backend tool—to mobile and desktop clients.

Slack's engineering team was struggling to diagnose performance issues that weren't easily reproducible. They adapted distributed tracing technology, commonly used for multi-service web applications, to instrument their iOS, Android, and desktop clients at scale. The result is a comprehensive system that captures over a billion logs per day across nearly 100 distinct traces.

Key Takeaways

Critical Insight

Slack built a client-side tracing system that processes over a billion logs daily, giving developers causality and context that simple event logs never provided.

Continue reading

The article includes a fascinating deep-dive into how their launch trace reveals interactions between concurrent operations that traditional profiling tools completely miss.

This page summarizes “Client Tracing: Understanding Mobile and Desktop Application Performance at Scale” by Slack, published Mar 24, 2021. All credit for the original work goes to the authors.

Read the original on slack.engineering (opens in new tab)

AI tools for iOS

Browse all AI tools →