Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions src/freenet/clients/http/StatisticsToadlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -544,17 +544,11 @@ private void drawLoadBalancingBox(HTMLNode loadStatsInfobox, boolean realTime) {
loadStatsInfobox.addChild("div", "class", "infobox-header", "Load limiting "+(realTime ? "RealTime" : "Bulk"));
HTMLNode loadStatsContent = loadStatsInfobox.addChild("div", "class", "infobox-content");
RequestStarterGroup starters = core.requestStarters;
double window = starters.getWindow(realTime);
double realWindow = starters.getRealWindow(realTime);
HTMLNode loadStatsList = loadStatsContent.addChild("ul");
loadStatsList.addChild("li", l10n("globalWindow")+": "+window);
loadStatsList.addChild("li", l10n("realGlobalWindow")+": "+realWindow);
loadStatsList.addChild("li", starters.statsPageLine(false, false, realTime));
loadStatsList.addChild("li", starters.statsPageLine(true, false, realTime));
loadStatsList.addChild("li", starters.statsPageLine(false, true, realTime));
loadStatsList.addChild("li", starters.statsPageLine(true, true, realTime));
loadStatsList.addChild("li", starters.diagnosticThrottlesLine(false));
loadStatsList.addChild("li", starters.diagnosticThrottlesLine(true));
}

