Current File : //proc/thread-self/root/usr/share/doc/bpfcc-tools/examples/doc/tcpcong_example.txt
Demonstrations of tcpcong, the Linux eBPF/bcc version.

This tool traces linux kernel's tcp congestion control status change functions,
then calculate duration of every status and record it, at last prints it as 
tables or histogram, which can be used for evaluating the tcp congestion 
algorithm's performance.

For example:

./tcpcong 
Tracing tcp congestion control status duration... Hit Ctrl-C to end.
^C
LAddrPort            RAddrPort             Open_ms Dod_ms Rcov_ms Cwr_ms  Los_ms Chgs 
192.168.219.3/34968   192.168.219.4/19230   884     12     102     507     0      2721
192.168.219.3/34976   192.168.219.4/19230   869     12     133     490     0      2737
192.168.219.3/34982   192.168.219.4/19230   807     0      0       699     0      3158
192.168.219.3/34988   192.168.219.4/19230   892     16     88      508     0      2540
192.168.219.3/38946   192.168.219.4/19229   894     13     97      500     0      2697
192.168.219.3/38950   192.168.219.4/19229   840     10     73      579     1      1840
192.168.219.3/38970   192.168.219.4/19229   862     17     91      534     0      2339
192.168.219.3/38982   192.168.219.4/19229   812     13     92      587     0      2102
192.168.219.3/39070   192.168.219.1/19225   855     7      61      580     0      2826
192.168.219.3/39098   192.168.219.1/19225   880     8      47      568     0      2557
192.168.219.3/39112   192.168.219.1/19225   674     2      10      819     0      2867
192.168.219.3/39120   192.168.219.1/19225   757     1      11      736     0      2978
192.168.219.3/41146   192.168.219.1/19227   736     1      10      758     0      2972
192.168.219.3/41162   192.168.219.1/19227   662     2      10      830     0      2889
192.168.219.3/41178   192.168.219.1/19227   646     2      11      846     0      2858
192.168.219.3/41192   192.168.219.1/19227   812     9      67      615     0      2204
192.168.219.3/43856   192.168.219.2/19225   745     1      5       754     0      3067
192.168.219.3/43858   192.168.219.2/19225   827     4      36      636     0      2130
192.168.219.3/43872   192.168.219.2/19225   739     0      2       764     0      3035
192.168.219.3/43880   192.168.219.2/19225   747     0      3       756     0      3144
192.168.219.3/47230   192.168.219.2/19227   830     4      38      632     0      2554
192.168.219.3/47242   192.168.219.2/19227   782     3      32      687     0      2136
192.168.219.3/47272   192.168.219.2/19227   611     1      3       889     0      2629
192.168.219.3/47294   192.168.219.2/19227   832     3      38      630     0      2631
192.168.219.3/49716   192.168.219.2/19226   846     4      44      610     0      2562
192.168.219.3/49746   192.168.219.2/19226   765     0      4       736     0      2998
192.168.219.3/49760   192.168.219.2/19226   812     2      47      644     0      2273
192.168.219.3/49766   192.168.219.2/19226   724     0      2       779     0      3106
192.168.219.3/54076   192.168.219.1/19226   690     1      9       804     0      2939
192.168.219.3/54096   192.168.219.1/19226   715     2      10      778     0      2974
192.168.219.3/54114   192.168.219.1/19226   878     6      61      558     0      2742
192.168.219.3/54120   192.168.219.1/19226   738     0      9       757     0      2959
192.168.219.3/60926   192.168.219.4/19228   711     11     80      702     0      1870
192.168.219.3/60930   192.168.219.4/19228   785     0      0       720     0      3325
192.168.219.3/60942   192.168.219.4/19228   762     0      1       743     0      3342
192.168.219.3/60948   192.168.219.4/19228   877     11     102     514     0      2654

The example shows all tcp socket's congestion status duration for milliseconds,
open_ms column is the duration of tcp connection in open status whose cwnd can
increase; dod_ms column is the duration of tcp connection in disorder status 
who receives disordered packet; rcov_ms column is the duration of tcp 
connection in recovery status who receives 3 duplicated acks; cwr_ms column 
is the duration of tcp connection who receives explicitly congest notifier and
two acks to reduce the cwnd. the last column chgs prints total status change 
number of the socket.

An interval can be provided, and also optionally a count. Eg, printing output
every 1 second, and including timestamps (-T):
./tcpcong -T 1 3 
Tracing tcp congestion control status duration... Hit Ctrl-C to end.

