Skip to content

Conversation

@masaori335
Copy link
Contributor

Similar to HTTP Slow Log, record and print HTTP/2 milestones to figure out bottleneck.

Prefix of logs are

  • session : [CONNECTION ID]
  • stream : [CONNECTION ID] [STREAM ID] [HTTP SM ID]

The first field (open) is absolute timestamp to compare with other logs. Other fields are relative time from the open field.

Example of milestones

[Jul 25 15:45:59.002] [ET_NET 0] NOTE: [0] [1] [0] H2 Stream Milestones: open: 1564037158335 dec_hdrs: 0.000 txn: 0.000 enc_hdrs: 0.228 tx_hdrs: 0.228 tx_data: 0.232 close: 0.666
[Jul 25 15:45:59.177] [ET_NET 0] NOTE: [0] [3] [1] H2 Stream Milestones: open: 1564037159014 dec_hdrs: 0.000 txn: 0.000 enc_hdrs: 0.063 tx_hdrs: 0.063 tx_data: 0.063 close: 0.161
[Jul 25 15:45:59.314] [ET_NET 0] NOTE: [0] [5] [2] H2 Stream Milestones: open: 1564037159190 dec_hdrs: 0.000 txn: 0.000 enc_hdrs: 0.061 tx_hdrs: 0.061 tx_data: 0.061 close: 0.123
[Jul 25 15:45:59.324] [ET_NET 0] NOTE: [0] H2 SSN Milestones: open: 1564037158333 close: 0.990

We might want to add more milestones. Let's do it on separate PR.

@masaori335 masaori335 added this to the 9.0.0 milestone Jul 25, 2019
@masaori335 masaori335 self-assigned this Jul 25, 2019
@bryancall
Copy link
Contributor

We should follow the same design as slow log, naming the configuration option similar and having it a threshold vs on or off Alternatively this could be done with the normal logging.

@masaori335 masaori335 changed the title Add milestones for HTTP/2 Session & Stream Add slow logs for HTTP/2 Connection & Stream Jul 26, 2019
@masaori335
Copy link
Contributor Author

To follow HTTP/1.1 slow log design, add configs for threshold.

  • proxy.config.http2.connection.slow.log.threshold
  • proxy.config.http2.stream.slow.log.threshold

@masaori335 masaori335 merged commit 0d2ad23 into apache:master Aug 1, 2019
@zwoop zwoop modified the milestones: 9.0.0, 8.1.0 Mar 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants