)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d8d31b7d582df920e1c23e18bb059c47c902f8a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"6e05962e_a5199b3a","updated":"2022-05-12 13:43:52.000000000","message":"I will fix the user-agent thing straight away.. let me know if you prefer a hack for neutron for the moment...","commit_id":"27fb375ab952b38a24547b535b5e7db2120cfa35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9b01177047e4dde64dad9f275917a71eb41a5bc0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"1b967dcb_edfd86bd","updated":"2022-05-11 23:00:47.000000000","message":"overall lgtm, -1 only for the neutron service logging.","commit_id":"27fb375ab952b38a24547b535b5e7db2120cfa35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0eb6a1fe67c60f044db8387ba1f0a60504226716","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"b85c0d6b_7a6dcf85","updated":"2022-05-17 22:24:25.000000000","message":"lgtm, thanks","commit_id":"64d68679d9660e304ab3550929fe9892a124ac6f"}],"tools/get-stats.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9b01177047e4dde64dad9f275917a71eb41a5bc0","unresolved":true,"context_lines":[{"line_number":118,"context_line":"        # Tempest\u0027s User-Agent is unchanged, but client libraries and"},{"line_number":119,"context_line":"        # inter-service API calls use proper strings. So assume"},{"line_number":120,"context_line":"        # \u0027python-urllib\u0027 is tempest so we can tell it apart."},{"line_number":121,"context_line":"        if \u0027python-urllib\u0027 in fields[\u0027agent\u0027]:"},{"line_number":122,"context_line":"            agent \u003d \u0027tempest\u0027"},{"line_number":123,"context_line":"        else:"},{"line_number":124,"context_line":"            agent \u003d fields[\u0027agent\u0027].split(\u0027 \u0027)[0]"}],"source_content_type":"text/x-python","patch_set":17,"id":"1c516332_bb61ddb1","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":46},"updated":"2022-05-11 23:00:47.000000000","message":"this is catching the \u0027Python-urllib\u0027 as we can see Python-urllib is logged in performance.json \n\n- https://28fef91087ecefa38c48-09ee8bbf59038f8040eb9d88bbbf0d69.ssl.cf5.rackcdn.com/839067/17/check/tempest-full-py3/9fa1c75/controller/logs/performance.json","commit_id":"27fb375ab952b38a24547b535b5e7db2120cfa35"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d8d31b7d582df920e1c23e18bb059c47c902f8a6","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        # Tempest\u0027s User-Agent is unchanged, but client libraries and"},{"line_number":119,"context_line":"        # inter-service API calls use proper strings. So assume"},{"line_number":120,"context_line":"        # \u0027python-urllib\u0027 is tempest so we can tell it apart."},{"line_number":121,"context_line":"        if \u0027python-urllib\u0027 in fields[\u0027agent\u0027]:"},{"line_number":122,"context_line":"            agent \u003d \u0027tempest\u0027"},{"line_number":123,"context_line":"        else:"},{"line_number":124,"context_line":"            agent \u003d fields[\u0027agent\u0027].split(\u0027 \u0027)[0]"}],"source_content_type":"text/x-python","patch_set":17,"id":"ceb10ce4_79f63245","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":46},"in_reply_to":"1c516332_bb61ddb1","updated":"2022-05-12 13:43:52.000000000","message":"Ack","commit_id":"27fb375ab952b38a24547b535b5e7db2120cfa35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9b01177047e4dde64dad9f275917a71eb41a5bc0","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        if agent in ignore_agents:"},{"line_number":131,"context_line":"            continue"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        try:"},{"line_number":134,"context_line":"            service, rest \u003d url.strip(\u0027/\u0027).split(\u0027/\u0027, 1)"},{"line_number":135,"context_line":"        except ValueError:"},{"line_number":136,"context_line":"            # Root calls like \"GET /identity\""},{"line_number":137,"context_line":"            service \u003d url.strip(\u0027/\u0027)"},{"line_number":138,"context_line":"            rest \u003d \u0027\u0027"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        method_key \u003d \u0027%s-%s\u0027 % (agent, method)"},{"line_number":141,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":17,"id":"25b5cfcc_2632426c","line":138,"range":{"start_line":132,"start_character":0,"end_line":138,"end_character":21},"updated":"2022-05-11 23:00:47.000000000","message":"I think neutron service is not fetched correctly - https://28fef91087ecefa38c48-09ee8bbf59038f8040eb9d88bbbf0d69.ssl.cf5.rackcdn.com/839067/17/check/tempest-full-py3/9fa1c75/controller/logs/performance.json","commit_id":"27fb375ab952b38a24547b535b5e7db2120cfa35"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d8d31b7d582df920e1c23e18bb059c47c902f8a6","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        if agent in ignore_agents:"},{"line_number":131,"context_line":"            continue"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        try:"},{"line_number":134,"context_line":"            service, rest \u003d url.strip(\u0027/\u0027).split(\u0027/\u0027, 1)"},{"line_number":135,"context_line":"        except ValueError:"},{"line_number":136,"context_line":"            # Root calls like \"GET /identity\""},{"line_number":137,"context_line":"            service \u003d url.strip(\u0027/\u0027)"},{"line_number":138,"context_line":"            rest \u003d \u0027\u0027"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        method_key \u003d \u0027%s-%s\u0027 % (agent, method)"},{"line_number":141,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9ea04525_fd10f25e","line":138,"range":{"start_line":132,"start_character":0,"end_line":138,"end_character":21},"in_reply_to":"25b5cfcc_2632426c","updated":"2022-05-12 13:43:52.000000000","message":"This is what I was trying to bring up to you on IRC... neutron is \u0027mounted\u0027 in apache as /v2.0/, instead of things like nova which are mounted as \u0027/compute/v2.0/\u0027. So the neutron numbers are under \u0027v2.0\u0027 in the performance,json.\n\nI could add a hack here to assume \u0027v2.0 \u003d\u003d neutron\u0027 but that feels like a bad plan. I want to reach out to someone on the neutron side to see if there\u0027s some reason we can\u0027t get that fixed (or try myself) I just haven\u0027t gotten to it. However, note that this patch doesn\u0027t change this, as the existing performance.json files are the same:\n\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_ca6/839820/10/check/tempest-full-py3/ca64a13/controller/logs/performance.json","commit_id":"27fb375ab952b38a24547b535b5e7db2120cfa35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0eb6a1fe67c60f044db8387ba1f0a60504226716","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        if agent in ignore_agents:"},{"line_number":131,"context_line":"            continue"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        try:"},{"line_number":134,"context_line":"            service, rest \u003d url.strip(\u0027/\u0027).split(\u0027/\u0027, 1)"},{"line_number":135,"context_line":"        except ValueError:"},{"line_number":136,"context_line":"            # Root calls like \"GET /identity\""},{"line_number":137,"context_line":"            service \u003d url.strip(\u0027/\u0027)"},{"line_number":138,"context_line":"            rest \u003d \u0027\u0027"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        method_key \u003d \u0027%s-%s\u0027 % (agent, method)"},{"line_number":141,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdb25c4_e0e8b178","line":138,"range":{"start_line":132,"start_character":0,"end_line":138,"end_character":21},"in_reply_to":"9ea04525_fd10f25e","updated":"2022-05-17 22:24:25.000000000","message":"v2.0\u003d\u003d neutron is not good hack. I agree to fix it later once we discuss it with the neutron team.\n\nagree that it is not requried to fix in this patch as per scope.","commit_id":"27fb375ab952b38a24547b535b5e7db2120cfa35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9b01177047e4dde64dad9f275917a71eb41a5bc0","unresolved":true,"context_lines":[{"line_number":137,"context_line":"            service \u003d url.strip(\u0027/\u0027)"},{"line_number":138,"context_line":"            rest \u003d \u0027\u0027"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        method_key \u003d \u0027%s-%s\u0027 % (agent, method)"},{"line_number":141,"context_line":"        try:"},{"line_number":142,"context_line":"            length \u003d int(fields[\u0027length\u0027])"},{"line_number":143,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":17,"id":"7ef25088_ee045858","line":140,"range":{"start_line":140,"start_character":0,"end_line":140,"end_character":46},"updated":"2022-05-11 23:00:47.000000000","message":"+1, this will give more clear data from where the calls are increasing.","commit_id":"27fb375ab952b38a24547b535b5e7db2120cfa35"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c9ebb8b8c91e9286744b4041fa305bf7ca348c89","unresolved":true,"context_lines":[{"line_number":108,"context_line":"            # Not a combined access log, so we can bail completely"},{"line_number":109,"context_line":"            return []"},{"line_number":110,"context_line":"        try:"},{"line_number":111,"context_line":"            method, url, http \u003d fields[\u0027request\u0027].split(\u0027 \u0027)"},{"line_number":112,"context_line":"        except ValueError:"},{"line_number":113,"context_line":"            method \u003d url \u003d http \u003d \u0027\u0027"},{"line_number":114,"context_line":"        if \u0027HTTP\u0027 not in http:"}],"source_content_type":"text/x-python","patch_set":18,"id":"b6d5f3f5_13360b80","line":111,"updated":"2022-05-13 16:18:59.000000000","message":"If the log file is read as csv with \u0027 \u0027 as the delimiter how do we split on a single csv field using \u0027 \u0027 and expect to get multiple results? I\u0027m sure I\u0027m missing something simple there but might be worth a note?","commit_id":"64d68679d9660e304ab3550929fe9892a124ac6f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e7deb1fe1922944dc3a54fdcfce52159d0ffa321","unresolved":true,"context_lines":[{"line_number":108,"context_line":"            # Not a combined access log, so we can bail completely"},{"line_number":109,"context_line":"            return []"},{"line_number":110,"context_line":"        try:"},{"line_number":111,"context_line":"            method, url, http \u003d fields[\u0027request\u0027].split(\u0027 \u0027)"},{"line_number":112,"context_line":"        except ValueError:"},{"line_number":113,"context_line":"            method \u003d url \u003d http \u003d \u0027\u0027"},{"line_number":114,"context_line":"        if \u0027HTTP\u0027 not in http:"}],"source_content_type":"text/x-python","patch_set":18,"id":"1cc314ec_c80dd06a","line":111,"in_reply_to":"b6d5f3f5_13360b80","updated":"2022-05-13 16:46:14.000000000","message":"The reason I, using csv is because it handles quoted fields, and this is why.. So I\u0027m splitting on a space that was in the quoted URL field.","commit_id":"64d68679d9660e304ab3550929fe9892a124ac6f"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c9ebb8b8c91e9286744b4041fa305bf7ca348c89","unresolved":true,"context_lines":[{"line_number":128,"context_line":"                agent \u003d agent.split(\u0027/\u0027)[0]"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        if agent in ignore_agents:"},{"line_number":131,"context_line":"            continue"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        try:"},{"line_number":134,"context_line":"            service, rest \u003d url.strip(\u0027/\u0027).split(\u0027/\u0027, 1)"}],"source_content_type":"text/x-python","patch_set":18,"id":"4464cdb2_c0057970","line":131,"updated":"2022-05-13 16:18:59.000000000","message":"The commit message implies we are ignoring tempest, but instead I think we are just annotating tempest in the logs so we can distinguish between it and the services talking to each other. I think that is fine but calling it out in case you wanted to add tempest to the ignore_agents list and that was missed.","commit_id":"64d68679d9660e304ab3550929fe9892a124ac6f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e7deb1fe1922944dc3a54fdcfce52159d0ffa321","unresolved":true,"context_lines":[{"line_number":128,"context_line":"                agent \u003d agent.split(\u0027/\u0027)[0]"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        if agent in ignore_agents:"},{"line_number":131,"context_line":"            continue"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        try:"},{"line_number":134,"context_line":"            service, rest \u003d url.strip(\u0027/\u0027).split(\u0027/\u0027, 1)"}],"source_content_type":"text/x-python","patch_set":18,"id":"043d9461_883e2ed5","line":131,"in_reply_to":"4464cdb2_c0057970","updated":"2022-05-13 16:46:14.000000000","message":"Ack, I think I wrote that earlier when I was actually going to ignore them, then decided to split them out for visibility, and mostly so we can ignore them...visibly. But sure, if I respin I\u0027ll update that language.","commit_id":"64d68679d9660e304ab3550929fe9892a124ac6f"}]}