07:37:55
LAddrPort            RAddrPort             Open_ms Dod_ms Rcov_ms Cwr_ms  Los_ms Chgs 
192.168.219.3/34968   192.168.219.4/19230   742     15     82      311     0      1678
192.168.219.3/34976   192.168.219.4/19230   700     12     98      340     0      1965
192.168.219.3/34982   192.168.219.4/19230   634     0      1       516     0      2471
192.168.219.3/34988   192.168.219.4/19230   692     12     94      354     0      1941
192.168.219.3/38946   192.168.219.4/19229   722     12     90      323     0      2006
192.168.219.3/38950   192.168.219.4/19229   420     7      264     439     1      951
192.168.219.3/38970   192.168.219.4/19229   724     14     90      323     0      1986
192.168.219.3/38982   192.168.219.4/19229   686     13     87      365     0      1675
192.168.219.3/39070   192.168.219.1/19225   653     5      46      446     0      1998
192.168.219.3/39098   192.168.219.1/19225   667     4      38      440     0      2098
192.168.219.3/39112   192.168.219.1/19225   606     0      1       543     0      2146
192.168.219.3/39120   192.168.219.1/19225   492     0      205     453     0      1916
192.168.219.3/41146   192.168.219.1/19227   583     0      3       564     0      2332
192.168.219.3/41162   192.168.219.1/19227   536     0      1       613     0      2192
192.168.219.3/41178   192.168.219.1/19227   499     0      2       649     0      2064
192.168.219.3/41192   192.168.219.1/19227   622     6      34      488     0      1660
192.168.219.3/43856   192.168.219.2/19225   555     0      1       593     0      2359
192.168.219.3/43858   192.168.219.2/19225   618     3      28      502     0      1773
192.168.219.3/43872   192.168.219.2/19225   558     0      0       592     0      2318
192.168.219.3/43880   192.168.219.2/19225   580     0      1       569     0      2303
192.168.219.3/47230   192.168.219.2/19227   646     1      18      485     0      1776
192.168.219.3/47242   192.168.219.2/19227   634     0      20      495     0      1582
192.168.219.3/47272   192.168.219.2/19227   463     0      1       687     0      1854
192.168.219.3/47294   192.168.219.2/19227   636     2      27      486     0      1901
192.168.219.3/49716   192.168.219.2/19226   646     2      28      475     0      1832
192.168.219.3/49746   192.168.219.2/19226   583     0      0       567     0      2333
192.168.219.3/49760   192.168.219.2/19226   628     2      26      495     0      1755
192.168.219.3/49766   192.168.219.2/19226   558     0      0       592     0      2412
192.168.219.3/54076   192.168.219.1/19226   581     0      2       567     0      2042
192.168.219.3/54096   192.168.219.1/19226   554     0      2       594     0      2239
192.168.219.3/54114   192.168.219.1/19226   685     4      33      427     0      1859
192.168.219.3/54120   192.168.219.1/19226   611     0      3       537     0      2322
192.168.219.3/60926   192.168.219.4/19228   681     20     101     347     0      1636
192.168.219.3/60930   192.168.219.4/19228   616     0      1       532     0      2310
192.168.219.3/60942   192.168.219.4/19228   607     0      1       543     0      2433
192.168.219.3/60948   192.168.219.4/19228   597     11     76      293     0      1641

