Am 11.08.2010 19:49, schrieb Holger Hans Peter Freyther:
In src/bsc_hack.c we are scheduling to sync the "Counters" every 60 seconds
you might want to increase the define as a hacky workaround.
OK now i understand what the aim of the table "Counters" is.
It would be very nice to have a histogram of which functions block, is it
everything, just one query or really the write?
Today I did some time measurements in the db.c (Debug log attached).
I think the problem is that that the insert-query of the counter values
are blocking the program.
Regards
Konrad
** LCR Version 1.7
PBX: Fetching tones 'tones_german'
PBX: Fetching tones 'tones_american'
PBX: Memory used for tones: 5666090 bytes (110 samples)
<0012> db.c:230 db_init: 4 ms
DB: Database initialized.
DB: Database prepared.
ERROR Port 1 already in use by LCR. You can't use a NT port multiple times.
LCR 1.7 started, waiting for calls...
<000d> input/ipaccess.c:632 accept()ed new OML link from 10.1.1.11
<0005> openbsc/src/bsc_init.cbootstrapping OML for BTS 1
<000d> input/ipaccess.c:632 accept()ed new OML link from 10.1.1.10
<0005> openbsc/src/bsc_init.cbootstrapping OML for BTS 0
<000d> input/ipaccess.c:694 accept()ed new RSL link from 10.1.1.11
<0004> openbsc/src/bsc_init.cbootstrapping RSL for BTS/TRX (1/0) on ARFCN 877
using MCC=262 MNC=23 LAC=2323 CID=4712 BSIC=63 TSC=7
<000d> input/ipaccess.c:694 accept()ed new RSL link from 10.1.1.10
<0004> openbsc/src/bsc_init.cbootstrapping RSL for BTS/TRX (0/0) on ARFCN 871
using MCC=262 MNC=23 LAC=2323 CID=4711 BSIC=63 TSC=7
<0012> db.c:870 db_subscriber_alloc_exten: 0 ms
<0012> db.c:740 db_sync_subscriber: 125 ms
<0012> db.c:318 db_create_subscriber: 220 ms
<0012> db.c:1012 db_subscriber_assoc_imei: 252 ms
<0012> db.c:788 db_sync_equipment: 122 ms
<0012> db.c:1296 INSERT INTO Counters: 90 ms
<0012> db.c:1296 INSERT INTO Counters: 134 ms
<0012> db.c:1296 INSERT INTO Counters: 150 ms
<0012> db.c:1296 INSERT INTO Counters: 151 ms
<0012> db.c:1296 INSERT INTO Counters: 133 ms
<0012> db.c:1296 INSERT INTO Counters: 126 ms
<0012> db.c:1296 INSERT INTO Counters: 125 ms
<0012> db.c:1296 INSERT INTO Counters: 125 ms
<0012> db.c:1296 INSERT INTO Counters: 125 ms
<0012> db.c:1296 INSERT INTO Counters: 134 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 133 ms
<0012> db.c:1296 INSERT INTO Counters: 142 ms
<0012> db.c:1296 INSERT INTO Counters: 134 ms
<0012> db.c:1296 INSERT INTO Counters: 109 ms
<0012> db.c:1296 INSERT INTO Counters: 108 ms
<0012> db.c:1296 INSERT INTO Counters: 126 ms
<0012> db.c:1296 INSERT INTO Counters: 116 ms
<0012> db.c:1296 INSERT INTO Counters: 133 ms
<0012> db.c:1296 INSERT INTO Counters: 143 ms
<0012> db.c:1296 INSERT INTO Counters: 116 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 133 ms
<0012> db.c:1296 INSERT INTO Counters: 126 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 108 ms
<0012> db.c:1296 INSERT INTO Counters: 134 ms
<0012> db.c:1296 INSERT INTO Counters: 133 ms
<0012> db.c:1296 INSERT INTO Counters: 134 ms
ERROR (in main() line 460) LCR was stalling 3.36 seconds
<0011> handover_logic.c:163 unable to find HO record
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0012> db.c:375 get_equipment_by_subscr: 1 ms
<0012> db.c:694 db_get_subscriber: 2 ms
<0012> db.c:788 db_sync_equipment: 82 ms
<0012> db.c:1012 db_subscriber_assoc_imei: 240 ms
<0012> db.c:788 db_sync_equipment: 88 ms
<0012> db.c:740 db_sync_subscriber: 88 ms
<0012> db.c:740 db_sync_subscriber: 91 ms
<0011> handover_logic.c:163 unable to find HO record
<0004> abis_rsl.c:942 (bts=0,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=0,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> openbsc/src/bsc_api.c:Got data in non active state. discarding.
<0004> abis_rsl.c:942 (bts=0,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0012> db.c:375 get_equipment_by_subscr: 1 ms
<0012> db.c:694 db_get_subscriber: 3 ms
<0012> db.c:1012 db_subscriber_assoc_imei: 255 ms
<0012> db.c:788 db_sync_equipment: 150 ms
<0012> db.c:740 db_sync_subscriber: 142 ms
<0012> db.c:740 db_sync_subscriber: 116 ms
<0011> handover_logic.c:163 unable to find HO record
<0004> abis_rsl.c:942 (bts=0,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=0,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0004> openbsc/src/bsc_api.c:Got data in non active state. discarding.
<0004> abis_rsl.c:942 (bts=0,trx=0,ts=0,ss=0): MEAS RES for inactive channel
<0012> db.c:375 get_equipment_by_subscr: 1 ms
<0012> db.c:694 db_get_subscriber: 2 ms
<0012> db.c:788 db_sync_equipment: 106 ms
<0012> db.c:788 db_sync_equipment: 108 ms
<0012> db.c:375 get_equipment_by_subscr: 1 ms
<0012> db.c:694 db_get_subscriber: 3 ms
<000c> rtp_proxy.c:251 Correcting frame difference of -596 frames
<0012> db.c:788 db_sync_equipment: 105 ms
<0012> db.c:788 db_sync_equipment: 117 ms
<000c> rtp_proxy.c:251 Correcting frame difference of 11 frames
<000c> rtp_proxy.c:251 Correcting frame difference of 13 frames
<000c> rtp_proxy.c:251 Correcting frame difference of -339 frames
<0004> abis_rsl.c:942 (bts=0,trx=0,ts=2,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=0,trx=0,ts=2,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:942 (bts=0,trx=0,ts=2,ss=0): MEAS RES for inactive channel
<0000> abis_rsl.c:1345 (bts=0,trx=0,ts=2,ss=0) ERROR INDICATION cause=Timer
T200 expired (N200+1) times
<0004> abis_rsl.c:1363 RF release on (bts=0,trx=0,ts=2,ss=0) but state RELEASE
DUE ERROR
<0004> abis_rsl.c:613 (bts=0,trx=0,ts=2,ss=0) is in error state not sending
release.
<0004> abis_rsl.c:601 (bts=0,trx=0,ts=2,ss=0) is back in operation.
<0011> handover_logic.c:163 unable to find HO record
<000c> rtp_proxy.c:251 Correcting frame difference of 1 frames
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=3,ss=0): MEAS RES for inactive channel
<0011> handover_logic.c:163 unable to find HO record
<0004> abis_rsl.c:942 (bts=1,trx=0,ts=2,ss=0): MEAS RES for inactive channel
<0012> db.c:1296 INSERT INTO Counters: 111 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 125 ms
<0012> db.c:1296 INSERT INTO Counters: 142 ms
<0012> db.c:1296 INSERT INTO Counters: 134 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 116 ms
<0012> db.c:1296 INSERT INTO Counters: 116 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 125 ms
<0012> db.c:1296 INSERT INTO Counters: 116 ms
<0012> db.c:1296 INSERT INTO Counters: 134 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 116 ms
<0012> db.c:1296 INSERT INTO Counters: 116 ms
<0012> db.c:1296 INSERT INTO Counters: 134 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 117 ms
<0012> db.c:1296 INSERT INTO Counters: 133 ms
<0012> db.c:1296 INSERT INTO Counters: 108 ms
ERROR (in main() line 460) LCR was stalling 3.34 seconds
^CLCR: Signal received: 2
LCR terminated
<0005> openbsc/src/bsc_init.cshutting down OML for BTS 0
<0005> openbsc/src/bsc_init.cshutting down OML for BTS 1
<0005> openbsc/src/bsc_init.cshutting down OML for BTS 2
<0004> e1_input.c:273 nm_sendmsg: msg->trx == NULL
<0004> e1_input.c:273 nm_sendmsg: msg->trx == NULL
<0004> e1_input.c:273 nm_sendmsg: msg->trx == NULL
<0004> e1_input.c:273 nm_sendmsg: msg->trx == NULL