Statistical function percentile (http://en.wikipedia.org/wiki/Percentile) widely used by ISP for billing purposes to measure bandwidth level without random peaks (95th percentile). So I think it will be useful to add percentile to Zabbix trigger function. So users can create monitoring rules to warn then traffic goes beyond billing limit.
Also 95th is a good measure for "regular" maximum of traffic bandwidth, and 5th percentile for "regular" minimum. So that function will be useful in triggers which detect various anomalies in traffic.
I've attach patch with my realization of percentile function. It is against last 1.8.x svn snapshot. I've tested it with Zabbix 1.8.5rc1. It can be applied without errors to trunk svn tree, but I didn't test it with trunk.
Function has three arguments:
first is number of percentile, e.g. 95, 5 or something else.
other two arguments exactly like in avg, min or max functions, length of period (sec or #num) and optional time shift (sec)
There is only small issue with trigger popup window (which adds function to trigger expression), looks like it can't hadle function with three arguments. And I'm not expert in PHP and webinterfaces and don't know how to fix it.
The patch is completely unintrusive, so I hope it can be applied even to 1.8.x branch of Zabbix.