Copilot commented on code in PR #12899: URL: https://github.com/apache/trafficserver/pull/12899#discussion_r2830553850
########## tests/gold_tests/logging/log-milestone-fields.test.py: ########## @@ -0,0 +1,202 @@ +''' +Verify that msdms milestone difference fields produce valid output for both +cache-miss and cache-hit transactions. This exercises the Phase 1 timing +fields proposed for the squid.log local_disk format. +''' +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +Test.Summary = 'Verify msdms milestone logging fields for cache miss and cache hit paths' +Test.ContinueOnFail = True + + +class MilestoneFieldsTest: + """ + Sends two requests for the same cacheable URL: the first is a cache miss + that populates the cache, the second is a cache hit served from RAM cache. + A custom log format records all Phase 1 milestone timing fields plus the + cache result code. A validation script then parses the log and checks: + + - Every expected key=value pair is present on each line + - All values are integers (>= 0 or -1 for unset milestones) + - Cache miss line: ms > 0, origin-phase fields present + - Cache hit line: hit_proc >= 0 and hit_xfer >= 0 + - No epoch-length garbage values (> 1_000_000_000) + """ + + # All Phase 1 msdms fields plus ms and cache result code for identification. + LOG_FORMAT = ( + 'crc=%<crc> ms=%<ttms>' + ' c_ttfb=%<{TS_MILESTONE_UA_BEGIN_WRITE-TS_MILESTONE_SM_START}msdms>' + ' c_tls=%<{TS_MILESTONE_TLS_HANDSHAKE_END-TS_MILESTONE_TLS_HANDSHAKE_START}msdms>' + ' c_hdr=%<{TS_MILESTONE_UA_READ_HEADER_DONE-TS_MILESTONE_SM_START}msdms>' + ' c_proc=%<{TS_MILESTONE_CACHE_OPEN_READ_BEGIN-TS_MILESTONE_UA_READ_HEADER_DONE}msdms>' + ' cache=%<{TS_MILESTONE_CACHE_OPEN_READ_END-TS_MILESTONE_CACHE_OPEN_READ_BEGIN}msdms>' + ' dns=%<{TS_MILESTONE_SERVER_FIRST_CONNECT-TS_MILESTONE_CACHE_OPEN_READ_END}msdms>' + ' o_tcp=%<{TS_MILESTONE_SERVER_CONNECT_END-TS_MILESTONE_SERVER_FIRST_CONNECT}msdms>' + ' o_wait=%<{TS_MILESTONE_SERVER_FIRST_READ-TS_MILESTONE_SERVER_CONNECT_END}msdms>' + ' o_hdr=%<{TS_MILESTONE_SERVER_READ_HEADER_DONE-TS_MILESTONE_SERVER_FIRST_READ}msdms>' + ' o_proc=%<{TS_MILESTONE_UA_BEGIN_WRITE-TS_MILESTONE_SERVER_READ_HEADER_DONE}msdms>' + ' o_body=%<{TS_MILESTONE_SERVER_CLOSE-TS_MILESTONE_UA_BEGIN_WRITE}msdms>' + ' c_xfer=%<{TS_MILESTONE_SM_FINISH-TS_MILESTONE_SERVER_CLOSE}msdms>' + ' hit_proc=%<{TS_MILESTONE_UA_BEGIN_WRITE-TS_MILESTONE_CACHE_OPEN_READ_END}msdms>' + ' hit_xfer=%<{TS_MILESTONE_SM_FINISH-TS_MILESTONE_UA_BEGIN_WRITE}msdms>') + + MISS_FIELDS = [ + 'ms', + 'c_ttfb', + 'c_tls', + 'c_hdr', + 'c_proc', + 'cache', + 'dns', + 'o_tcp', + 'o_wait', + 'o_hdr', + 'o_proc', + 'o_body', + 'c_xfer', + 'hit_proc', + 'hit_xfer', + ] + + HIT_FIELDS = [ + 'ms', + 'c_ttfb', + 'c_tls', + 'c_hdr', + 'c_proc', + 'cache', + 'hit_proc', + 'hit_xfer', + ] + Review Comment: The constants `MISS_FIELDS` and `HIT_FIELDS` are defined but never used in the test. They appear to be leftover from development and should be removed to keep the code clean. ```suggestion ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