07:37:57
LAddrPort            RAddrPort             Open_ms Dod_ms Rcov_ms Cwr_ms  Los_ms Chgs 
192.168.219.3/34968   192.168.219.4/19230   469     9      255     265     0      1305
192.168.219.3/34976   192.168.219.4/19230   580     11     91      316     0      1916
192.168.219.3/34982   192.168.219.4/19230   566     0      0       433     0      2092
192.168.219.3/34988   192.168.219.4/19230   583     9      63      345     0      1871
192.168.219.3/38946   192.168.219.4/19229   449     16     69      464     0      1425
192.168.219.3/38950   192.168.219.4/19229   569     10     68      349     0      1848
192.168.219.3/38970   192.168.219.4/19229   573     20     66      339     0      1839
192.168.219.3/38982   192.168.219.4/19229   553     9      60      378     0      1483
192.168.219.3/39070   192.168.219.1/19225   471     3      243     280     0      1279
192.168.219.3/39098   192.168.219.1/19225   598     4      37      355     0      1717
192.168.219.3/39112   192.168.219.1/19225   522     0      1       476     0      1816
192.168.219.3/39120   192.168.219.1/19225   518     0      1       480     0      2031
192.168.219.3/41146   192.168.219.1/19227   500     0      3       497     0      1996
192.168.219.3/41162   192.168.219.1/19227   448     0      2       548     0      1849
192.168.219.3/41178   192.168.219.1/19227   441     0      4       554     0      1693
192.168.219.3/41192   192.168.219.1/19227   555     4      34      405     0      1341
192.168.219.3/43856   192.168.219.2/19225   471     0      3       525     0      2118
192.168.219.3/43858   192.168.219.2/19225   541     1      25      430     0      1446
192.168.219.3/43872   192.168.219.2/19225   483     0      1       516     0      2044
192.168.219.3/43880   192.168.219.2/19225   492     0      0       507     0      2073
192.168.219.3/47230   192.168.219.2/19227   581     3      29      385     0      1453
192.168.219.3/47242   192.168.219.2/19227   571     2      22      403     0      1292
192.168.219.3/47272   192.168.219.2/19227   393     0      0       604     0      1516
192.168.219.3/47294   192.168.219.2/19227   575     2      27      393     0      1660
192.168.219.3/49716   192.168.219.2/19226   584     1      25      389     0      1582
192.168.219.3/49746   192.168.219.2/19226   513     0      0       486     0      2017
192.168.219.3/49760   192.168.219.2/19226   560     1      24      412     0      1370
192.168.219.3/49766   192.168.219.2/19226   474     0      0       525     0      2121
192.168.219.3/54076   192.168.219.1/19226   504     0      1       494     0      1724
192.168.219.3/54096   192.168.219.1/19226   490     0      2       507     0      1906
192.168.219.3/54114   192.168.219.1/19226   611     3      25      360     0      1560
192.168.219.3/54120   192.168.219.1/19226   520     0      1       479     0      2010
192.168.219.3/60926   192.168.219.4/19228   527     9      53      408     0      1473
192.168.219.3/60930   192.168.219.4/19228   551     0      0       448     0      1951
192.168.219.3/60942   192.168.219.4/19228   538     0      0       461     0      2038
192.168.219.3/60948   192.168.219.4/19228   511     9      68      295     1      1701

07:37:58
LAddrPort            RAddrPort             Open_ms Dod_ms Rcov_ms Cwr_ms  Los_ms Chgs
192.168.219.3/34968   192.168.219.4/19230   293     1      226     211     0      755
192.168.219.3/34976   192.168.219.4/19230   424     4      36      354     0      1489
192.168.219.3/34982   192.168.219.4/19230   552     0      0       446     0      2249
192.168.219.3/34988   192.168.219.4/19230   493     4      42      327     0      1715
192.168.219.3/38946   192.168.219.4/19229   425     4      37      340     41     1478
192.168.219.3/38950   192.168.219.4/19229   465     5      45      335     0      1586
192.168.219.3/38970   192.168.219.4/19229   531     5      41      420     0      1863
192.168.219.3/38982   192.168.219.4/19229   525     5      41      427     0      1625
192.168.219.3/39070   192.168.219.1/19225   576     4      44      374     0      1787
192.168.219.3/39098   192.168.219.1/19225   596     6      41      355     0      1782
192.168.219.3/39112   192.168.219.1/19225   501     0      3       494     0      1887
192.168.219.3/39120   192.168.219.1/19225   511     0      4       483     0      2070
192.168.219.3/41146   192.168.219.1/19227   503     0      3       492     0      2068
192.168.219.3/41162   192.168.219.1/19227   449     1      3       545     0      1962
192.168.219.3/41178   192.168.219.1/19227   445     0      5       546     0      1907
192.168.219.3/41192   192.168.219.1/19227   436     4      248     309     0      1208
192.168.219.3/43856   192.168.219.2/19225   480     0      0       519     0      2108
192.168.219.3/43858   192.168.219.2/19225   534     3      24      437     0      1644
192.168.219.3/43872   192.168.219.2/19225   480     0      0       519     0      2068
192.168.219.3/43880   192.168.219.2/19225   490     0      0       508     0      2083
192.168.219.3/47230   192.168.219.2/19227   561     3      22      411     0      1556
192.168.219.3/47242   192.168.219.2/19227   550     2      22      424     0      1485
192.168.219.3/47272   192.168.219.2/19227   398     0      0       601     0      1537
192.168.219.3/47294   192.168.219.2/19227   551     1      19      427     0      1712
192.168.219.3/49716   192.168.219.2/19226   570     1      20      405     0      1712
192.168.219.3/49746   192.168.219.2/19226   494     0      0       503     0      2052
192.168.219.3/49760   192.168.219.2/19226   547     1      18      431     0      1673
192.168.219.3/49766   192.168.219.2/19226   497     0      0       501     0      1983
192.168.219.3/54076   192.168.219.1/19226   495     0      4       499     0      1849
192.168.219.3/54096   192.168.219.1/19226   485     0      4       508     0      2037
192.168.219.3/54114   192.168.219.1/19226   603     5      37      354     0      1671
192.168.219.3/54120   192.168.219.1/19226   516     0      1       482     0      2047
192.168.219.3/60926   192.168.219.4/19228   543     5      39      412     0      1708
192.168.219.3/60930   192.168.219.4/19228   530     0      0       469     0      2096
192.168.219.3/60942   192.168.219.4/19228   510     0      0       489     0      2234
192.168.219.3/60948   192.168.219.4/19228   565     4      61      367     0      1956

