/* _fTime is the ontrack time, in seconds. _fPos is the position on centerline, from 0 to 1 */ extern "C" __declspec(dllexport) void RunTelemetry(void *_pData, int _iDataSize, float _fTime, float _fPos) { SPluginsKartData_t *psKartData; psKartData = (SPluginsKartData_t*)_pData; if (pBuf) UpdateTelemetry(_fTime, _fPos, psKartData); }
NS_IMETHODIMP nsPerformanceStatsService::GetSnapshot(JSContext* cx, nsIPerformanceSnapshot * *aSnapshot) { nsRefPtr<nsPerformanceSnapshot> snapshot = new nsPerformanceSnapshot(); nsresult rv = snapshot->Init(cx, mProcessId); if (NS_FAILED(rv)) { return rv; } js::GetPerfMonitoringTestCpuRescheduling(JS_GetRuntime(cx), &mProcessStayed, &mProcessMoved); if (++mProcessUpdateCounter % 10 == 0) { mozilla::unused << UpdateTelemetry(); } snapshot.forget(aSnapshot); return NS_OK; }
NS_IMETHODIMP nsPerformanceStatsService::GetSnapshot(JSContext* cx, nsIPerformanceSnapshot * *aSnapshot) { RefPtr<nsPerformanceSnapshot> snapshot = new nsPerformanceSnapshot(); snapshot->SetProcessStats(GetStatsForGroup(mTopGroup)); for (auto iter = mGroups.Iter(); !iter.Done(); iter.Next()) { auto* entry = iter.Get(); nsPerformanceGroup* group = entry->GetKey(); if (group->isActive()) { snapshot->AppendComponentsStats(GetStatsForGroup(group)); } } js::GetPerfMonitoringTestCpuRescheduling(JS_GetRuntime(cx), &mProcessStayed, &mProcessMoved); if (++mProcessUpdateCounter % 10 == 0) { mozilla::unused << UpdateTelemetry(); } snapshot.forget(aSnapshot); return NS_OK; }