When profiling mulitple JS engines, the profiler can send multiple "Complete" messages on exit. That is bad because the "Complete" message is meant to be the final message, signaling to the client that it can process the data now.
As QQmlProfilerService::engineAboutToBeRemoved() is called for each engine in turn, if an adapter manages to send all the data before the next engine is removed, we get a premature "Complete".
|For Gerrit Dashboard: QTBUG-65767|
|216728,3||QQmlProfilerService: Only send "Complete" if no more engines are running||5.9||qt/qtdeclarative||Status: MERGED||+2||0|
|216748,9||QML Profiler: Test that only one Complete message is sent per session||dev||qt/qtdeclarative||Status: MERGED||+2||0|