An local port and remote port can be specified, and also optionally a count.
Eg printing output every 1 second, and including timestamps (-T) for local
ports 30000-40000 and remote ports 19225-19227:
./tcpcong -T -L 30000-40000 -R 19225-19227 1 3    
Tracing tcp congestion control status duration... Hit Ctrl-C to end.

07:39:11
LAddrPort            RAddrPort             Open_ms Dod_ms Rcov_ms Cwr_ms  Los_ms Chgs 
192.168.219.3/39070   192.168.219.1/19225   668     4      32      455     0      1706
192.168.219.3/39098   192.168.219.1/19225   692     4      38      424     0      2110
192.168.219.3/39112   192.168.219.1/19225   564     0      2       593     0      2291
192.168.219.3/39120   192.168.219.1/19225   599     0      4       555     0      2387

07:39:12
LAddrPort            RAddrPort             Open_ms Dod_ms Rcov_ms Cwr_ms  Los_ms Chgs 
192.168.219.3/39070   192.168.219.1/19225   576     3      27      391     0      1525
192.168.219.3/39098   192.168.219.1/19225   580     3      36      379     0      1893
192.168.219.3/39112   192.168.219.1/19225   474     1      10      512     0      2009
192.168.219.3/39120   192.168.219.1/19225   505     1      9       483     0      2022

07:39:13
LAddrPort            RAddrPort             Open_ms Dod_ms Rcov_ms Cwr_ms  Los_ms Chgs 
192.168.219.3/39070   192.168.219.1/19225   546     6      27      418     0      1659
192.168.219.3/39098   192.168.219.1/19225   564     4      40      390     0      1937
192.168.219.3/39112   192.168.219.1/19225   479     0      3       514     0      2008
192.168.219.3/39120   192.168.219.1/19225   515     0      4       479     0      1982

The (-u) option can be specified for recording the duration as miroseconds.
Eg printing output every 1 second, and including timestamps (-T) and 
microseconds (-u) for local ports 30000-40000 and remote ports 19225-19227:
./tcpcong -T -u -L 30000-40000 -R 19225-19227 1 3 
Tracing tcp congestion control status duration... Hit Ctrl-C to end.

07:39:44
LAddrPort            RAddrPort             Open_us Dod_us Rcov_us Cwr_us  Los_us Chgs 
192.168.219.3/39070   192.168.219.1/19225   600971  3232   38601   509796  0      1843
192.168.219.3/39098   192.168.219.1/19225   667184  5585   26285   453575  0      1969
192.168.219.3/39112   192.168.219.1/19225   580982  22     1502    569479  0      2210
192.168.219.3/39120   192.168.219.1/19225   600280  201    955     550752  0      2327

07:39:45
LAddrPort            RAddrPort             Open_us Dod_us Rcov_us Cwr_us  Los_us Chgs 
192.168.219.3/39070   192.168.219.1/19225   567189  2029   25966   404698  0      1612
192.168.219.3/39098   192.168.219.1/19225   597201  2263   24073   376454  0      1578
192.168.219.3/39112   192.168.219.1/19225   500792  846    9297    489264  0      1850
192.168.219.3/39120   192.168.219.1/19225   518700  94     749     480171  0      1967

07:39:46
LAddrPort            RAddrPort             Open_us Dod_us Rcov_us Cwr_us  Los_us Chgs 
192.168.219.3/39070   192.168.219.1/19225   587340  5324   37035   370066  0      1602
192.168.219.3/39098   192.168.219.1/19225   532986  5630   31624   345336  0      1319
192.168.219.3/39112   192.168.219.1/19225   481936  1129   6244    510235  0      1909
192.168.219.3/39120   192.168.219.1/19225   507196  316    6200    485737  0      1957


the ipv6 example with (-u) option can be shown.
Eg printing output every 1 second, and including timestamps (-T) and
microseconds (-u) for local ports 30000-40000 and remote ports 19225-19227:
./tcpcong.py -T -u -L 30000-40000 -R 19225-19227 1 3
Tracing tcp congestion control status duration... Hit Ctrl-C to end.

