You should explain a little more what you mean by covering the queue as a whole or analyzed separately. For example, you might want to cover that you have received particular data values in your bytes. You can loop through each byte in the queue
covergroup cg with function sample (byte x);
coverpoint x {
bins b1 = {0};
bins b2 = { [1:84] };
bins b3 = { [85:169] };
bins b4 = { [170:255] };
}
endgroup
Then inside the method that does the sampling
foreach(q[i]) cg.sample(q[i]);