Friday, 2022-04-29

*** jpena|off is now known as jpena07:07
opendevreviewSlawek Kaplonski proposed openstack/governance master: Define Technical preview framework  https://review.opendev.org/c/openstack/governance/+/83988008:56
opendevreviewSlawek Kaplonski proposed openstack/governance master: Remove release names starting from 2023.1 release  https://review.opendev.org/c/openstack/governance/+/83989710:16
*** iurygregory__ is now known as iurygregory11:14
*** jpena is now known as jpena|off16:30
dansmithzzzeek: is there anything different about how neutron's db stuff works (that you know of) that would affect this plugin based approach?16:49
dansmithit seems to work great for every service other than neutron, which both seemed to choke with weird timeouts and hangs on my first attempt and later attempts seem to not always be registering on new engines (or something maybe) which causes me to not collect data past a certain point16:49
opendevreviewMerged openstack/governance master: Remove TC Liaisons framework  https://review.opendev.org/c/openstack/governance/+/83789117:13
opendevreviewMerged openstack/governance master: Fix keystone PTL model documentation  https://review.opendev.org/c/openstack/governance/+/83894017:18
opendevreviewMerged openstack/governance master: Retire openstack-helm-docs  https://review.opendev.org/c/openstack/governance/+/83910017:22
opendevreviewMerged openstack/governance master: Resolution to drop the lower constraints maintenance  https://review.opendev.org/c/openstack/governance/+/83800417:22
*** spotz_ is now known as spotz19:53
zzzeekdansmith: no, nothing neutron does would affect this particular approach20:29
dansmithzzzeek: I think I'm on the right track,20:30
dansmithit seems like they have some different threading behavior than some of the others20:30
zzzeekdansmith: ok.  still should not affect the plugin being registered or the event handler20:30
dansmithzzzeek: no, neither of those,20:30
zzzeekif your acutal event handler is doing something not very threadsafe, that could be a problem20:30
dansmithyeah, so I think they maybe create their engine in the main thread and then fork, but others do the opposite maybe?20:31
dansmitheither way, I think I'm good now20:31
dansmithfirst attempt was to, for each before_cursor_execute, I would connect to a different mysql db to increment a counter (knowing the naivety)20:32
dansmiththat was pretty slow, so I made the counter db ENGINE=memory20:32
dansmithwhich was faster but still slow20:32
dansmithnow I'm batching them with a little worker thread to do fewer writes less often which seems to work pretty good20:33
dansmithtrying to avoid having to build and run a separate collection daemon, or go full collectd, etc if I can help it without much fuss20:33
zzzeekengine=memory...you mean sqlite ?20:33
zzzeekor the mysql memory engine, I dont know if i know much about that20:34
dansmithno, the mysql memory engine20:34
dansmithwe don't have sqlite on the workers20:34
zzzeekwell sqlite is bundeld into python20:34
zzzeekbut yes20:34
dansmithoh? well, we don't have the tool at least :)20:34
zzzeekmysql memory engine...is that server side?  i dont know what that does20:34
dansmithyep, server side, and lets me increment the counters from the subnodes, which won't work for sqlite20:35
dansmith(easily)20:35
zzzeekare they tables that persist to disk or they remain just in memory ?20:35
dansmithhttps://dev.mysql.com/doc/refman/8.0/en/memory-storage-engine.html20:35
zzzeeki see20:35
zzzeekgot it20:35
dansmithjust in memory, they go away at restart, which is perfect for this20:35
dansmith15 integers plus db names.. so really tiny20:35
zzzeekso....you are just logging into the mysql console to query these tables while things are running?20:36
dansmithno, I have a tool that grabs the contents of the db after, plus a bunch of other things20:36
dansmithhttps://zuul.opendev.org/t/openstack/build/d6f6ec9364a149899f7bb8d32fe4c6bd/log/controller/logs/devstacklog.txt#1954420:37
dansmith(note keystone's huge number, btw)20:37
zzzeekoh at the bottom20:39
zzzeekis keystone using memcached?  it's not supposed to have all those SELECTs20:39
dansmithidk, but even with caching that number seems crazy high to me :)20:39
dansmiththat's just at the end of devstack, before tempest20:39
dansmithhttps://zuul.opendev.org/t/openstack/build/d6f6ec9364a149899f7bb8d32fe4c6bd/log/controller/logs/etc/keystone/keystone_conf.txt#1620:39
dansmithlooks enabled to me20:40
zzzeekalso, neutron has a lot of SELECT,, but in my experience they are much more complex SELECTs that are a lot more expensive20:40
dansmithyes, a tempest run locally ended up with well over 300k selects by neutron20:40
zzzeekbut yeah keystone is bad thre should be a way to fix that20:40
dansmithwhere other services were way under that (except for keystone, which was about 150k)20:40
dansmithagreed20:41
zzzeeklike i think keystone is likyle a lot more fixable than neutron b.c. keystone is doing the same simple lookups over and over, that should be a caching issue20:42
dansmithother runs, depending on what services are enabled end up with 80k keystone selects at the end of a devstack (pre-tests) run,20:43
dansmithso it seems like there's some n^2 behavior going on somewhere20:43
dansmithso yeah I assume it should be fixable20:43
dansmithwith so few users in a devstack I can't imagine how they're getting to 80k20:43
dansmithhttps://zuul.opendev.org/t/openstack/build/9f869c884d064daea13c7782e882b5a2/log/controller/logs/devstacklog.txt#2258420:44
dansmith80k ^20:44
dansmith(that one has a faulty neutron count, so ignore that line)20:44
zzzeekha wow20:47
opendevreviewGhanshyam proposed openstack/governance master: Remove release names starting from 2023.1 release  https://review.opendev.org/c/openstack/governance/+/83989723:37

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!