News for hackers. Stuff that matters.
Re:Treating performance as a product: The technical story of... by kevan on Tuesday August 29, 2017 @02:09PM (#15126330)
Out of curiosity, are you watching percentiles or averages in your metrics?
Re:Treating performance as a product: The technical story of... by pspeter3 on Tuesday August 29, 2017 @02:13PM (#15126360)
We used to track percentiles but discovered Asanas struggled to empathize with them. We switched to defining semantic performance bands (eg < 100ms, < 300ms, < 1s, < 3s, < 5s, < 10s). For each action, we track the percentage per band. Asanas seemed to empathize better with time as the independent variable and percentage as the dependent variable.
Re:Treating performance as a product: The technical story of... by btilly on Tuesday August 29, 2017 @02:30PM (#15126513)
I would also suggest that you do the same with a metric for "slowest action in 15 minute period of user input". 99% of actions are fast but you have hundreds of actions over 15 minutes, people will notice those slow ones.
Re:Treating performance as a product: The technical story of... by pspeter3 on Tuesday August 29, 2017 @02:36PM (#15126556)
Thanks for the advice! We believe that users remember the slowest actions as well. Your strategy sounds like it will help identify the long tail of rare yet slow actions.
Re:Treating performance as a product: The technical story of... by btilly on Tuesday August 29, 2017 @04:36PM (#15127410)
Here is another tip to track down that long tail.

"Tracer bullets". Have a flag that can be put on an action that causes it to be logged very verbosely. In a way that travels through your system. And then aggregate those logs, process them, and make them available. Then randomly tag a small fraction of actions with that flag. Like 0.1%. Because you do this relatively rarely, you can make verbose logs without overwhelming your system.

When you receive a complaint about foo occasionally being slow your first stop is to see if you've got a concrete action that was slow, look at the picture from the logs, and try to figure out why. This will greatly help in reproducing rare problems or, if you can't, at least identifying where they come from deep in your system.

Re:Treating performance as a product: The technical story of... by f1notformula1 on Tuesday August 29, 2017 @02:24PM (#15126463)
Can you elaborate on what an Asana is and what "empathize" means? I'm not an Asana user, so perhaps I'm unfamiliar with the jargon.
Re:Treating performance as a product: The technical story of... by pspeter3 on Tuesday August 29, 2017 @02:27PM (#15126494)
By Asana, I just meant employee. More people intuitively understood our metrics when we switched our framing.
Re:Treating performance as a product: The technical story of... by btilly on Tuesday August 29, 2017 @02:31PM (#15126521)
Another benefit of switching that framing is that it makes aggregation easier.