)]}'
{"id":"openstack%2Fswift~899233","triplet_id":"openstack%2Fswift~master~I6ef393bb5c2f664dbda003858af29a3e4891ad61","project":"openstack/swift","branch":"master","topic":"otel_tracing","attention_set":{},"removed_from_attention_set":{"7233":{"account":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"last_update":"2025-08-20 02:14:47.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I6ef393bb5c2f664dbda003858af29a3e4891ad61","subject":"tracing: move from a mixin to class decorator","status":"ABANDONED","created":"2023-10-25 08:51:38.000000000","updated":"2025-08-20 02:14:47.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"9fb066736d2ae4d6a7b4d94251e85c24896be87c","_number":899233,"virtual_id_number":899233,"owner":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2023-10-26 09:37:08.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-10-25 09:27:49.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2023-10-25 10:25:20.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"154046c716d25272accf41a47b506a041dc77457","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2023-10-25 08:51:38.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bae9e25732f6c4061cdc36ed4f1d0679ffae99d0","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-10-25 09:27:49.000000000","message":"Patch Set 1:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e0267c399afd4b2daa6c298f732bff14\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/1597dda3cdff4ca9a9e0972fe193a4f5 : FAILURE in 34m 50s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/5c30f3fa6b0f4d308236586610ed8ad3 : FAILURE in 30m 32s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/015ac38075344ba9bc283bd564f7c938 : SUCCESS in 29m 35s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/15ee294706ca4b72822d64fcb0092c02 : SUCCESS in 24m 34s","accounts_in_message":[],"_revision_number":1},{"id":"d1352e0652946cd3ded9b54b68a6660dc57feb64","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-10-25 10:25:20.000000000","message":"Patch Set 1: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/df1c15a811d94d1e959a6fbc0cf9461c\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cbe9299315334170b9639f77a4c98d4a : SUCCESS in 9m 23s\n- grenade https://zuul.opendev.org/t/openstack/build/7b45148febd3425ea077e6446635957b : SUCCESS in 47m 01s\n- grenade-skip-level https://zuul.opendev.org/t/openstack/build/ec91a5e7b37947a29d88ada4b3dc3a20 : SUCCESS in 53m 48s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/a5162b226d694ab6bc463d8d2d836456 : SUCCESS in 39m 13s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c5520ab29da942a598b59702ff55342c : SUCCESS in 1h 00m 58s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f8a3c2e824284c1ca7f623a493d45a15 : SUCCESS in 19m 07s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/5fba1c0cec59437aa9ebe274093c5833 : SUCCESS in 21m 44s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/49e233d157284783bb5aa3eef3c9e0d1 : SUCCESS in 17m 07s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/f52fa35f9a1d4c35888f9999ca7c5f71 : SUCCESS in 9m 27s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/7faa9428fbc041daaa160b4f7852fdac : SUCCESS in 6m 59s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/f5aab93c333e4d56b0fa4813bd07f503 : FAILURE in 26m 26s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/ee5569b043804f53ae6a27dd38c6ae31 : FAILURE in 31m 47s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/aa8f03d7d11e445bbb6ae83cd60ea230 : FAILURE in 28m 59s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/7fde35a0ad15417192298fc84183aca5 : FAILURE in 30m 27s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/b9ed9b0877534abfbf235dc92f95c60e : FAILURE in 28m 53s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/13f8670e62d34438894c510dcf10888c : SUCCESS in 18m 54s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/8a2c37277eba4a3e8f85fe7d91c06beb : SUCCESS in 18m 51s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/ba35410074424a45a2b088d665cb3a7f : SUCCESS in 19m 12s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/0d74fcfe6151492da9dad85874823d52 : SUCCESS in 16m 07s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/34e9cb4e98c3430d982080c7d7513172 : SUCCESS in 17m 17s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/a568b9ea8bd348f39e04527731299542 : SUCCESS in 17m 35s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/c11a907f8af244ed881af0191e979ec0 : SUCCESS in 7m 35s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/e958f88e0fd94ac68eefebf9c49d1db8 : SUCCESS in 21m 29s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/122945fa841e40f7a034607ff3530423 : SUCCESS in 8m 18s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/69b78f0236564d0c8e0c993bbac78247 : SUCCESS in 57m 37s\n- swift-probetests-centos-8-stream https://zuul.opendev.org/t/openstack/build/36693d6c9ecf4a23abeac7e8aba0f2de : SUCCESS in 1h 05m 14s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a7fd074111d54efcb7aa17336a18289d : SUCCESS in 55m 22s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/69f27c760f604feeac5724de8347fa8b : SUCCESS in 41m 21s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/2ee88d06ff374c41b4a4416dd1e653ed : FAILURE in 28m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/249f58bc2c0f4fb182d0836fb92667a1 : FAILURE in 4m 26s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/016cc7410f2d47d3ba56f7cfba71f8ad : FAILURE in 8m 30s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e45f258cc7e94162867eaa3a315e7e08 : SUCCESS in 1h 02m 20s","accounts_in_message":[],"_revision_number":1},{"id":"4eeafb94d674c14599da5b5da3b8c6cf1c97ccc9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2023-10-26 08:03:41.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"dd93f662371c049fecb051f4513d6341c5cde97b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-10-26 09:37:08.000000000","message":"Patch Set 2: Verified-1\n\n(2 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/80694b61a1d647da97975605977bf239\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/207941ce44b140c2b9779d4ca0c53980 : SUCCESS in 7m 41s\n- grenade https://zuul.opendev.org/t/openstack/build/8de1d66a348a4edd95d17fefe321454e : SUCCESS in 42m 08s\n- grenade-skip-level https://zuul.opendev.org/t/openstack/build/a72d81dd85e041cc9e078b662e128a20 : SUCCESS in 1h 09m 02s\n- tempest-integrated-object-storage https://zuul.opendev.org/t/openstack/build/9647f6bff1044968bb7325e8f4ef1c9b : SUCCESS in 55m 46s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/ff3921b55b8c4b249d54ecf455428d77 : SUCCESS in 1h 03m 03s\n- swift-tox-func-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/f7e8dd5df30646fa963ae4de838e5c59 : SUCCESS in 20m 40s (non-voting)\n- swift-tox-func-encryption-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/ad1b9ba5a979474799f2a3efc1926eb4 : SUCCESS in 20m 32s (non-voting)\n- swift-tox-func-ec-py39-centos-9-stream-fips https://zuul.opendev.org/t/openstack/build/1d92d73bbfa1428b9d507bc53d2b7b56 : SUCCESS in 21m 58s (non-voting)\n- swift-build-image https://zuul.opendev.org/t/openstack/build/26345337fedb4bb4882e04d1b8681127 : SUCCESS in 9m 26s (non-voting)\n- swift-build-image-py3 https://zuul.opendev.org/t/openstack/build/4473f70676ef4031ba735e8bef1a5bda : SUCCESS in 5m 56s (non-voting)\n- swift-tox-py27 https://zuul.opendev.org/t/openstack/build/5e5d1c82c78548f9a77bca657e652fee : SUCCESS in 16m 46s\n- swift-tox-py36 https://zuul.opendev.org/t/openstack/build/66be83df20ce4c1ba5e5b7d2b1d1b9a8 : SUCCESS in 19m 23s\n- swift-tox-py39 https://zuul.opendev.org/t/openstack/build/ed1ad9e20ede49f9be17f978610deb53 : SUCCESS in 14m 19s\n- swift-tox-py310 https://zuul.opendev.org/t/openstack/build/e9de172e5c9c4b2fb4542ce4d90ed827 : SUCCESS in 19m 19s\n- swift-tox-py311 https://zuul.opendev.org/t/openstack/build/e4b6da7e517c4da7be8b360bb4b341fa : SUCCESS in 16m 41s\n- swift-tox-func-py27 https://zuul.opendev.org/t/openstack/build/b6fb927bd3f8456ea28c8b05b2e8124b : SUCCESS in 17m 21s\n- swift-tox-func-encryption-py27 https://zuul.opendev.org/t/openstack/build/126659a9379f45438ea7f4c020455b91 : SUCCESS in 20m 53s\n- swift-tox-func-ec-py27 https://zuul.opendev.org/t/openstack/build/6b1e54129c4b4088bd6c1ef2e4f54d90 : SUCCESS in 19m 16s\n- swift-tox-func-py38 https://zuul.opendev.org/t/openstack/build/100f0b2c7de94aa590ee5516584bf73e : SUCCESS in 17m 24s\n- swift-tox-func-encryption-py38 https://zuul.opendev.org/t/openstack/build/1569656cddad4d93bf4fd75a12cc2724 : SUCCESS in 15m 58s\n- swift-tox-func-ec-py38 https://zuul.opendev.org/t/openstack/build/40a3f4c25f5b4361a72ccefd5411f094 : SUCCESS in 26m 34s\n- swift-func-cors https://zuul.opendev.org/t/openstack/build/9e44b1ddf6c6453d9aed7f119ff2c0e8 : SUCCESS in 8m 09s\n- swift-tox-func-s3api-ceph-s3tests-tempauth https://zuul.opendev.org/t/openstack/build/04d8cc3664aa4fa9bc0b4325e288c110 : SUCCESS in 18m 46s (non-voting)\n- swift-tox-func-s3api-tests-tempauth https://zuul.opendev.org/t/openstack/build/a06b349919c746eb856a7bec2fe6229f : SUCCESS in 7m 53s\n- swift-probetests-centos-7 https://zuul.opendev.org/t/openstack/build/181ef9c63a2f475dab6d75496752ccc9 : SUCCESS in 47m 28s\n- swift-probetests-centos-8-stream https://zuul.opendev.org/t/openstack/build/ed59b889781e44a69e843443d0799bf8 : SUCCESS in 1h 15m 35s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/be5b8ab143154869915b8d757aa49fb1 : SUCCESS in 44m 48s\n- swift-dsvm-functional-ipv6 https://zuul.opendev.org/t/openstack/build/69a00be90a3c4d12be1a78a1dfbc93dc : SUCCESS in 43m 33s\n- swift-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/db31a3c4de3245358894b475a344b2de : SUCCESS in 17m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/bee97c35871e4a2b961ddc12a3f04db4 : FAILURE in 4m 42s\n- swift-multinode-rolling-upgrade https://zuul.opendev.org/t/openstack/build/455a48d30fe946409aa2581a3a0106e8 : FAILURE in 8m 41s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/777e08e12d334fd9beb1739e75aef9e4 : SUCCESS in 1h 05m 11s","accounts_in_message":[],"_revision_number":2},{"id":"4b458446c252eb739e2f614fdae0e74c3147db7d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-10-26 09:38:27.000000000","message":"Patch Set 2:\n\nBuild failed (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f4732eb0f2414177a1a45d0ed962f6c3\n\n- swift-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/3f0713242b8243afafbefc32736a5c92 : SUCCESS in 1h 10m 57s\n- swift-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/140f9e7468984c7a870f0f5ff0866f08 : TIMED_OUT in 1h 31m 14s\n- swift-tox-func-encryption-py38-arm64 https://zuul.opendev.org/t/openstack/build/ff964887b8f94fb9a9b0e54aded73986 : FAILURE in 1h 24m 05s\n- swift-tox-func-py38-arm64 https://zuul.opendev.org/t/openstack/build/6c07420d8cc3458fbaeba0c7f4bcd362 : SUCCESS in 1h 24m 28s","accounts_in_message":[],"_revision_number":2},{"id":"9fb066736d2ae4d6a7b4d94251e85c24896be87c","tag":"autogenerated:gerrit:abandon","author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"date":"2025-08-20 02:14:47.000000000","message":"Abandoned\n\nTracing has been reworked here: https://review.opendev.org/c/openstack/swift/+/899397","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"4e66d0c2b5fd28bc0c927810dd438a6b96c78578","revisions":{"baa2d3cc061f24314e03ed8d5602807b697a90ce":{"kind":"REWORK","_number":1,"created":"2023-10-25 08:51:38.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/33/899233/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/33/899233/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/899233/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/899233/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/899233/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/33/899233/1"}}},"commit":{"parents":[{"commit":"85883ec42f68598e88e3d6bbe6af2a0eb35c622c","subject":"Tracing: Add overview documentation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/85883ec42f68598e88e3d6bbe6af2a0eb35c622c"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2023-10-25 08:46:32.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2023-10-25 08:46:32.000000000","tz":660},"subject":"tracing: move from a mixin to class decorator","message":"tracing: move from a mixin to class decorator\n\nKota had a great idea at the PTG that a decorator might be cleaner.\nTurns out all the helper methods in the mixin also needed an env passed\nin anyway, so they are perfect candidates for being stand-alone helper\nmethods.\n\nSo this patch, although was very tedious does just that. And uses a\nclass decorator `wsgi_trace` to intercept the __call__, does it\u0027s thing and then\ncalls the classes call.\nAll the helper methods now being stand alone means we can just import\nand use them directly anywhere (they always look for the tracer in the\nenv or noop) cleaning up a bunch of calling back and tracking wsgi apps\ninto controllers and contexts.\n\nBetter, if this works, maybe we can auto decorate as we load them too?\n\nChange-Id: I6ef393bb5c2f664dbda003858af29a3e4891ad61\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/baa2d3cc061f24314e03ed8d5602807b697a90ce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/baa2d3cc061f24314e03ed8d5602807b697a90ce"}]},"branch":"refs/heads/master"},"4e66d0c2b5fd28bc0c927810dd438a6b96c78578":{"kind":"REWORK","_number":2,"created":"2023-10-26 08:03:41.000000000","uploader":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"ref":"refs/changes/33/899233/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/swift","ref":"refs/changes/33/899233/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/899233/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/899233/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/swift refs/changes/33/899233/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/swift refs/changes/33/899233/2"}}},"commit":{"parents":[{"commit":"85883ec42f68598e88e3d6bbe6af2a0eb35c622c","subject":"Tracing: Add overview documentation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/85883ec42f68598e88e3d6bbe6af2a0eb35c622c"}]}],"author":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2023-10-25 08:46:32.000000000","tz":660},"committer":{"name":"Matthew Oliver","email":"matt@oliver.net.au","date":"2023-10-26 08:03:22.000000000","tz":660},"subject":"tracing: move from a mixin to class decorator","message":"tracing: move from a mixin to class decorator\n\nKota had a great idea at the PTG that a decorator might be cleaner.\nTurns out all the helper methods in the mixin also needed an env passed\nin anyway, so they are perfect candidates for being stand-alone helper\nmethods.\n\nSo this patch, although was very tedious does just that. And uses a\nclass decorator `wsgi_trace` to intercept the __call__, does it\u0027s thing and then\ncalls the classes call.\nAll the helper methods now being stand alone means we can just import\nand use them directly anywhere (they always look for the tracer in the\nenv or noop) cleaning up a bunch of calling back and tracking wsgi apps\ninto controllers and contexts.\n\nBetter, if this works, maybe we can auto decorate as we load them too?\n\nChange-Id: I6ef393bb5c2f664dbda003858af29a3e4891ad61\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4e66d0c2b5fd28bc0c927810dd438a6b96c78578"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/swift/commit/4e66d0c2b5fd28bc0c927810dd438a6b96c78578"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
