Hi!
Most convenient way to achieve this is if you have your interfaces set as Related Object ("Other options" tab in DCI's properties). Related object is automatically set, if you create your DCIs from context menu of interface(s). Or you can set it manually. Or if you use instance discovery to create your DCIs, Related Object can be set from instance discovery filter script.
Then, in Transformation script of your DCI you can use
return $1 * 8 / $dci->relatedObject->speed;
and your threshold should be "last polled value > 90", samples: 5.
There is currently one drawback of this approach - to work with traffic counters, DCI type should be Counter32 or Counter64, and the resulting percentage will be integer (it will be seen as float in last values, but will be integer in history and graphs).
You can have another float DCI with push source and push values from transformation script of the first DCI.
Or just wait for this issue to get resolved: https://track.radensolutions.com/issue/NX-2371 - you can watch it in the bug tracker to get notifications.
Feel free to ask any additional questions.