*** e0ne has joined #openstack-placement | 01:48 | |
*** e0ne has quit IRC | 01:52 | |
openstackgerrit | pengyuesheng proposed openstack/os-resource-classes master: Sync Sphinx requirement https://review.opendev.org/674164 | 02:58 |
---|---|---|
*** e0ne has joined #openstack-placement | 04:30 | |
*** e0ne has quit IRC | 04:35 | |
openstackgerrit | Merged openstack/placement master: Bump os-traits minimum to 0.16.0 https://review.opendev.org/673964 | 05:34 |
openstackgerrit | Merged openstack/placement master: Remove ProviderIds namedtuple https://review.opendev.org/673788 | 05:34 |
*** e0ne has joined #openstack-placement | 06:04 | |
*** e0ne has quit IRC | 06:42 | |
*** e0ne has joined #openstack-placement | 06:45 | |
*** e0ne has quit IRC | 07:31 | |
*** tssurya has joined #openstack-placement | 07:38 | |
*** cdent has joined #openstack-placement | 07:48 | |
*** e0ne has joined #openstack-placement | 09:03 | |
openstackgerrit | Chris Dent proposed openstack/placement master: Use __slots__ in commonly used objects https://review.opendev.org/674239 | 09:29 |
*** takashin has left #openstack-placement | 09:35 | |
openstackgerrit | Chris Dent proposed openstack/placement master: Add RequestWideSearchContext.summaries_by_id https://review.opendev.org/674254 | 10:06 |
*** cdent has quit IRC | 10:50 | |
*** cdent has joined #openstack-placement | 11:01 | |
cdent | efried: 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 |
cdent | Most 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 |
cdent | using more web servers and more db servers will be a big help (for read operations) and the already demonstrated "ask better questions" | 11:08 |
cdent | much of the stuff I've changed will not show up much in perfload because the impact will show more during concurrency | 11:08 |
cdent | but 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 IRC | 12:18 | |
*** cdent has joined #openstack-placement | 12:35 | |
*** mriedem has joined #openstack-placement | 13:21 | |
efried | cdent: ack | 14:00 |
cdent | latest pupdate https://anticdent.org/placement-update-19-30.html | 14:07 |
efried | cdent: 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 |
cdent | efried: 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 |
cdent | bindparam, slots, summaries_by_id, double join seem like a reasonable order? | 14:11 |
efried | I haven't looked at today's adds yet. | 14:12 |
efried | I just learned about __slots__ from dtantsur the other day in a ksa patch. Makes a difference, does it? | 14:12 |
cdent | only when there are _lots_ of objects | 14:13 |
efried | cdent: seems like __slots__ could be done completely independently (no need to have it in series) | 14:13 |
cdent | it could yes | 14:13 |
efried | ...as could summaries_by_id, I think. | 14:13 |
efried | just at a quick glance. | 14:13 |
cdent | the ordering there is because of the analysis process, not any paritcular dependencies | 14:13 |
efried | right | 14:14 |
efried | yeah | 14:14 |
cdent | if you're not concerned about that ordering, I'm happy to break them all apart | 14:14 |
efried | none of these are interdependent; those first two could be kept in series just so you don't have to resolve a merge conflict later | 14:14 |
*** artom has quit IRC | 14:14 | |
efried | If you're shuffling anyway, may as well do that | 14:14 |
cdent | I was assuming that people would want to see the incrementalism, but it doesn't actually show up well without using the profiler, so meh | 14:15 |
cdent | yeah, I'll break it up | 14:15 |
efried | right | 14:15 |
*** artom has joined #openstack-placement | 14:16 | |
openstackgerrit | Chris Dent proposed openstack/placement master: Use __slots__ in commonly used objects https://review.opendev.org/674239 | 14:18 |
mriedem | i had a "please teach me" question in the slots one, | 14:18 |
mriedem | seems like something nova-scheduler could benefit from with the HostState object, | 14:18 |
mriedem | although those have a lot of attributes | 14:19 |
openstackgerrit | Chris Dent proposed openstack/placement master: Add RequestWideSearchContext.summaries_by_id https://review.opendev.org/674254 | 14:19 |
cdent | mriedem: I'll respond to that in a moment | 14:20 |
cdent | basically snakeviz is my friend: https://pypi.org/project/snakeviz/ | 14:22 |
cdent | we'd have to instrument nova-scheduler to create a .prof file for one select_destinations (or similar) | 14:23 |
mriedem | i 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 locally | 14:28 |
mriedem | although that before/after is hard in a CI job | 14:28 |
mriedem | unless it's a very obvious difference | 14:28 |
mriedem | i need an intern | 14:29 |
cdent | mriedem: my understanding was the osprofiler was primarily for measuring time of interaction between systems | 14:30 |
cdent | not python call profiling | 14:30 |
openstackgerrit | Chris Dent proposed openstack/placement master: Use expanding bindparam in provider_ids_from_rp_ids in_ https://review.opendev.org/674048 | 14:30 |
openstackgerrit | Chris Dent proposed openstack/placement master: Remove double join in provider_ids_from_rp_ids https://review.opendev.org/674017 | 14:30 |
cdent | efried: reordered | 14:30 |
cdent | ^ | 14:30 |
mriedem | whenever i've looked at osprofiler results i thought it was pretty granular, like per method in the call stack | 14:30 |
* cdent looks closer | 14:31 | |
cdent | https://docs.openstack.org/osprofiler/latest/user/background.html#why-not-cprofile-and-etc ? | 14:31 |
cdent | of course what they say and what it does aren't necessarily the same | 14:32 |
mriedem | was 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.gz | 14:32 |
cdent | that doesnt appear to get into the guts of python | 14:34 |
mriedem | i can't claim to understand how to interpret osprofiler data | 14:34 |
mriedem | e.g. http://logs.openstack.org/15/650915/6/check/tempest-smoke-py3-osprofiler-redis/2d64a57/osprofiler-traces/trace-2838abc6-e61d-4423-82ca-7bafc0fbac26.html.gz | 14:34 |
mriedem | nova.compute.manager.ComputeManager.external_instance_event says it took nearly 55 seconds but i'm not sure if that's aggregate | 14:35 |
mriedem | ah yeah i think it is | 14:36 |
mriedem | it gets down into the guts of like the neutron db api calls as part of rebuilding the instance nw info cache | 14:37 |
mriedem | and 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 |
mriedem | neutron should just have a GET /everything?device_id=<server_id> api | 14:38 |
cdent | that would be nice | 14:38 |
mriedem | a db view in the api! | 14:38 |
cdent | searchlight! | 14:43 |
* cdent sighs | 14:43 | |
cdent | mriedem: 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 us | 14:44 |
mriedem | yeah...i'm just looking for where those devs hang out (in -dev) | 14:45 |
mriedem | they 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 docs | 14:45 |
*** tssurya has quit IRC | 15:05 | |
* cdent eods | 15:37 | |
*** cdent has quit IRC | 15:37 | |
*** altlogbot_1 has quit IRC | 16:29 | |
*** irclogbot_0 has quit IRC | 16:33 | |
openstackgerrit | Eric Fried proposed openstack/placement master: Further optimize _build_provider_summaries https://review.opendev.org/674349 | 16:34 |
*** altlogbot_2 has joined #openstack-placement | 16:37 | |
*** irclogbot_3 has joined #openstack-placement | 16:42 | |
*** openstackgerrit has quit IRC | 17:22 | |
*** openstackgerrit has joined #openstack-placement | 17:38 | |
openstackgerrit | Merged openstack/placement master: Use __slots__ in commonly used objects https://review.opendev.org/674239 | 17:38 |
openstackgerrit | Merged openstack/placement master: Use expanding bindparam in provider_ids_from_rp_ids in_ https://review.opendev.org/674048 | 17:38 |
*** e0ne has quit IRC | 18:11 | |
*** e0ne has joined #openstack-placement | 19:13 | |
*** artom has quit IRC | 19:35 | |
*** irclogbot_3 has quit IRC | 19:39 | |
*** irclogbot_2 has joined #openstack-placement | 19:43 | |
*** e0ne has quit IRC | 20:11 | |
*** mriedem has quit IRC | 20:33 | |
*** N3l1x has quit IRC | 23:17 | |
openstackgerrit | Merged openstack/os-resource-classes master: Sync Sphinx requirement https://review.opendev.org/674164 | 23:27 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!