void NetworkResourcesData::addCachedResource(const String& requestId, CachedResource* cachedResource) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; resourceData->setCachedResource(cachedResource); }
void NetworkResourcesData::setResourceType(const String& requestId, InspectorPageAgent::ResourceType type) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; resourceData->setType(type); }
InspectorPageAgent::ResourceType NetworkResourcesData::resourceType(const String& requestId) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return InspectorPageAgent::OtherResource; return resourceData->type(); }
void NetworkResourcesData::addResourceSharedBuffer(const String& requestId, PassRefPtr<SharedBuffer> buffer, const String& textEncodingName) { ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId); if (!resourceData) return; resourceData->setBuffer(buffer); resourceData->setTextEncodingName(textEncodingName); }
void NetworkResourcesData::addCachedResource(const String& requestId, CachedResource* cachedResource) { if (!m_requestIdToResourceDataMap.contains(requestId)) return; ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId); resourceData->setCachedResource(cachedResource); }
void NetworkResourcesData::addResourceSharedBuffer(const String& requestId, RefPtr<SharedBuffer>&& buffer, const String& textEncodingName) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; resourceData->setBuffer(WTFMove(buffer)); resourceData->setTextEncodingName(textEncodingName); }
void MessageTable::ReadRC(RCFile &rcFile) { resInfo.SetFlags(resInfo.GetFlags() | ResourceInfo::Pure); resInfo.ReadRC(rcFile, false); ResourceData *rd = new ResourceData; rd->ReadRC(rcFile); data = rd; rcFile.NeedEol(); }
Variant::Variant(const Resource& v) { m_type = KindOfResource; ResourceData* o = v.get(); if (o) { m_data.pres = o; o->incRefCount(); } else { m_type = KindOfNull; } }
XHRReplayData* NetworkResourcesData::xhrReplayData(const String& requestId) { if (m_reusedXHRReplayDataRequestIds.contains(requestId)) return xhrReplayData(m_reusedXHRReplayDataRequestIds.get(requestId)); ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return nullptr; return resourceData->xhrReplayData(); }
void NetworkResourcesData::responseReceived(const String& requestId, const String& frameId, const ResourceResponse& response) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; resourceData->setFrameId(frameId); resourceData->setUrl(response.url()); resourceData->setDecoder(createOtherResourceTextDecoder(response.mimeType(), response.textEncodingName())); resourceData->setHTTPStatusCode(response.httpStatusCode()); }
void NetworkResourcesData::ensureNoDataForRequestId(const String& requestId) { ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId); if (resourceData) { if (resourceData->hasContent() || resourceData->hasData()) m_contentSize -= resourceData->purgeContent(); delete resourceData; m_requestIdToResourceDataMap.remove(requestId); } }
void NetworkResourcesData::ensureNoDataForRequestId(const String& requestId) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; if (resourceData->hasContent() || resourceData->hasData()) m_contentSize -= resourceData->evictContent(); delete resourceData; m_requestIdToResourceDataMap.remove(requestId); }
void NetworkResourcesData::reuseXHRReplayData(const String& requestId, const String& reusedRequestId) { ResourceData* reusedResourceData = resourceDataForRequestId(reusedRequestId); ResourceData* resourceData = resourceDataForRequestId(requestId); if (!reusedResourceData || !resourceData) { m_reusedXHRReplayDataRequestIds.set(requestId, reusedRequestId); return; } resourceData->setXHRReplayData(reusedResourceData->xhrReplayData()); }
int main(void) { char logFileName[300] = "/home/danconde/coleta/europa.log"; ResourceData parameters(0.5f, 100000); bool answer; DataCollector *dtCollector = new DataCollector(logFileName); unsigned int i, count; UsageData *testUsageData; setValidResourceDataThreshold(0.9f); setPredictionHours(6); cout << "timestamp\tp_cpu\tp_mem\tanswer\tpcs\tvcs\tcoff" << endl; // pcs = predicted cpu satisfability // vcs = verified cpu satisfability UsagePredictor *up = new UsagePredictor(new KMeansClusteringAlgorithm(), dtCollector); vector<UsageData*> *usageDatas = dtCollector->getUnclassifiedData(); for (unsigned int k = 0; k < usageDatas->size(); k += 3) { testUsageData = usageDatas->at(k); if (testUsageData->isValid()) { for (unsigned int j = 6; j < 18; j++) { Timestamp timestamp = Timestamp(testUsageData->getDate().beginningOfSameDay().getRawTime() + j*3600); answer = up->canRunGridApplication(timestamp, parameters, testUsageData); cout << timestamp.formattedPrint() << "\t" << parameters << "\t" << answer << "\t"; vector<double> prediction = up->getPrediction(timestamp, CPU_USAGE, getPredictionHours(), testUsageData); count = 0; for (i = 0; i < prediction.size(); i++) if (prediction[i] + parameters.getCpuUsage() <= 1.0f) count++; cout << (static_cast<double>(count) / prediction.size()) * 100 << "%\t"; count = 0; for (i = 0; i < prediction.size(); i++) { ResourceData rd = testUsageData->getData()[(timestamp.getSecondInDay()/COLLECT_INTERVAL) + SAMPLES_PER_DAY + i]; if (rd.isValid() && (rd.getCpuUsage() + parameters.getCpuUsage() <= 1.0f)) count++; } cout << (static_cast<double>(count) / prediction.size()) * 100 << "%\t"; cout << testUsageData->resourceAverage(CPU_USAGE, timestamp.getSecondInDay()/COLLECT_INTERVAL, timestamp.getSecondInDay()/COLLECT_INTERVAL + SAMPLES_PER_DAY) << endl; } } } /* informar qual cluster foi encontrado */ /* comparar resultado da predicao com o realizado */ /* pegar o resultado do getPrediction e ver a porcentagem de elementos do vetor de previsao condisseram com o realizado */ return 0; }
void NetworkResourcesData::maybeDecodeDataToContent(const String& requestId) { ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId); if (!resourceData) return; if (!resourceData->hasData()) return; m_contentSize += resourceData->decodeDataToContent(); int dataLength = 2 * resourceData->content().length(); if (dataLength > m_maximumSingleResourceContentSize) m_contentSize -= resourceData->purgeContent(); }
Resource ResourceTracker::RegisterResource(const std::string& name, void* resourceData) { ResourceData* data = new ResourceData(resourceData, this, name); m_resourceMap[name] = data; // Remove the reference from our pointer data->RemoveReference(); return Resource(data); }
void NetworkResourcesData::maybeDecodeDataToContent(const String& requestId) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; if (!resourceData->hasData()) return; m_contentSize += resourceData->decodeDataToContent(); size_t dataLength = contentSizeInBytes(resourceData->content()); if (dataLength > m_maximumSingleResourceContentSize) m_contentSize -= resourceData->evictContent(); }
bool NetworkResourcesData::ensureFreeSpace(size_t size) { if (size > m_maximumResourcesContentSize) return false; while (size > m_maximumResourcesContentSize - m_contentSize) { String requestId = m_requestIdsDeque.takeFirst(); ResourceData* resourceData = resourceDataForRequestId(requestId); if (resourceData) m_contentSize -= resourceData->evictContent(); } return true; }
Vector<String> NetworkResourcesData::removeCachedResource(CachedResource* cachedResource) { Vector<String> result; for (auto& entry : m_requestIdToResourceDataMap) { ResourceData* resourceData = entry.value; if (resourceData->cachedResource() == cachedResource) { resourceData->setCachedResource(nullptr); result.append(entry.key); } } return result; }
Vector<String> NetworkResourcesData::removeResource(Resource* cachedResource) { Vector<String> result; for (auto& request : m_requestIdToResourceDataMap) { ResourceData* resourceData = request.value; if (resourceData->cachedResource() == cachedResource) { resourceData->setResource(0); result.append(request.key); } } return result; }
bool NetworkResourcesData::ensureFreeSpace(int size) { if (size > m_maximumResourcesContentSize) return false; while (size > m_maximumResourcesContentSize - m_contentSize) { String requestId = m_requestIdsDeque.takeFirst(); ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId); if (resourceData) m_contentSize -= resourceData->purgeContent(); } return true; }
void ResView::AddResource(const entry_ref &ref) { BFile file(&ref, B_READ_ONLY); if (file.InitCheck() != B_OK) return; BString mime; file.ReadAttrString("BEOS:TYPE", &mime); if (mime == "application/x-be-resource") { BMessage msg(B_REFS_RECEIVED); msg.AddRef("refs", &ref); be_app->PostMessage(&msg); return; } type_code fileType = 0; BTranslatorRoster *roster = BTranslatorRoster::Default(); translator_info info; if (roster->Identify(&file, NULL, &info, 0, mime.String()) == B_OK) fileType = info.type; else fileType = B_RAW_TYPE; int32 lastID = -1; for (int32 i = 0; i < fDataList.CountItems(); i++) { ResourceData *resData = (ResourceData*)fDataList.ItemAt(i); if (resData->GetType() == fileType && resData->GetID() > lastID) lastID = resData->GetID(); } off_t fileSize; file.GetSize(&fileSize); if (fileSize < 1) return; char *fileData = (char *)malloc(fileSize); file.Read(fileData, fileSize); ResourceData *resData = new ResourceData(fileType, lastID + 1, ref.name, fileData, fileSize); fDataList.AddItem(resData); ResDataRow *row = new ResDataRow(resData); fListView->AddRow(row); SetSaveStatus(FILE_DIRTY); }
void NetworkResourcesData::setXHRReplayData(const String& requestId, XHRReplayData* xhrReplayData) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) { Vector<String> result; for (auto& request : m_reusedXHRReplayDataRequestIds) { if (request.value == requestId) setXHRReplayData(request.key, xhrReplayData); } return; } resourceData->setXHRReplayData(xhrReplayData); }
void NetworkResourcesData::responseReceived(const String& requestId, const String& frameId, const ResourceResponse& response) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) return; resourceData->setFrameId(frameId); resourceData->setUrl(response.url()); resourceData->setMimeType(response.mimeType()); resourceData->setTextEncodingName(response.textEncodingName()); resourceData->setDecoder(InspectorPageAgent::createResourceTextDecoder(response.mimeType(), response.textEncodingName())); resourceData->setHTTPStatusCode(response.httpStatusCode()); String filePath = response.downloadedFilePath(); if (!filePath.isEmpty()) { OwnPtr<BlobData> blobData = BlobData::create(); blobData->appendFile(filePath); AtomicString mimeType; if (response.isHTTP()) mimeType = extractMIMETypeFromMediaType(response.httpHeaderField("Content-Type")); if (mimeType.isEmpty()) mimeType = response.mimeType(); if (mimeType.isEmpty()) mimeType = AtomicString("text/plain", AtomicString::ConstructFromLiteral); blobData->setContentType(mimeType); resourceData->setDownloadedFileBlob(BlobDataHandle::create(blobData.release(), -1)); } }
Vector<String> NetworkResourcesData::removeCachedResource(CachedResource* cachedResource) { Vector<String> result; ResourceDataMap::iterator it; ResourceDataMap::iterator end = m_requestIdToResourceDataMap.end(); for (it = m_requestIdToResourceDataMap.begin(); it != end; ++it) { ResourceData* resourceData = it->value; if (resourceData->cachedResource() == cachedResource) { resourceData->setCachedResource(nullptr); result.append(it->key); } } return result; }
void NetworkResourcesData::setXHRReplayData(const String& requestId, XHRReplayData* xhrReplayData) { ResourceData* resourceData = resourceDataForRequestId(requestId); if (!resourceData) { Vector<String> result; ReusedRequestIds::iterator it; ReusedRequestIds::iterator end = m_reusedXHRReplayDataRequestIds.end(); for (it = m_reusedXHRReplayDataRequestIds.begin(); it != end; ++it) { if (it->value == requestId) setXHRReplayData(it->key, xhrReplayData); } return; } resourceData->setXHRReplayData(xhrReplayData); }
void NetworkResourcesData::clear(const String& preservedLoaderId) { m_requestIdsDeque.clear(); m_contentSize = 0; ResourceDataMap preservedMap; for (auto& entry : m_requestIdToResourceDataMap) { ResourceData* resourceData = entry.value; ASSERT(resourceData); if (!preservedLoaderId.isNull() && resourceData->loaderId() == preservedLoaderId) preservedMap.set(entry.key, entry.value); else delete resourceData; } m_requestIdToResourceDataMap.swap(preservedMap); }
void NetworkResourcesData::clear(const String& preservedLoaderId) { m_requestIdsDeque.clear(); m_contentSize = 0; ResourceDataMap preservedMap; ResourceDataMap::iterator it; ResourceDataMap::iterator end = m_requestIdToResourceDataMap.end(); for (it = m_requestIdToResourceDataMap.begin(); it != end; ++it) { ResourceData* resourceData = it->second; if (!preservedLoaderId.isNull() && resourceData->loaderId() == preservedLoaderId) preservedMap.set(it->first, it->second); else delete resourceData; } m_requestIdToResourceDataMap.swap(preservedMap); }
int ActivityGenerator::reportEvent(const Resource* resource, event_ptr_t& event) { if (event->timestamp == 0) { fprintf(stderr, "WARNING: Activity report requires input log to have timestamps. Aborting activity report generation.\n"); return ABORT; } timestamp_t old_slice_timestamp = activity_step; reportEventInContext(resource, &context_all, event); // update the statistics if the activity step has been changed if (old_slice_timestamp != activity_step) { ResourceData* rd = resources.getData(resource); Stats* stats = &rd->stats; stats->update(rd->getData(&context_all), activity_step); old_slice_timestamp = activity_step; } return OK; }
void Font::ReadRC(RCFile &rcFile) { resInfo.SetFlags(resInfo.GetFlags() | ResourceInfo::Pure); resInfo.ReadRC(rcFile, false); ResourceData *rd = new ResourceData; rd->ReadRC(rcFile); rcFile.NeedEol(); int n = rd->GetWord(); int s = rd->GetWord(); // check version and size /* if *n != 0x200 && n != 0x300 || s != rd->GetLen() || s < 0x180) { delete rd; throw new std::runtime_error("Invalid font file"); } */ data = rd; }