-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Heartbeat event format #4091
Merged
Merged
Heartbeat event format #4091
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,132 +1,283 @@ | ||
- key: common | ||
title: "Common monitoring fields" | ||
title: "Common Heartbeat Monitor" | ||
description: | ||
fields: | ||
- name: type | ||
type: keyword | ||
required: true | ||
description: > | ||
The monitor type. | ||
|
||
- name: monitor | ||
type: keyword | ||
type: group | ||
description: > | ||
Monitor job name. | ||
Common monitor fields. | ||
|
||
- name: scheme | ||
type: keyword | ||
description: > | ||
Address url scheme. For example `tcp`, `ssl`, `http`, and `https`. | ||
fields: | ||
- name: type | ||
type: keyword | ||
description: > | ||
The monitor type. | ||
|
||
- name: host | ||
type: keyword | ||
description: > | ||
Hostname of service being monitored. Can be missing, if service is | ||
monitored by IP. | ||
- name: name | ||
type: keyword | ||
description: > | ||
The monitors configured name | ||
|
||
- name: port | ||
type: integer | ||
description: > | ||
Service port number. | ||
- name: id | ||
type: keyword | ||
description: > | ||
The monitors full job ID as used by heartbeat. | ||
|
||
- name: url | ||
type: text | ||
description: > | ||
Service url used by monitor. | ||
- name: duration | ||
type: group | ||
description: total monitoring test duration | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- name: ip | ||
type: ip | ||
description: > | ||
IP of service being monitored. If service is monitored by hostname, | ||
the `ip` field contains the resolved ip address for the current host. | ||
- name: scheme | ||
type: keyword | ||
description: > | ||
Address url scheme. For example `tcp`, `tls`, `http`, and `https`. | ||
|
||
- name: duration | ||
type: group | ||
description: total monitoring test duration | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
- name: host | ||
type: keyword | ||
description: > | ||
Hostname of service being monitored. Can be missing, if service is | ||
monitored by IP. | ||
|
||
- name: resolve_rtt | ||
type: group | ||
description: Duration required to resolve an IP from hostname. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
- name: ip | ||
type: ip | ||
description: > | ||
IP of service being monitored. If service is monitored by hostname, | ||
the `ip` field contains the resolved ip address for the current host. | ||
|
||
- name: icmp_rtt | ||
type: group | ||
description: ICMP Echo Request and Reply round trip time | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
- name: status | ||
required: true | ||
type: keyword | ||
description: > | ||
Indicator if monitor could validate the service to be available. | ||
|
||
- name: tcp_connect_rtt | ||
- key: resolve | ||
title: "Host Lookup" | ||
description: | ||
fields: | ||
- name: resolve | ||
type: group | ||
description: > | ||
Duration required to establish a TCP connection based on already | ||
available IP address. | ||
Host lookup fields. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
- name: host | ||
type: keyword | ||
description: > | ||
Hostname of service being monitored. | ||
|
||
- name: ip | ||
type: ip | ||
description: > | ||
IP address found for the given host. | ||
|
||
- name: socks5_connect_rtt | ||
- name: rtt | ||
type: group | ||
description: Duration required to resolve an IP from hostname. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- key: icmp | ||
title: "ICMP" | ||
description: | ||
fields: | ||
- name: icmp | ||
type: group | ||
description: > | ||
Time required to establish a connection via SOCKS5 to endpoint based on available | ||
connection to SOCKS5 proxy. | ||
IP ping fields. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
- name: requests | ||
type: integer | ||
description: > | ||
Number if ICMP EchoRequests send. | ||
|
||
- name: tls_handshake_rtt | ||
- name: rtt | ||
type: group | ||
description: ICMP Echo Request and Reply round trip time | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- key: tcp | ||
title: "TCP Layer" | ||
description: | ||
fields: | ||
- name: tcp | ||
type: group | ||
description: > | ||
Time required to finish TLS handshake based on already available network | ||
connection. | ||
TCP network layer related fields. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
- name: port | ||
type: integer | ||
description: > | ||
Service port number. | ||
|
||
- name: rtt | ||
type: group | ||
description: > | ||
TCP layer round trip times. | ||
fields: | ||
- name: connect | ||
type: group | ||
description: > | ||
Duration required to establish a TCP connection based on already | ||
available IP address. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- name: validate | ||
type: group | ||
description: > | ||
Duration of validation step based on existing TCP connection. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- name: http_rtt | ||
- key: socks5 | ||
title: "SOCKS5 Proxy" | ||
description: | ||
fields: | ||
- name: socks5 | ||
type: group | ||
description: > | ||
Time required between sending the HTTP request and first by from HTTP | ||
response being read. Duration based on already available network connection. | ||
SOCKS5 proxy related fields: | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
- name: rtt | ||
type: group | ||
description: > | ||
TLS layer round trip times. | ||
fields: | ||
- name: connect | ||
type: group | ||
description: > | ||
Time required to establish a connection via SOCKS5 to endpoint | ||
based on available connection to SOCKS5 proxy. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
|
||
- name: validate_rtt | ||
- key: tls | ||
title: "TLS Encryption Layer" | ||
description: | ||
fields: | ||
- name: tls | ||
type: group | ||
description: > | ||
Time required for validating the connection if connection checks are configured. | ||
TLS layer related fields. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
- name: rtt | ||
type: group | ||
description: > | ||
TLS layer round trip times. | ||
fields: | ||
- name: handshake | ||
type: group | ||
description: > | ||
Time required to finish TLS handshake based on already available network | ||
connection. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- name: response | ||
- key: http | ||
title: "HTTP Monitor" | ||
description: | ||
fields: | ||
- name: http | ||
type: group | ||
description: > | ||
Service response parameters. | ||
|
||
HTTP related fields. | ||
fields: | ||
- name: status | ||
type: integer | ||
- name: url | ||
type: text | ||
description: > | ||
Response status code. | ||
Service url used by monitor. | ||
|
||
- name: up | ||
required: true | ||
type: boolean | ||
description: > | ||
Boolean indicator if monitor could validate the service to be available. | ||
- name: response | ||
type: group | ||
description: > | ||
Service response parameters. | ||
fields: | ||
- name: status | ||
type: integer | ||
description: > | ||
Response status code. | ||
- name: rtt | ||
type: group | ||
description: > | ||
HTTP layer round trip times. | ||
fields: | ||
- name: validate | ||
type: group | ||
description: | | ||
Duration between first byte of HTTP request being written and | ||
response being processed by validator. Duration based on already | ||
available network connection. | ||
|
||
Note: if validator is not reading body or only a prefix, this | ||
number does not fully represent the total time needed | ||
to read the body. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- name: validate_body | ||
type: group | ||
description: | | ||
Duration of validator required to read and validate the response | ||
body. | ||
|
||
Note: if validator is not reading body or only a prefix, this | ||
number does not fully represent the total time needed | ||
to read the body. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- name: write_request | ||
type: group | ||
description: | ||
Duration of sending the complete HTTP request. Duration based on | ||
already available network connection. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- name: response_header | ||
type: group | ||
description: | ||
Time required between sending the start of sending the HTTP | ||
request and first by from HTTP response being read. Duration | ||
based on already available network connection. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds | ||
|
||
- name: total | ||
type: group | ||
description: | | ||
Duration required to process the HTTP transaction. Starts with | ||
the initial TCP connection attempt. Ends with after validator | ||
did check the response. | ||
|
||
Note: if validator is not reading body or only a prefix, this | ||
number does not fully represent the total time needed. | ||
fields: | ||
- name: us | ||
type: long | ||
description: Duration in microseconds |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Normally we use a
>
. I assume|
also works?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh, oversight from my side. in YAML one can use
>
,>-
or|
.>
: folded-style. Replace newlines with space. Multiple blank lines are replaced with newline (or space in some implementations)|
: literal block. Keeps newlines and blank lines.I wanted to enforce the newline (or better blank line?) before "Note:" in the hopes of the asciidoc putting the note in a separate new line. That's why I used
|
.If I remember correctly
>-
replaces a blank line (\n\n
) by one newline (\n
).