11:31:55
LAddrPort6                       RAddrPort6                       Open_us Dod_us Rcov_us Cwr_us  Los_us Chgs
fe80::bace:f6ff:fe14:d21c/32810  fe80::bace:f6ff:fe43:fe96/19226  876328  0       0       137957 0      235
fe80::bace:f6ff:fe14:d21c/32812  fe80::bace:f6ff:fe43:fe96/19226  757739  0       0       283114 0      590
fe80::bace:f6ff:fe14:d21c/32814  fe80::bace:f6ff:fe43:fe96/19226  855426  0       0       136134 0      231
fe80::bace:f6ff:fe14:d21c/32816  fe80::bace:f6ff:fe43:fe96/19226  695271  0       0       345443 0      606

11:31:56
LAddrPort6                       RAddrPort6                       Open_us Dod_us Rcov_us Cwr_us  Los_us Chgs
fe80::bace:f6ff:fe14:d21c/32810  fe80::bace:f6ff:fe43:fe96/19226  913925  0       0       81995  0      92
fe80::bace:f6ff:fe14:d21c/32812  fe80::bace:f6ff:fe43:fe96/19226  785024  0       0       202819 0      777
fe80::bace:f6ff:fe14:d21c/32814  fe80::bace:f6ff:fe43:fe96/19226  920963  0       0       80715  0      111
fe80::bace:f6ff:fe14:d21c/32816  fe80::bace:f6ff:fe43:fe96/19226  765172  0       0       222897 0      734

11:31:57
LAddrPort6                       RAddrPort6                       Open_us Dod_us Rcov_us Cwr_us  Los_us Chgs
fe80::bace:f6ff:fe14:d21c/32810  fe80::bace:f6ff:fe43:fe96/19226  839563  0       0       98313  0      149
fe80::bace:f6ff:fe14:d21c/32812  fe80::bace:f6ff:fe43:fe96/19226  534816  0       0       329683 0      495
fe80::bace:f6ff:fe14:d21c/32814  fe80::bace:f6ff:fe43:fe96/19226  841706  103     2404    91273  0      132
fe80::bace:f6ff:fe14:d21c/32816  fe80::bace:f6ff:fe43:fe96/19226  633320  0       0       286584 0      565


The distribution of congestion status duration can be printed as a histogram 
with the -d option and also optionally a count. Eg printing output every 
1 second for microseconds, and including timestamps (-T):
./tcpcong.py -d -u -T 1 2
Tracing tcp congestion control status duration... Hit Ctrl-C to end.

07:40:12

tcp_congest_state = cwr
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 0        |                                        |
         4 -> 7          : 11       |                                        |
         8 -> 15         : 10       |                                        |
        16 -> 31         : 25       |                                        |
        32 -> 63         : 58       |                                        |
        64 -> 127        : 117      |                                        |
       128 -> 255        : 2924     |*******                                 |
       256 -> 511        : 16249    |****************************************|
       512 -> 1023       : 15340    |*************************************   |
      1024 -> 2047       : 786      |*                                       |
      2048 -> 4095       : 24       |                                        |
      4096 -> 8191       : 7        |                                        |
      8192 -> 16383      : 0        |                                        |
     16384 -> 32767      : 0        |                                        |
     32768 -> 65535      : 1        |                                        |
     65536 -> 131071     : 0        |                                        |
    131072 -> 262143     : 1        |                                        |

tcp_congest_state = recovery
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 0        |                                        |
         4 -> 7          : 1        |                                        |
         8 -> 15         : 0        |                                        |
        16 -> 31         : 2        |                                        |
        32 -> 63         : 9        |                                        |
        64 -> 127        : 28       |                                        |
       128 -> 255        : 895      |******************************          |
       256 -> 511        : 1190     |****************************************|
       512 -> 1023       : 384      |************                            |
      1024 -> 2047       : 66       |**                                      |
      2048 -> 4095       : 2        |                                        |
      4096 -> 8191       : 4        |                                        |
      8192 -> 16383      : 2        |                                        |
     16384 -> 32767      : 0        |                                        |
     32768 -> 65535      : 0        |                                        |
     65536 -> 131071     : 0        |                                        |
    131072 -> 262143     : 2        |                                        |

tcp_congest_state = disorder
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 0        |                                        |
         4 -> 7          : 21       |**                                      |
         8 -> 15         : 59       |*****                                   |
        16 -> 31         : 102      |*********                               |
        32 -> 63         : 256      |*************************               |
        64 -> 127        : 409      |****************************************|
       128 -> 255        : 255      |************************                |
       256 -> 511        : 104      |**********                              |
       512 -> 1023       : 8        |                                        |

