While going through ATS to rewrite the metrics (still being evaluated if viable), I’ve come to realize that we have a number of metrics that are not particularly useful. What’s worse, there’s some serious implications for these particular metrics making the calculation of them expensive and complicated. The list of metrics in question is below.
What I’d like to do is the following: 1. For those metrics here that already are backed by a a “total count” metric, we simply remove them. 2. For metrics which don’t have a “total count”, we replace and rename the metric to be a total. It’s then upon the metrics collection system to make calculations such as doing deltas between collections, and calculate the rolling average for that time period. Not only does this simplify our ATS metrics system, I think it generally adds more flexibility for the metric collection system (e.g. Prometheus), for the # 2 case at least. As an example, the metric proxy.process.http.avg_transactions_per_client_connection would be renamed to proxy.process.http.client_transactions And to calculate the average transactions / client, you’d divide this new metric with the existing metric proxy.process.http.total_incoming_connections . But now having the total number of client_transactions you can do other calculations as well, such as average time / transaction. You could do this before too, by looking at all possible transaction results, but I feel that changing this existing “avg” metric to a total count not only simplifies the ATS code, but is overall more powerful and useful. Any concerns? Thoughts? — Leif proxy.process.http.origin_server_speed_bytes_per_sec_100 0 proxy.process.http.origin_server_speed_bytes_per_sec_100K 0 proxy.process.http.origin_server_speed_bytes_per_sec_100M 125 proxy.process.http.origin_server_speed_bytes_per_sec_10K 0 proxy.process.http.origin_server_speed_bytes_per_sec_10M 2 proxy.process.http.origin_server_speed_bytes_per_sec_1K 0 proxy.process.http.origin_server_speed_bytes_per_sec_1M 0 proxy.process.http.avg_transactions_per_client_connection 10 proxy.process.http.avg_transactions_per_server_connection 127 proxy.process.http.user_agent_speed_bytes_per_sec_100 0 proxy.process.http.user_agent_speed_bytes_per_sec_100K 0 proxy.process.http.user_agent_speed_bytes_per_sec_100M 0 proxy.process.http.user_agent_speed_bytes_per_sec_10K 0 proxy.process.http.user_agent_speed_bytes_per_sec_10M 0 proxy.process.http.user_agent_speed_bytes_per_sec_1K 0 proxy.process.http.user_agent_speed_bytes_per_sec_1M 0 proxy.process.dns.fail_avg_time 0 proxy.process.dns.lookup_avg_time 1 proxy.process.dns.success_avg_time 3 proxy.process.cache.read_per_sec 0 proxy.process.cache.write_per_sec 0 proxy.process.cache.KB_read_per_sec 0 proxy.process.cache.KB_write_per_sec 0