-- Executing [11@queuemetrics:2] NoOp("Local/305@from-internal-f958;1", " "QM_AGENT_CODE: agent/308" ") in new stack
-- Executing [11@queuemetrics:3] NoOp("Local/305@from-internal-f958;1", " "QM_EXT_MONITOR: 305" ") in new stack
-- Executing [11@queuemetrics:4] NoOp("Local/305@from-internal-f958;1", " "QM_AGENT_EXT: --" ") in new stack
-- Executing [11@queuemetrics:5] NoOp("Local/305@from-internal-f958;1", " "QM_LOGIN: demoadmin" ") in new stack
-- Executing [11@queuemetrics:6] NoOp("Local/305@from-internal-f958;1", " "QM_AGENT_LOGEXT: " ") in new stack
-- Executing [11@queuemetrics:7] ChanSpy("Local/305@from-internal-f958;1", "--") in new stack
As you can see, you are trying to chanspy on extension "--", so this does not do much sense.
In the example above, you were trying to chanspy on agent/308 that was likely SIP/308, correct?
Then you could do something like:
exten => 11,7,ChanSpy(SIP/${QM_AGENT_CODE:6})
And it would likely work.