tcp_congest_state = open
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 11       |                                        |
         4 -> 7          : 266      |                                        |
         8 -> 15         : 319      |                                        |
        16 -> 31         : 396      |*                                       |
        32 -> 63         : 488      |*                                       |
        64 -> 127        : 695      |**                                      |
       128 -> 255        : 4395     |*************                           |
       256 -> 511        : 13329    |****************************************|
       512 -> 1023       : 12727    |**************************************  |
      1024 -> 2047       : 3327     |*********                               |
      2048 -> 4095       : 601      |*                                       |
      4096 -> 8191       : 45       |                                        |
      8192 -> 16383      : 3        |                                        |
     16384 -> 32767      : 1        |                                        |
     32768 -> 65535      : 1        |                                        |

tcp_congest_state = loss
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 0        |                                        |
         4 -> 7          : 0        |                                        |
         8 -> 15         : 0        |                                        |
        16 -> 31         : 0        |                                        |
        32 -> 63         : 0        |                                        |
        64 -> 127        : 0        |                                        |
       128 -> 255        : 1        |****************************************|
       256 -> 511        : 1        |****************************************|
       512 -> 1023       : 0        |                                        |
      1024 -> 2047       : 0        |                                        |
      2048 -> 4095       : 0        |                                        |
      4096 -> 8191       : 0        |                                        |
      8192 -> 16383      : 0        |                                        |
     16384 -> 32767      : 0        |                                        |
     32768 -> 65535      : 1        |****************************************|

07:40:14

tcp_congest_state = cwr
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 7        |                                        |
         4 -> 7          : 162      |                                        |
         8 -> 15         : 591      |*                                       |
        16 -> 31         : 462      |                                        |
        32 -> 63         : 351      |                                        |
        64 -> 127        : 441      |                                        |
       128 -> 255        : 4073     |********                                |
       256 -> 511        : 19188    |****************************************|
       512 -> 1023       : 16127    |*********************************       |
      1024 -> 2047       : 725      |*                                       |
      2048 -> 4095       : 23       |                                        |
      4096 -> 8191       : 3        |                                        |
      8192 -> 16383      : 2        |                                        |
     16384 -> 32767      : 0        |                                        |
     32768 -> 65535      : 4        |                                        |
     65536 -> 131071     : 0        |                                        |
    131072 -> 262143     : 2        |                                        |

tcp_congest_state = recovery
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 0        |                                        |
         4 -> 7          : 3        |                                        |
         8 -> 15         : 16       |                                        |
        16 -> 31         : 22       |                                        |
        32 -> 63         : 37       |*                                       |
        64 -> 127        : 75       |**                                      |
       128 -> 255        : 1082     |*******************************         |
       256 -> 511        : 1364     |****************************************|
       512 -> 1023       : 369      |**********                              |
      1024 -> 2047       : 67       |*                                       |
      2048 -> 4095       : 0        |                                        |
      4096 -> 8191       : 2        |                                        |
      8192 -> 16383      : 0        |                                        |
     16384 -> 32767      : 0        |                                        |
     32768 -> 65535      : 0        |                                        |
     65536 -> 131071     : 0        |                                        |
    131072 -> 262143     : 5        |                                        |

tcp_congest_state = disorder
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 4        |                                        |
         4 -> 7          : 43       |****                                    |
         8 -> 15         : 107      |***********                             |
        16 -> 31         : 145      |***************                         |
        32 -> 63         : 312      |*********************************       |
        64 -> 127        : 370      |****************************************|
       128 -> 255        : 256      |***************************             |
       256 -> 511        : 101      |**********                              |
       512 -> 1023       : 8        |                                        |

tcp_congest_state = open
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 21       |                                        |
         4 -> 7          : 359      |                                        |
         8 -> 15         : 516      |*                                       |
        16 -> 31         : 484      |*                                       |
        32 -> 63         : 522      |*                                       |
        64 -> 127        : 818      |**                                      |
       128 -> 255        : 5081     |*************                           |
       256 -> 511        : 14852    |****************************************|
       512 -> 1023       : 13753    |*************************************   |
      1024 -> 2047       : 3224     |********                                |
      2048 -> 4095       : 598      |*                                       |
      4096 -> 8191       : 41       |                                        |
      8192 -> 16383      : 0        |                                        |
     16384 -> 32767      : 1        |                                        |
     32768 -> 65535      : 0        |                                        |
     65536 -> 131071     : 0        |                                        |
    131072 -> 262143     : 1        |                                        |

