Esempio n. 1
0
void NetworkResourcesData::addCachedResource(const String& requestId, CachedResource* cachedResource)
{
    ResourceData* resourceData = resourceDataForRequestId(requestId);
    if (!resourceData)
        return;
    resourceData->setCachedResource(cachedResource);
}
Esempio n. 2
0
void NetworkResourcesData::setResourceType(const String& requestId, InspectorPageAgent::ResourceType type)
{
    ResourceData* resourceData = resourceDataForRequestId(requestId);
    if (!resourceData)
        return;
    resourceData->setType(type);
}
Esempio n. 3
0
InspectorPageAgent::ResourceType NetworkResourcesData::resourceType(const String& requestId)
{
    ResourceData* resourceData = resourceDataForRequestId(requestId);
    if (!resourceData)
        return InspectorPageAgent::OtherResource;
    return resourceData->type();
}
Esempio n. 4
0
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);
}
Esempio n. 5
0
void NetworkResourcesData::addCachedResource(const String& requestId, CachedResource* cachedResource)
{
    if (!m_requestIdToResourceDataMap.contains(requestId))
        return;
    ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId);

    resourceData->setCachedResource(cachedResource);
}
Esempio n. 6
0
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);
}
Esempio n. 7
0
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();
}
Esempio n. 8
0
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();
}
Esempio n. 10
0
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());
}
Esempio n. 11
0
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);
    }
}
Esempio n. 12
0
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());
}
Esempio n. 14
0
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;
}
Esempio n. 15
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();
}
Esempio n. 16
0
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);
}
Esempio n. 17
0
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();
}
Esempio n. 18
0
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;
}
Esempio n. 19
0
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;
}
Esempio n. 21
0
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;
}
Esempio n. 22
0
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);
}
Esempio n. 27
0
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);
}
Esempio n. 28
0
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);
}
Esempio n. 29
0
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;
}
Esempio n. 30
0
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;
}