On Fri, 30 Aug 2019 at 04:18, test user <example.com.use...@gmail.com> wrote:
> B. Is there any method for determining lock transitions for connections? > - Is there an API? > - Would it be possible to use dtrace to instrument SQLite to detect > lock transitions? > - Where should I be looking? > On unix sqlite uses fcntl() with cmd=F_SETLK on specific byte locations to acquire locks -- I'm not familiar with dtrace, but I've used strace + sed to watch sqlite lock activity before. eg: #!/bin/sh PID=$1 replace() { echo "s#F_SETLK, {type=F_$1, whence=SEEK_SET, start=$2, len=$3}#$4#" } strace -Ttt -ff -e trace=fcntl -p $PID 2>&1 | sed \ -e "$(replace RDLCK 1073741824 1 acquireR{PENDING})" \ -e "$(replace RDLCK 1073741825 1 acquireR{RESERVED})" \ -e "$(replace RDLCK 1073741826 510 acquire{SHARED})" \ -e "$(replace WRLCK 1073741824 1 acquireW{PENDING})" \ -e "$(replace WRLCK 1073741825 1 acquireW{RESERVED})" \ -e "$(replace WRLCK 1073741826 510 acquire{EXCLUSIVE})" \ -e "$(replace UNLCK 1073741824 2 release{PENDING+RESERVED})" \ -e "$(replace UNLCK 1073741824 1 release{PENDING})" \ -e "$(replace UNLCK 1073741825 1 release{RESERVED})" \ -e "$(replace UNLCK 1073741826 510 release{SHARED/EXCLUSIVE})" \ -e "$(replace UNLCK 0 0 release{ALL})" -Rowan _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users