From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd36.google.com (mail-io1-xd36.google.com [IPv6:2607:f8b0:4864:20::d36]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id BD88B3B29E for ; Mon, 21 Jun 2021 01:06:32 -0400 (EDT) Received: by mail-io1-xd36.google.com with SMTP id k16so14251758ios.10 for ; Sun, 20 Jun 2021 22:06:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc :content-transfer-encoding; bh=3NLVYvWBvaEo2hjqs/PyN/1LkgBb3z8TG4GnBxInHdI=; b=LRjR2rfXJT0ybaJpF5asmpAWiRNegVblG6xPGd3/JWSkYI0NJfhJ2Zwa/h3gdwg2kL 9a+lijZA56266jrc4LxsEguT88ERVjuKNlzga5ywPOLd/J6JBIcIi+Cp9E0WFjmunkcF p64Gekz6RcH5qHwF/uveRa6BiZEuDgtSr5KbH324RlSGbzowGn1MpZQQotqtnK2kpuFQ ckuHDhshxFY4A/krgc4xwr+jW0afFaLlOn3Rx0ilWPUPffvlQdMlO5sMMnoSu/jBKKhq Iw/e5xFdYTh4nsrMRBjcjZjmIgzHJW0iTqNscZUnOAmyBoXtPDAywi3EKW7NrnMcoX08 a3nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc :content-transfer-encoding; bh=3NLVYvWBvaEo2hjqs/PyN/1LkgBb3z8TG4GnBxInHdI=; b=XhpTaTdDrCGTd5fMEm5CUhWDASe5CSHaIHFUYxpDiffzQfHpVVBC+zI3BzMQ82sw8Y lKJuLOkLoWB4Xm6QI9bDGM+iLUJsjEzsiA3r7tA26DRXK/cywTKQe9Bsen4jDHv2nalV Ei2XgPdnrD6HTYZXq+Joxz8KUAArf/cRrzVXNdv8/PNhLCJzq+yFObNt/EwceDznHEOU 4YAum/DSsLcNRPQcKRHbI2So/eMAgpQNpNlf98VPUsG/9nK/MKpifcI4W4ymMFJEpWns xCWuTkTgPGbqa93S6qV3rN1o4sd6eEq5CRJyp0BuOeUz9QqqFVffO9NY+/Yw/w9uWGvw /nag== X-Gm-Message-State: AOAM533N01pS32BXGaGfh/4GKBmIM6kfJIq5s5L/1PFTQ4UAwI5zksgM egPy7zlWSzXh9IAvquIP668iLEZNanUE5KRmgoyweMYQmC0= X-Google-Smtp-Source: ABdhPJwHNuLFMCOMh/Sn1njt21N5xSqTAAo0TJdyRRzKWoRYBGov1PK9RaypC65CEAV5DiKlZk3znQHHohwJNZzUNNo= X-Received: by 2002:a5d:96c6:: with SMTP id r6mr13980417iol.25.1624251991905; Sun, 20 Jun 2021 22:06:31 -0700 (PDT) MIME-Version: 1.0 From: Dave Taht Date: Sun, 20 Jun 2021 22:06:19 -0700 Message-ID: To: bloat , Matt Mathis Cc: Randall Meyer Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: [Bloat] Getting TCP_INFO stats in apache traffic server X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jun 2021 05:06:32 -0000 It's been a decade since I had to patch web100 into the kernel and matt told me recently that tons of it HAD finally ended up in the linux kernel, so I looked, thinking I'd at the very least patch up apache traffic server and netperf to start reporting that information. Wow! what a goldmine! Getting out the ECN CE stats is now easy. The min_rtt stat looks useful, but I wanted also a max_rtt stat or some way to calculate it? apache traffic server currently reports only: ret =3D TSTextLogObjectWrite(config->log, "%s %s %s %u %u %u %u %u %u %u %u %u %u %u %u %u %u %u", event_name, client_str, server_str, info.tcpi_rtt, info.tcpi_rttvar, info.tcpi_last_data_sent, info.tcpi_last_data_recv, info.tcpi_snd_cwnd, info.tcpi_snd_ssthresh, info.tcpi_rcv_ssthresh, info.tcpi_unacked, info.tcpi_sacked, info.tcpi_lost, info.tcpi_retrans, info.tcpi_fackets, info.tcpi_total_retrans, info.tcpi_data_segs_in, info.tcpi_data_segs_= out, This is what linux 5.11 now can get back to you. Anyone see anything exceptionally useful worth logging here? __u8 tcpi_state; __u8 tcpi_ca_state; __u8 tcpi_retransmits; __u8 tcpi_probes; __u8 tcpi_backoff; __u8 tcpi_options; __u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; __u8 tcpi_delivery_rate_app_limited:1, tcpi_fastopen_client_fail= :2; __u32 tcpi_rto; __u32 tcpi_ato; __u32 tcpi_snd_mss; __u32 tcpi_rcv_mss; __u32 tcpi_unacked; __u32 tcpi_sacked; __u32 tcpi_lost; __u32 tcpi_retrans; __u32 tcpi_fackets; /* Times. */ __u32 tcpi_last_data_sent; __u32 tcpi_last_ack_sent; /* Not remembered, sorry. */ __u32 tcpi_last_data_recv; __u32 tcpi_last_ack_recv; /* Metrics. */ __u32 tcpi_pmtu; __u32 tcpi_rcv_ssthresh; __u32 tcpi_rtt; __u32 tcpi_rttvar; __u32 tcpi_snd_ssthresh; __u32 tcpi_snd_cwnd; __u32 tcpi_advmss; __u32 tcpi_reordering; __u32 tcpi_rcv_rtt; __u32 tcpi_rcv_space; __u32 tcpi_total_retrans; __u64 tcpi_pacing_rate; __u64 tcpi_max_pacing_rate; __u64 tcpi_bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAck= ed */ __u64 tcpi_bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived */ __u32 tcpi_segs_out; /* RFC4898 tcpEStatsPerfSegsOut */ __u32 tcpi_segs_in; /* RFC4898 tcpEStatsPerfSegsIn */ __u32 tcpi_notsent_bytes; __u32 tcpi_min_rtt; __u32 tcpi_data_segs_in; /* RFC4898 tcpEStatsDataSegsIn */ __u32 tcpi_data_segs_out; /* RFC4898 tcpEStatsDataSegsOut */ __u64 tcpi_delivery_rate; __u64 tcpi_busy_time; /* Time (usec) busy sending data */ __u64 tcpi_rwnd_limited; /* Time (usec) limited by receive wind= ow */ __u64 tcpi_sndbuf_limited; /* Time (usec) limited by send buffer = */ __u32 tcpi_delivered; __u32 tcpi_delivered_ce; __u64 tcpi_bytes_sent; /* RFC4898 tcpEStatsPerfHCDataOctetsOu= t */ __u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans = */ __u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */ __u32 tcpi_reord_seen; /* reordering events seen */ __u32 tcpi_rcv_ooopack; /* Out-of-order packets received */ __u32 tcpi_snd_wnd; /* peer's advertised receive window af= ter * scaling (bytes) */ --=20 Latest Podcast: https://www.linkedin.com/feed/update/urn:li:activity:6791014284936785920/ Dave T=C3=A4ht CTO, TekLibre, LLC