private void drawNewLoadManagementBox(HTMLNode infobox) {
Expand Down
1 change: 0 additions & 1 deletion src/freenet/l10n/freenet.l10n.de.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1820,7 +1820,6 @@ StatisticsToadlet.distanceStats=Entfernungsstatistiken
StatisticsToadlet.falsePos=Falsch positive
StatisticsToadlet.fullTitle=Statistiken
StatisticsToadlet.getLogs=Letzte Log-Datei des Knotens abrufen
StatisticsToadlet.globalWindow=Globales Fenster
StatisticsToadlet.inputRate=Eingehend: ${rate}/sec (von ${max}/sec)
StatisticsToadlet.jobType=Job Typ
StatisticsToadlet.jvmInfoTitle=Java-Info
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.en.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2038,7 +2038,6 @@ StatisticsToadlet.foafBytes=FOAF related: ${total}
StatisticsToadlet.fullTitle=Statistics
StatisticsToadlet.furthestSuccess=Furthest Success
StatisticsToadlet.getLogs=Get latest node's logfile
StatisticsToadlet.globalWindow=Global window
StatisticsToadlet.inputRate=Input Rate: ${rate}/s (of ${max}/s)
StatisticsToadlet.insertOutput=Insert output (excluding payload): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.jobType=Job Type
Expand Down Expand Up @@ -2070,7 +2069,6 @@ StatisticsToadlet.priority=Priority
StatisticsToadlet.PUB_KEY=Pubkey
StatisticsToadlet.queuedCount=Queued Count
StatisticsToadlet.readRequests=Read-Requests
StatisticsToadlet.realGlobalWindow=Real global window
StatisticsToadlet.requestOutput=Request output (excluding payload): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.resendBytes=Resent bytes: ${total} (${percent}%)
StatisticsToadlet.routingBackoffReason=Routing Backoff Reason
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.es.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1896,7 +1896,6 @@ StatisticsToadlet.foafBytes=De amigo de un amigo (FOAF): ${total}
StatisticsToadlet.fullTitle=Estadísticas
StatisticsToadlet.furthestSuccess=Éxito más lejano
StatisticsToadlet.getLogs=Ver último fichero de registro (log)
StatisticsToadlet.globalWindow=Ventana global
StatisticsToadlet.inputRate=Tasa de entrada: ${rate}/s (de ${max}/s)
StatisticsToadlet.insertOutput=Salida de inserciones (excluyendo carga útil): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.jobType=Tipo de trabajo
Expand Down Expand Up @@ -1928,7 +1927,6 @@ StatisticsToadlet.priority=Prioridad
StatisticsToadlet.PUB_KEY=Clave pública
StatisticsToadlet.queuedCount=En cola
StatisticsToadlet.readRequests=Peticiones de lectura
StatisticsToadlet.realGlobalWindow=Ventana global real
StatisticsToadlet.requestOutput=Salida de peticiones (excluyendo carga útil): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.resendBytes=Bytes reenviados: ${total} (${percent}%)
StatisticsToadlet.routingBackoffReason=Motivo de desasistencia de enrutamiento
Expand Down
1 change: 0 additions & 1 deletion src/freenet/l10n/freenet.l10n.fa.properties
Original file line number Diff line number Diff line change
Expand Up @@ -803,7 +803,6 @@ StatisticsToadlet.clientRequesters.priorityClass=کلاس اولویت
StatisticsToadlet.clientRequesters.uri=آدرس اینترنتی
StatisticsToadlet.datasize=اندازه داده
StatisticsToadlet.fullTitle=آمار
StatisticsToadlet.globalWindow=پنجره سراسری
StatisticsToadlet.jvmInfoTitle=نوع جاوا
StatisticsToadlet.keys=کلید ها
StatisticsToadlet.maxTotalPeers=همتایان بیشینه
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.fr.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1896,7 +1896,6 @@ StatisticsToadlet.foafBytes=Connexe aux amis d’un ami : ${total}
StatisticsToadlet.fullTitle=Statistiques
StatisticsToadlet.furthestSuccess=Succès le plus éloigné
StatisticsToadlet.getLogs=Obtenir le dernier journal du nœud
StatisticsToadlet.globalWindow=Fenêtre globale
StatisticsToadlet.inputRate=Taux d’entrée : ${rate}/s (sur ${max}/s)
StatisticsToadlet.insertOutput=Sortie d’insertion (excluant la charge utile) : CHK ${chk} SSK ${ssk}.
StatisticsToadlet.jobType=Type de travail
Expand Down Expand Up @@ -1928,7 +1927,6 @@ StatisticsToadlet.priority=Priorité
StatisticsToadlet.PUB_KEY=Clé publique
StatisticsToadlet.queuedCount=Compteur de la file d’attente
StatisticsToadlet.readRequests=Requêtes de lecture
StatisticsToadlet.realGlobalWindow=Fenêtre globale réelle
StatisticsToadlet.requestOutput=Sortie des requêtes (excluant la charge utile) : CHK ${chk} SSK ${ssk}.
StatisticsToadlet.resendBytes=Octets renvoyés : ${total} (${percent} %)
StatisticsToadlet.routingBackoffReason=Raison de la temporisation (backoff) du routage
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.it.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1741,7 +1741,6 @@ StatisticsToadlet.falsePos=Falsi positivi
StatisticsToadlet.fullTitle=Statistiche
StatisticsToadlet.furthestSuccess=Successo più lontano
StatisticsToadlet.getLogs=Prendi l'ultimo file di registro del nodo
StatisticsToadlet.globalWindow=Finestra globale
StatisticsToadlet.inputRate=Tasso di input: ${rate}/s (di ${max}/s)
StatisticsToadlet.insertOutput=Output degli inserimenti (escludendo il carico utile): CHK ${chk} SSK ${ssk}
StatisticsToadlet.jobType=Tipo di lavoro
Expand Down Expand Up @@ -1770,7 +1769,6 @@ StatisticsToadlet.priority=Priorità
StatisticsToadlet.PUB_KEY=Pubkey (chiave pubblica)
StatisticsToadlet.queuedCount=Conteggio accodato
StatisticsToadlet.readRequests=Richieste di lettura
StatisticsToadlet.realGlobalWindow=Finestra reale globale
StatisticsToadlet.requestOutput=Output delle richieste (carico utile escluso): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.resendBytes=Bytes rispediti: ${total} (${percent}%)
StatisticsToadlet.routingBackoffReason=Motivo del recesso dell'instradamento
Expand Down
1 change: 0 additions & 1 deletion src/freenet/l10n/freenet.l10n.ja.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1199,7 +1199,6 @@ StatisticsToadlet.foafBytes=友達の友達関係: ${total}
StatisticsToadlet.fullTitle=統計
StatisticsToadlet.furthestSuccess=もっとも遠い成功
StatisticsToadlet.getLogs=ノードの最新のログファイルを入手
StatisticsToadlet.globalWindow=グローバルウィンドウ
StatisticsToadlet.inputRate=入力レート: ${rate}/s (of ${max}/s)
StatisticsToadlet.insertOutput=インサート出力 (ペイロードを含まず): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.jobType=ジョブタイプ
Expand Down
1 change: 0 additions & 1 deletion src/freenet/l10n/freenet.l10n.nb-no.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1465,7 +1465,6 @@ StatisticsToadlet.datastore=Datalager
StatisticsToadlet.databaseJobsByPriority=Database-jobber
StatisticsToadlet.distanceStats=Distansestatistikk
StatisticsToadlet.fullTitle=Statistikk
StatisticsToadlet.globalWindow=Hovedvindu
StatisticsToadlet.jobType=Jobb-type
StatisticsToadlet.jvmInfoTitle=JVM-info
StatisticsToadlet.jvmName=Java VM-navn: ${name}
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.nl.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1838,7 +1838,6 @@ StatisticsToadlet.foafBytes=FOAF gerelateerd: ${total}
StatisticsToadlet.fullTitle=Statistieken
StatisticsToadlet.furthestSuccess=Verste succes
StatisticsToadlet.getLogs=Haal het meest recente logbestand op
StatisticsToadlet.globalWindow=Globale venster
StatisticsToadlet.inputRate=Huidig inkomend verbruik: ${rate}/s (max ${max}/s)
StatisticsToadlet.insertOutput=Uitgaand invoegingenverkeer (exclusief payload): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.jobType=Taak type
Expand Down Expand Up @@ -1868,7 +1867,6 @@ StatisticsToadlet.peerStatsTitle=Peer-statistieken
StatisticsToadlet.priority=Prioriteit
StatisticsToadlet.queuedCount=Aantal queued
StatisticsToadlet.readRequests=Leesverzoeken
StatisticsToadlet.realGlobalWindow=Ware globale venster
StatisticsToadlet.requestOutput=Uitgaande verzoeken (exclusief payload): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.resendBytes=Opnieuw verstuurde bytes: ${total}
StatisticsToadlet.routingBackoffReason=Routering terugtreedreden
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.pt-br.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1739,7 +1739,6 @@ StatisticsToadlet.foafBytes=Relacionado a amigos de amigos: ${total}
StatisticsToadlet.fullTitle=Estatísticas
StatisticsToadlet.furthestSuccess=Sucesso mais distante
StatisticsToadlet.getLogs=Obter o último arquivo de registros do nó
StatisticsToadlet.globalWindow=Janela global
StatisticsToadlet.inputRate=Taxa de entrada: ${rate}/s (de ${max}/s)
StatisticsToadlet.jobType=Tipo de tarefa
StatisticsToadlet.jvmInfoTitle=Informações da Máquina Virtual Java
Expand All @@ -1765,7 +1764,6 @@ StatisticsToadlet.peerStatsTitle=Estatísticas de nós
StatisticsToadlet.priority=Prioridade
StatisticsToadlet.PUB_KEY=Chavepub
StatisticsToadlet.readRequests=Pedidos de leitura
StatisticsToadlet.realGlobalWindow=Janela global real
StatisticsToadlet.resendBytes=Bytes reenviados: ${total} (${percent}%)
StatisticsToadlet.routingDisabled=Sem tráfego de roteamento (estamos conectados ao nó, mas há recusa, dele ou nossa, em encaminhar tráfego)
StatisticsToadlet.routingDisabledShort=Sem rotear tráfego
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.pt_PT.properties
Original file line number Diff line number Diff line change
Expand Up @@ -663,7 +663,6 @@ StatisticsToadlet.clientRequesters.priorityClass=Classe da Prioridade
StatisticsToadlet.clientRequesters.uri=URL
StatisticsToadlet.datasize=Tamanho dos Dados
StatisticsToadlet.fullTitle=Estatísticas
StatisticsToadlet.globalWindow=Janela global
StatisticsToadlet.jobType=Tipo de Trabalho
StatisticsToadlet.jvmInfoTitle=Informação Java
StatisticsToadlet.keys=Chaves
Expand All @@ -672,7 +671,6 @@ StatisticsToadlet.osName=Nome do SO: ${name}
StatisticsToadlet.osVersion=Versão do SO: ${version}
StatisticsToadlet.priority=Prioridade
StatisticsToadlet.PUB_KEY=Chave pública
StatisticsToadlet.realGlobalWindow=Janela global real
StatisticsToadlet.running=Em execução
StatisticsToadlet.seedTableConnections=Ligado
StatisticsToadlet.seedTableAnnouncements=Anunciado
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.ru.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1764,7 +1764,6 @@ StatisticsToadlet.foafBytes=Обмен FOAF: ${total}
StatisticsToadlet.fullTitle=Статистика
StatisticsToadlet.furthestSuccess=Самое дальнее попадание
StatisticsToadlet.getLogs=Получить последний лог-файл узла
StatisticsToadlet.globalWindow=«Глобальное окно» программы
StatisticsToadlet.inputRate=Скорость загрузки: ${rate}/с (из ${max}/с)
StatisticsToadlet.insertOutput=Исх. трафик выгрузок (только служ. информация): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.jobType=Тип работ
Expand Down Expand Up @@ -1795,7 +1794,6 @@ StatisticsToadlet.peerStatsTitle=Соседние узлы
StatisticsToadlet.priority=Приоритет
StatisticsToadlet.queuedCount=В очереди
StatisticsToadlet.readRequests=Запросы на чтение
StatisticsToadlet.realGlobalWindow=Действительное «глобальное окно» программы
StatisticsToadlet.requestOutput=Исх. трафик ответов (только служ. информация): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.resendBytes=Отправлено повторно: ${total} (${percent}%)
StatisticsToadlet.routingBackoffReason=Причины отказа в перенаправлении
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.zh-cn.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1906,7 +1906,6 @@ StatisticsToadlet.foafBytes=FOAF 相关: ${total}
StatisticsToadlet.fullTitle=统计数据
StatisticsToadlet.furthestSuccess=最远成功距离
StatisticsToadlet.getLogs=获取最近的节点日志
StatisticsToadlet.globalWindow=全局窗口
StatisticsToadlet.inputRate=输入速率: ${rate}/秒 (上限 ${max}/秒)
StatisticsToadlet.insertOutput=插入输出 (排除有效载荷): CHK ${chk} SSK ${ssk}
StatisticsToadlet.jobType=工作类型
Expand Down Expand Up @@ -1938,7 +1937,6 @@ StatisticsToadlet.priority=优先级
StatisticsToadlet.PUB_KEY=公钥
StatisticsToadlet.queuedCount=队列计数
StatisticsToadlet.readRequests=读取请求
StatisticsToadlet.realGlobalWindow=实时全局窗口
StatisticsToadlet.requestOutput=请求输出 (排除有效载荷): CHK ${chk} SSK ${ssk}
StatisticsToadlet.resendBytes=重新发送字节: ${total}
StatisticsToadlet.routingBackoffReason=路由退避原因
Expand Down
2 changes: 0 additions & 2 deletions src/freenet/l10n/freenet.l10n.zh-tw.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1884,7 +1884,6 @@ StatisticsToadlet.foafBytes=FOAF 相關: ${total}
StatisticsToadlet.fullTitle=統計資料
StatisticsToadlet.furthestSuccess=最遠成功距離
StatisticsToadlet.getLogs=下載節點的最新日誌
StatisticsToadlet.globalWindow=全域視窗
StatisticsToadlet.inputRate=輸入速率: 每秒 ${rate} (上限每秒 ${max})
StatisticsToadlet.insertOutput=入鍵輸出(不包含載物): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.jobType=工作類型
Expand Down Expand Up @@ -1916,7 +1915,6 @@ StatisticsToadlet.priority=優先度
StatisticsToadlet.PUB_KEY=公鑰
StatisticsToadlet.queuedCount=佇列計數
StatisticsToadlet.readRequests=讀取請求
StatisticsToadlet.realGlobalWindow=實時全域視窗
StatisticsToadlet.requestOutput=請求輸出(不包含載物): CHK ${chk} SSK ${ssk}.
StatisticsToadlet.resendBytes=重送位元組: ${total}
StatisticsToadlet.routingBackoffReason=路由退避原因
Expand Down
20 changes: 0 additions & 20 deletions src/freenet/node/BaseRequestThrottle.java

This file was deleted.

10 changes: 5 additions & 5 deletions src/freenet/node/NodeClientCore.java
Original file line number Diff line number Diff line change
Expand Up @@ -1217,7 +1217,7 @@ public void onRequestSenderFinished(int status, boolean fromOfferedKey, RequestS
if(!rejectedOverload)
requestStarters.requestCompleted(isSSK, false, key, realTimeFlag);
// Count towards RTT even if got a RejectedOverload - but not if timed out.
requestStarters.getThrottle(isSSK, false, realTimeFlag).successfulCompletion(rtt);
requestStarters.getStats(isSSK, false, realTimeFlag).addRTT(rtt);
if(isSSK) {
node.nodeStats.reportSSKOutcome(rtt, status == RequestSender.SUCCESS, realTimeFlag);
} else {
Expand Down Expand Up @@ -1420,7 +1420,7 @@ ClientCHKBlock realGetCHK(ClientCHK key, boolean localOnly, boolean ignoreStore,
if(!rejectedOverload)
requestStarters.requestCompleted(false, false, key.getNodeKey(true), realTimeFlag);
// Count towards RTT even if got a RejectedOverload - but not if timed out.
requestStarters.getThrottle(false, false, realTimeFlag).successfulCompletion(rtt);
requestStarters.getStats(false, false, realTimeFlag).addRTT(rtt);
node.nodeStats.reportCHKOutcome(rtt, status == RequestSender.SUCCESS, targetLocation, realTimeFlag);
if(status == RequestSender.SUCCESS) {
Logger.minor(this, "Successful CHK fetch took "+rtt);
Expand Down Expand Up @@ -1541,7 +1541,7 @@ ClientSSKBlock realGetSSK(ClientSSK key, boolean localOnly, boolean ignoreStore,
if(!rejectedOverload)
requestStarters.requestCompleted(true, false, key.getNodeKey(true), realTimeFlag);
// Count towards RTT even if got a RejectedOverload - but not if timed out.
requestStarters.getThrottle(true, false, realTimeFlag).successfulCompletion(rtt);
requestStarters.getStats(true, false, realTimeFlag).addRTT(rtt);
node.nodeStats.reportSSKOutcome(rtt, status == RequestSender.SUCCESS, realTimeFlag);
}

Expand Down Expand Up @@ -1666,7 +1666,7 @@ public void realPutCHK(CHKBlock block, boolean canWriteClientCache, boolean fork
long len = endTime - startTime;

// RejectedOverload requests count towards RTT (timed out ones don't).
requestStarters.getThrottle(false, true, realTimeFlag).successfulCompletion(len);
requestStarters.getStats(false, true, realTimeFlag).addRTT(len);
requestStarters.requestCompleted(false, true, block.getKey(), realTimeFlag);
}

Expand Down Expand Up @@ -1785,7 +1785,7 @@ public void realPutSSK(SSKBlock block, boolean canWriteClientCache, boolean fork
long endTime = System.currentTimeMillis();
long rtt = endTime - startTime;
requestStarters.requestCompleted(true, true, block.getKey(), realTimeFlag);
requestStarters.getThrottle(true, true, realTimeFlag).successfulCompletion(rtt);
requestStarters.getStats(true, true, realTimeFlag).addRTT(rtt);
}

int status = is.getStatus();
Expand Down
20 changes: 12 additions & 8 deletions src/freenet/node/RequestStarter.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ public static boolean isValidPriorityClass(int prio) {
return !((prio < MAXIMUM_PRIORITY_CLASS) || (prio > PAUSED_PRIORITY_CLASS));
}

final BaseRequestThrottle throttle;
final RunningAverage averageInputBytesPerRequest;
final RunningAverage averageOutputBytesPerRequest;
RequestScheduler sched;
Expand All @@ -72,12 +71,16 @@ public static boolean isValidPriorityClass(int prio) {
final boolean realTime;

static final int MAX_WAITING_FOR_SLOTS = 50;

public RequestStarter(NodeClientCore node, BaseRequestThrottle throttle, String name,
RunningAverage averageOutputBytesPerRequest, RunningAverage averageInputBytesPerRequest, boolean isInsert, boolean isSSK, boolean realTime) {

/** Throttle speed at which local requests are started */
private final long DELAY_MS_PER_PEER = 5400; // 655 MB/hour if 30 peers

public RequestStarter(NodeClientCore node, String name,
RunningAverage averageOutputBytesPerRequest,
RunningAverage averageInputBytesPerRequest,
boolean isInsert, boolean isSSK, boolean realTime) {
this.core = node;
this.stats = core.nodeStats;
this.throttle = throttle;
this.name = name + (realTime ? " (realtime)" : " (bulk)");
this.averageOutputBytesPerRequest = averageOutputBytesPerRequest;
this.averageInputBytesPerRequest = averageInputBytesPerRequest;
Expand Down Expand Up @@ -127,9 +130,10 @@ void realRun() {
if(logMINOR) Logger.minor(this, "Running "+req+" priority "+req.getPriority());
if(!req.localRequestOnly) {
// Wait
long delay;
delay = throttle.getDelay();
if(logMINOR) Logger.minor(this, "Delay="+delay+" from "+throttle);
long numPeers = core.node.peers.countNonBackedOffPeers(realTime);
if (numPeers < 1) numPeers = 1;
long delay = DELAY_MS_PER_PEER / numPeers;
if(logMINOR) Logger.minor(this, "Delay="+delay);
long sleepUntil = cycleTime + delay;
long now;
do {
Expand Down
Loading