Skip to content

Commit

Permalink
Added processed tasks to status
Browse files Browse the repository at this point in the history
  • Loading branch information
andresriancho committed Jun 30, 2018
1 parent 01990a7 commit 22a1ae0
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 10 deletions.
40 changes: 31 additions & 9 deletions w3af/core/controllers/core_helpers/status.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,10 +217,18 @@ def get_crawl_output_qsize(self):
dc = self._w3af_core.strategy._discovery_consumer
return None if dc is None else dc._out_queue.qsize()

def get_crawl_processed_tasks(self):
dc = self._w3af_core.strategy._discovery_consumer
return None if dc is None else dc._out_queue.get_processed_tasks()

def get_crawl_worker_pool_queue_size(self):
dc = self._w3af_core.strategy._discovery_consumer
return None if dc is None else dc._threadpool._inqueue.qsize()

def get_grep_processed_tasks(self):
dc = self._w3af_core.strategy._grep_consumer
return None if dc is None else dc.in_queue.get_processed_tasks()

def get_grep_qsize(self):
dc = self._w3af_core.strategy._grep_consumer
return None if dc is None else dc.in_queue.qsize()
Expand Down Expand Up @@ -264,6 +272,10 @@ def get_audit_qsize(self):
ac = self._w3af_core.strategy._audit_consumer
return None if ac is None else ac.in_queue.qsize()

def get_audit_processed_tasks(self):
ac = self._w3af_core.strategy._audit_consumer
return None if ac is None else ac.in_queue.get_processed_tasks()

def get_audit_worker_pool_queue_size(self):
ac = self._w3af_core.strategy._audit_consumer
return None if ac is None else ac._threadpool._inqueue.qsize()
Expand Down Expand Up @@ -391,17 +403,27 @@ def serialize_fuzzable_request(fuzzable_request):

'queues':
{'crawl':
{'input_speed': self.get_crawl_input_speed(),
'output_speed': self.get_crawl_output_speed(),
'length': self.get_crawl_qsize()},
{
'input_speed': self.get_crawl_input_speed(),
'output_speed': self.get_crawl_output_speed(),
'length': self.get_crawl_qsize(),
'processed_tasks': self.get_crawl_processed_tasks(),
},
'audit':
{'input_speed': self.get_audit_input_speed(),
'output_speed': self.get_audit_output_speed(),
'length': self.get_audit_qsize()},
{
'input_speed': self.get_audit_input_speed(),
'output_speed': self.get_audit_output_speed(),
'length': self.get_audit_qsize(),
'processed_tasks': self.get_audit_processed_tasks(),
},
'grep':
{'input_speed': self.get_grep_input_speed(),
'output_speed': self.get_grep_output_speed(),
'length': self.get_grep_qsize()}},
{
'input_speed': self.get_grep_input_speed(),
'output_speed': self.get_grep_output_speed(),
'length': self.get_grep_qsize(),
'processed_tasks': self.get_grep_processed_tasks(),
}
},

'eta':
{'crawl': self.get_crawl_eta(),
Expand Down
5 changes: 5 additions & 0 deletions w3af/core/data/misc/cached_queue.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ class CachedQueue(Queue.Queue, QueueSpeedMeasurement):
def __init__(self, maxsize=0, name='Unknown'):
self.name = name
self.max_in_memory = maxsize
self.processed_tasks = 0

QueueSpeedMeasurement.__init__(self)

Expand All @@ -70,6 +71,9 @@ def __init__(self, maxsize=0, name='Unknown'):
def get_name(self):
return self.name

def get_processed_tasks(self):
return self.processed_tasks

def next_item_saved_to_memory(self):
return len(self.memory) < self.max_in_memory

Expand Down Expand Up @@ -148,4 +152,5 @@ def _get(self):

self._item_left_queue()
self.get_pointer += 1
self.processed_tasks += 1
return item
5 changes: 4 additions & 1 deletion w3af/plugins/output/xml_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class xml_file(OutputPlugin):
:author: Andres Riancho (andres.riancho@gmail.com)
"""

XML_OUTPUT_VERSION = '2.3'
XML_OUTPUT_VERSION = '2.4'

def __init__(self):
OutputPlugin.__init__(self)
Expand Down Expand Up @@ -662,12 +662,15 @@ def to_string(self):
context.crawl_input_speed = self._status['queues']['crawl']['input_speed']
context.crawl_output_speed = self._status['queues']['crawl']['output_speed']
context.crawl_queue_length = self._status['queues']['crawl']['length']
context.crawl_queue_processed_tasks = self._status['queues']['crawl']['processed_tasks']
context.audit_input_speed = self._status['queues']['audit']['input_speed']
context.audit_output_speed = self._status['queues']['audit']['output_speed']
context.audit_queue_length = self._status['queues']['audit']['length']
context.audit_queue_processed_tasks = self._status['queues']['audit']['processed_tasks']
context.grep_input_speed = self._status['queues']['grep']['input_speed']
context.grep_output_speed = self._status['queues']['grep']['output_speed']
context.grep_queue_length = self._status['queues']['grep']['length']
context.grep_queue_processed_tasks = self._status['queues']['grep']['processed_tasks']
context.crawl_eta = self._status['eta']['crawl']
context.audit_eta = self._status['eta']['audit']
context.grep_eta = self._status['eta']['grep']
Expand Down
3 changes: 3 additions & 0 deletions w3af/plugins/output/xml_file/report.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@
<xs:element type="xs:string" name="input-speed"/>
<xs:element type="xs:string" name="output-speed"/>
<xs:element type="xs:string" name="length"/>
<xs:element type="xs:string" name="processed-tasks"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Expand All @@ -161,6 +162,7 @@
<xs:element type="xs:string" name="input-speed"/>
<xs:element type="xs:string" name="output-speed"/>
<xs:element type="xs:string" name="length"/>
<xs:element type="xs:string" name="processed-tasks"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Expand All @@ -170,6 +172,7 @@
<xs:element type="xs:string" name="input-speed"/>
<xs:element type="xs:string" name="output-speed"/>
<xs:element type="xs:string" name="length"/>
<xs:element type="xs:string" name="processed-tasks"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Expand Down
3 changes: 3 additions & 0 deletions w3af/plugins/output/xml_file/scan_status.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,21 @@
<input-speed>{{ crawl_input_speed | escape_text }}</input-speed>
<output-speed>{{ crawl_output_speed | escape_text }}</output-speed>
<length>{{ crawl_queue_length | escape_text }}</length>
<processed-tasks>{{ crawl_queue_processed_tasks | escape_text }}</processed-tasks>
</crawl>

<audit>
<input-speed>{{ audit_input_speed | escape_text }}</input-speed>
<output-speed>{{ audit_output_speed | escape_text }}</output-speed>
<length>{{ audit_queue_length | escape_text }}</length>
<processed-tasks>{{ audit_queue_processed_tasks | escape_text }}</processed-tasks>
</audit>

<grep>
<input-speed>{{ grep_input_speed | escape_text }}</input-speed>
<output-speed>{{ grep_output_speed | escape_text }}</output-speed>
<length>{{ grep_queue_length | escape_text }}</length>
<processed-tasks>{{ grep_queue_processed_tasks | escape_text }}</processed-tasks>
</grep>
</queues>

Expand Down

0 comments on commit 22a1ae0

Please sign in to comment.