Friday, 2019-08-02

*** e0ne has joined #openstack-placement01:48
*** e0ne has quit IRC01:52
openstackgerritpengyuesheng proposed openstack/os-resource-classes master: Sync Sphinx requirement  https://review.opendev.org/67416402:58
*** e0ne has joined #openstack-placement04:30
*** e0ne has quit IRC04:35
openstackgerritMerged openstack/placement master: Bump os-traits minimum to 0.16.0  https://review.opendev.org/67396405:34
openstackgerritMerged openstack/placement master: Remove ProviderIds namedtuple  https://review.opendev.org/67378805:34
*** e0ne has joined #openstack-placement06:04
*** e0ne has quit IRC06:42
*** e0ne has joined #openstack-placement06:45
*** e0ne has quit IRC07:31
*** tssurya has joined #openstack-placement07:38
*** cdent has joined #openstack-placement07:48
*** e0ne has joined #openstack-placement09:03
openstackgerritChris Dent proposed openstack/placement master: Use __slots__ in commonly used objects  https://review.opendev.org/67423909:29
*** takashin has left #openstack-placement09:35
openstackgerritChris Dent proposed openstack/placement master: Add RequestWideSearchContext.summaries_by_id  https://review.opendev.org/67425410:06
*** cdent has quit IRC10:50
*** cdent has joined #openstack-placement11:01
cdentefried: I think I've managed to tap out performance-related changes to GET /a_c except for db adjustments and optimizing _merge_candidates (and the things it calls). The two above ^ are pretty useful.11:06
cdentMost of the rest of the time is spent in the db. I've improved the object code enough that serializing dicts to json is starting to show up as a significant contributor.11:06
cdentusing more web servers and more db servers will be a big help (for read operations) and the already demonstrated "ask better questions"11:08
cdentmuch of the stuff I've changed will not show up much in perfload because the impact will show more during concurrency11:08
cdentbut once it is all merged, it ought to look somewhat better (except that the gate vms are all oversubscribed and noisy)11:09
*** cdent has quit IRC12:18
*** cdent has joined #openstack-placement12:35
*** mriedem has joined #openstack-placement13:21
efriedcdent: ack14:00
cdentlatest pupdate https://anticdent.org/placement-update-19-30.html14:07
efriedcdent: I'm ready to +A https://review.opendev.org/#/c/674048/ but the predecessor looks like it may take more time to land. Reversing them would be manual but not hard. If you want to do that we can merge the one.14:10
cdentefried: yeah, can do. how do you feel about the others that follow in the same stack? I can order them by ease if you can point out a desired ordering?14:10
cdentbindparam, slots, summaries_by_id, double join seem like a reasonable order?14:11
efriedI haven't looked at today's adds yet.14:12
efriedI just learned about __slots__ from dtantsur the other day in a ksa patch. Makes a difference, does it?14:12
cdentonly when there are _lots_ of objects14:13
efriedcdent: seems like __slots__ could be done completely independently (no need to have it in series)14:13
cdentit could yes14:13
efried...as could summaries_by_id, I think.14:13
efriedjust at a quick glance.14:13
cdentthe ordering there is because of the analysis process, not any paritcular dependencies14:13
efriedright14:14
efriedyeah14:14
cdentif you're not concerned about that ordering, I'm happy to break them all apart14:14
efriednone of these are interdependent; those first two could be kept in series just so you don't have to resolve a merge conflict later14:14
*** artom has quit IRC14:14
efriedIf you're shuffling anyway, may as well do that14:14
cdentI was assuming that people would want to see the incrementalism, but it doesn't actually show up well without using the profiler, so meh14:15
cdentyeah, I'll break it up14:15
efriedright14:15
*** artom has joined #openstack-placement14:16
openstackgerritChris Dent proposed openstack/placement master: Use __slots__ in commonly used objects  https://review.opendev.org/67423914:18
mriedemi had a "please teach me" question in the slots one,14:18
mriedemseems like something nova-scheduler could benefit from with the HostState object,14:18
mriedemalthough those have a lot of attributes14:19
openstackgerritChris Dent proposed openstack/placement master: Add RequestWideSearchContext.summaries_by_id  https://review.opendev.org/67425414:19
cdentmriedem: I'll respond to that in a moment14:20
cdentbasically snakeviz is my friend: https://pypi.org/project/snakeviz/14:22
cdentwe'd have to instrument nova-scheduler to create a .prof file for one select_destinations (or similar)14:23
mriedemi suppose osprofiler should also provide similar info (how much time spent in a function) and could be integrated with a rally job to see the results with and without a change - then maybe i don't have to do anything manual locally14:28
mriedemalthough that before/after is hard in a CI job14:28
mriedemunless it's a very obvious difference14:28
mriedemi need an intern14:29
cdentmriedem: my understanding was the osprofiler was primarily for measuring time of interaction between systems14:30
cdentnot python call profiling14:30
openstackgerritChris Dent proposed openstack/placement master: Use expanding bindparam in provider_ids_from_rp_ids in_  https://review.opendev.org/67404814:30
openstackgerritChris Dent proposed openstack/placement master: Remove double join in provider_ids_from_rp_ids  https://review.opendev.org/67401714:30
cdentefried: reordered14:30
cdent^14:30
mriedemwhenever i've looked at osprofiler results i thought it was pretty granular, like per method in the call stack14:30
* cdent looks closer14:31
cdenthttps://docs.openstack.org/osprofiler/latest/user/background.html#why-not-cprofile-and-etc ?14:31
cdentof course what they say and what it does aren't necessarily the same14:32
mriedemwas looking at something like this http://logs.openstack.org/15/650915/6/check/tempest-smoke-py3-osprofiler-redis/2d64a57/osprofiler-traces/trace-2838abc6-e61d-4423-82ca-7bafc0fbac26.html.gz14:32
cdentthat doesnt appear to get into the guts of python14:34
mriedemi can't claim to understand how to interpret osprofiler data14:34
mriedeme.g. http://logs.openstack.org/15/650915/6/check/tempest-smoke-py3-osprofiler-redis/2d64a57/osprofiler-traces/trace-2838abc6-e61d-4423-82ca-7bafc0fbac26.html.gz14:34
mriedemnova.compute.manager.ComputeManager.external_instance_event says it took nearly 55 seconds but i'm not sure if that's aggregate14:35
mriedemah yeah i think it is14:36
mriedemit gets down into the guts of like the neutron db api calls as part of rebuilding the instance nw info cache14:37
mriedemand rebuilding that thing is known expensive b/c we don't batch up the queries to neutron for the bazillion resources we want (ips, ports, subnets, networks)14:37
mriedemneutron should just have a GET /everything?device_id=<server_id> api14:38
cdentthat would be nice14:38
mriedema db view in the api!14:38
cdentsearchlight!14:43
* cdent sighs14:43
cdentmriedem: gibi_off was the person who recently turned osprofiler back on in placement, so he might have some ideas/info when he comes back to us14:44
mriedemyeah...i'm just looking for where those devs hang out (in -dev)14:45
mriedemthey have a sqlalchemy and redis collector and separate ci jobs, i'm going to add one to the nova experimental queue and just wondering what the pros/cons of each collector is since that's not clear in the docs14:45
*** tssurya has quit IRC15:05
* cdent eods15:37
*** cdent has quit IRC15:37
*** altlogbot_1 has quit IRC16:29
*** irclogbot_0 has quit IRC16:33
openstackgerritEric Fried proposed openstack/placement master: Further optimize _build_provider_summaries  https://review.opendev.org/67434916:34
*** altlogbot_2 has joined #openstack-placement16:37
*** irclogbot_3 has joined #openstack-placement16:42
*** openstackgerrit has quit IRC17:22
*** openstackgerrit has joined #openstack-placement17:38
openstackgerritMerged openstack/placement master: Use __slots__ in commonly used objects  https://review.opendev.org/67423917:38
openstackgerritMerged openstack/placement master: Use expanding bindparam in provider_ids_from_rp_ids in_  https://review.opendev.org/67404817:38
*** e0ne has quit IRC18:11
*** e0ne has joined #openstack-placement19:13
*** artom has quit IRC19:35
*** irclogbot_3 has quit IRC19:39
*** irclogbot_2 has joined #openstack-placement19:43
*** e0ne has quit IRC20:11
*** mriedem has quit IRC20:33
*** N3l1x has quit IRC23:17
openstackgerritMerged openstack/os-resource-classes master: Sync Sphinx requirement  https://review.opendev.org/67416423:27

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!