tcp_congest_state = loss
     usecs               : count     distribution
         0 -> 1          : 0        |                                        |
         2 -> 3          : 0        |                                        |
         4 -> 7          : 0        |                                        |
         8 -> 15         : 0        |                                        |
        16 -> 31         : 0        |                                        |
        32 -> 63         : 0        |                                        |
        64 -> 127        : 1        |******                                  |
       128 -> 255        : 0        |                                        |
       256 -> 511        : 2        |*************                           |
       512 -> 1023       : 6        |****************************************|
      1024 -> 2047       : 0        |                                        |
      2048 -> 4095       : 0        |                                        |
      4096 -> 8191       : 0        |                                        |
      8192 -> 16383      : 0        |                                        |
     16384 -> 32767      : 0        |                                        |
     32768 -> 65535      : 1        |******                                  |


USAGE:
./tcpcong -h
usage: tcpcong [-h] [-L LOCALPORT] [-R REMOTEPORT] [-T] [-d] [-u]
                  [interval] [outputs]

Summarize tcp socket congestion control status duration

positional arguments:
  interval              output interval, in seconds
  outputs               number of outputs

optional arguments:
  -h, --help            show this help message and exit
  -L LOCALPORT, --localport LOCALPORT
                        trace local ports only
  -R REMOTEPORT, --remoteport REMOTEPORT
                        trace the dest ports only
  -T, --timestamp       include timestamp on output
  -d, --dist            show distributions as histograms
  -u, --microseconds    output in microseconds

examples:
    ./tcpcong                 # show tcp congestion status duration
    ./tcpcong 1 10            # show 1 second summaries, 10 times
    ./tcpcong -L 3000-3006 1  # 1s summaries, local port 3000-3006
    ./tcpcong -R 5000-5005 1  # 1s summaries, remote port 5000-5005
    ./tcpcong -uT 1           # 1s summaries, microseconds, and timestamps
    ./tcpcong -d              # show the duration as histograms
¿Qué es la limpieza dental de perros? - Clínica veterinaria


Es la eliminación del sarro y la placa adherida a la superficie de los dientes mediante un equipo de ultrasonidos que garantiza la integridad de las piezas dentales a la vez que elimina en profundidad cualquier resto de suciedad.

A continuación se procede al pulido de los dientes mediante una fresa especial que elimina la placa bacteriana y devuelve a los dientes el aspecto sano que deben tener.

Una vez terminado todo el proceso, se mantiene al perro en observación hasta que se despierta de la anestesia, bajo la atenta supervisión de un veterinario.

¿Cada cuánto tiempo tengo que hacerle una limpieza dental a mi perro?

A partir de cierta edad, los perros pueden necesitar una limpieza dental anual o bianual. Depende de cada caso. En líneas generales, puede decirse que los perros de razas pequeñas suelen acumular más sarro y suelen necesitar una atención mayor en cuanto a higiene dental.


Riesgos de una mala higiene


Los riesgos más evidentes de una mala higiene dental en los perros son los siguientes:

  • Cuando la acumulación de sarro no se trata, se puede producir una inflamación y retracción de las encías que puede descalzar el diente y provocar caídas.
  • Mal aliento (halitosis).
  • Sarro perros
  • Puede ir a más
  • Las bacterias de la placa pueden trasladarse a través del torrente circulatorio a órganos vitales como el corazón ocasionando problemas de endocarditis en las válvulas. Las bacterias pueden incluso acantonarse en huesos (La osteomielitis es la infección ósea, tanto cortical como medular) provocando mucho dolor y una artritis séptica).

¿Cómo se forma el sarro?

El sarro es la calcificación de la placa dental. Los restos de alimentos, junto con las bacterias presentes en la boca, van a formar la placa bacteriana o placa dental. Si la placa no se retira, al mezclarse con la saliva y los minerales presentes en ella, reaccionará formando una costra. La placa se calcifica y se forma el sarro.

El sarro, cuando se forma, es de color blanquecino pero a medida que pasa el tiempo se va poniendo amarillo y luego marrón.

Síntomas de una pobre higiene dental
La señal más obvia de una mala salud dental canina es el mal aliento.

Sin embargo, a veces no es tan fácil de detectar
Y hay perros que no se dejan abrir la boca por su dueño. Por ejemplo…

