Performance modelling with adaptive hidden Markov models and discriminatory processor sharing queues