Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - shm267

Pages: [1]
1
Ok, we have discovered what appears to be two related issues. 

1.  "max_bytes_agent" parameter is supposed to, while in database access mode, control the where clause for the time window to retrieve queue_log records from.  It does do that.  However, additionally, the temp file that is generated off this query (that is then java class filtered for agent portal display) is also byte restricted by the same parameter.  This is a problem since in order to process enough temp result file (in our case) you need to increase the parameter up to ~2,000,000. (2MB of temp file parsed).  However, this then also affects the database retreival in giving 23 days worth of activity even if you just are processing the first 2MB worth.  To fix this, the DB retreival window (in seconds) should be a separate parameter from the temporary results file parsing (in bytes).

2.  The database retreival query is not optimal.  It spools all records including ACD RINGNOANSWER rows, of which we have a large amount of, and are not revelant to this query.  Currently, we have had to modify the qloader to post RINGNOANSWER rows to another partition just so that we get something byte short enough to process (for problem #1 above).   Even if #1 above is fixed, the query time, java class temp file filtering is a tiny fraction of processing by making this query specific to the login.

Fix number #1 above would allows us to process 1 day (instead of 23 days) worth of records to assertain statuses and calls for the portal.  Fix #2 above allows the portal to process a few K worth of agent specific records instead of many many MB of records for a whole day of non-relevant records (once we cut the ACD record back to the proper partition).  In effect, if #1 is fixed and the parameters separated, without #2, we would need to put the DB windowing to 86400 secs (1 day) and the byte filtering to ~50MB :( once we cut the RINGNOANSWER back.

Thanks for your help!

2
We are having this issue too.

Some background, we have two asterisk boxes running TrixBox, both have qloaderd running and pushing the queuelog data to a third queuemetrics box. This appears to be working fine but there is a lot of data being pushed into the database. We have about ~20 queues with an average of 30 agents statically defined in each queue. We are also running Trixbox/Asterisk in device/user mode to allow our agents to move about between cisco phones. Right now they are using *11 and * 12 to login and logout, but we are moving toward using agent login in addition to allow agents to register their extension with *11, get DID and extension calls, without actually being in the queues. Then they can dial extension 299 to login/logout of the queues as an actual asterisk agent.

Right now we have the variable realtime.max_bytes_agent=30000. This seems to keep the calls on the agent GUI for about 30 seconds, then it disappears. Also the agent status goes to unknown.

After looking at the query behind the agent GUI, we are not sure if we may have asterisk configured in the most optimal way for queuemetrics. My major concern is the number of RINGNOANSWER rows in the database. Currently there are around 8.7 million rows in the queue_log table, of those, 8.5 are RINGNOANSWER records.

Right now, the GUI executed the following query based on the configuration above:

SELECT time_id , call_id , queue , agent , verb , data1 , data2 , data3 , data4
FROM queue_log  WHERE  partition ='P002' AND ( time_id >= ( UNIX_TIMESTAMP() - 30000)
AND time_id <=  UNIX_TIMESTAMP() ) ORDER BY time_id ASC , unique_row_count ASC

From our database, this returns around 155,300 rows (WOW).

**With a simple change to the query, the count can be reduced to 20 rows. (and agent like 'Agent/70017')

SELECT time_id , call_id , queue , agent , verb , data1 , data2 , data3 , data4
FROM queue_log  WHERE  partition ='P002' AND ( time_id >= ( UNIX_TIMESTAMP() - 30000)
AND time_id <=  UNIX_TIMESTAMP() ) and agent like 'Agent/70017' ORDER BY time_id ASC , unique_row_count ASC

3
QueueMetrics installation / Re: Installing on TrixBox 2.6.x
« on: July 31, 2008, 03:48:06 »
You guys may want to update your guide on page 6 and change the test line from

asterisk -rx "core show agents"

to

asterisk -rx "agent show"

Pages: [1]