Recientemente nos trajeron a la clínica a un perro que parpadeaba de un ojo y decía su dueño que le picaba un lado de la cara. Tenía molestias y dificultad para comer, lo que había llevado a sus dueños a comprarle comida blanda (que suele ser un poco más cara y llevar más contenido en grasa) durante medio año. Después de una exploración oftalmológica, nos dimos cuenta de que el ojo tenía una úlcera en la córnea probablemente de rascarse . Además, el canto lateral del ojo estaba inflamado. Tenía lo que en humanos llamamos flemón pero como era un perro de pelo largo, no se le notaba a simple vista. Al abrirle la boca nos llamó la atención el ver una muela llena de sarro. Le realizamos una radiografía y encontramos una fístula que llegaba hasta la parte inferior del ojo.

Le tuvimos que extraer la muela. Tras esto, el ojo se curó completamente con unos colirios y una lentilla protectora de úlcera. Afortunadamente, la úlcera no profundizó y no perforó el ojo. Ahora el perro come perfectamente a pesar de haber perdido una muela.

¿Cómo mantener la higiene dental de tu perro?
Hay varias maneras de prevenir problemas derivados de la salud dental de tu perro.

Limpiezas de dientes en casa
Es recomendable limpiar los dientes de tu perro semanal o diariamente si se puede. Existe una gran variedad de productos que se pueden utilizar:

Pastas de dientes.
Cepillos de dientes o dedales para el dedo índice, que hacen más fácil la limpieza.
Colutorios para echar en agua de bebida o directamente sobre el diente en líquido o en spray.

En la Clínica Tus Veterinarios enseñamos a nuestros clientes a tomar el hábito de limpiar los dientes de sus perros desde que son cachorros. Esto responde a nuestro compromiso con la prevención de enfermedades caninas.

Hoy en día tenemos muchos clientes que limpian los dientes todos los días a su mascota, y como resultado, se ahorran el dinero de hacer limpiezas dentales profesionales y consiguen una mejor salud de su perro.


Limpiezas dentales profesionales de perros y gatos

Recomendamos hacer una limpieza dental especializada anualmente. La realizamos con un aparato de ultrasonidos que utiliza agua para quitar el sarro. Después, procedemos a pulir los dientes con un cepillo de alta velocidad y una pasta especial. Hacemos esto para proteger el esmalte.

La frecuencia de limpiezas dentales necesaria varía mucho entre razas. En general, las razas grandes tienen buena calidad de esmalte, por lo que no necesitan hacerlo tan a menudo e incluso pueden pasarse la vida sin requerir una limpieza. Sin embargo, razas pequeñas como el Yorkshire o el Maltés, deben hacérselas todos los años desde cachorros si se quiere conservar sus piezas dentales.

Otro factor fundamental es la calidad del pienso. Algunas marcas han diseñado croquetas que limpian la superficie del diente y de la muela al masticarse.

Ultrasonido para perros

¿Se necesita anestesia para las limpiezas dentales de perros y gatos?

La limpieza dental en perros no es una técnica que pueda practicarse sin anestesia general , aunque hay veces que los propietarios no quieren anestesiar y si tiene poco sarro y el perro es muy bueno se puede intentar…… , pero no se va a poder pulir ni acceder a todas la zona de la boca …. Además los limpiadores dentales van a irrigar agua y hay riesgo de aspiración a vías respiratorias si no se realiza una anestesia correcta con intubación traqueal . En resumen , sin anestesia no se va hacer una correcta limpieza dental.

Tampoco sirve la sedación ya que necesitamos que el animal esté totalmente quieto, y el veterinario tenga un acceso completo a todas sus piezas dentales y encías.

Alimentos para la limpieza dental

Hay que tener cierto cuidado a la hora de comprar determinados alimentos porque no todos son saludables. Algunos tienen demasiado contenido graso, que en exceso puede causar problemas cardiovasculares y obesidad.

Los mejores alimentos para los dientes son aquellos que están elaborados por empresas farmacéuticas y llevan componentes químicos con tratamientos específicos para el diente del perro. Esto implica no solo limpieza a través de la acción mecánica de morder sino también un tratamiento antibacteriano para prevenir el sarro.

Conclusión

Si eres como la mayoría de dueños, por falta de tiempo , es probable que no estés prestando la suficiente atención a la limpieza dental de tu perro. Por eso te animamos a que comiences a limpiar los dientes de tu perro y consideres atender a su higiene bucal con frecuencia.

Estas simples medidas pueden conllevar a que tu perro tenga una vida más larga y mucho más saludable.

Si te resulta imposible introducir un cepillo de dientes a tu perro en la boca, pásate con él por clínica Tus Veterinarios y te explicamos cómo hacerlo.

Necesitas hacer una limpieza dental profesional a tu mascota?
Llámanos al 622575274 o contacta con nosotros

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¡Hola!