forked from netdata/netdata
-
Notifications
You must be signed in to change notification settings - Fork 0
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
[pull] master from netdata:master #316
Merged
Merged
Conversation
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
* cleanup stream handshake reasons; introduce pulse-parents * mark function params as not used * more work towards pulse parents * added 2 charts with status per node (inbound, outbound) * log the reason the receiver left, when the sender is disconnected * fix receiver exit reasons * reject a duplicate streaming request with a different hostname * log already connected on children * do not retry too frequently * fix log * insist on connecting when the parent says already connected, but it is not in the stream path * fix last commit * log already connected on parent * added streaming events charts * streaming events are available in extended pulse * archived to stale * unify aclk connection status and connection failures/disconnection reasons
Reviewer's Guide by SourceryThis pull request introduces a new enum Class diagram for HTTPS client response codesclassDiagram
class https_client_resp_t {
<<enumeration>>
HTTPS_CLIENT_RESP_OK
HTTPS_CLIENT_RESP_UNKNOWN_ERROR
HTTPS_CLIENT_RESP_NO_MEM
HTTPS_CLIENT_RESP_NONBLOCK_FAILED
HTTPS_CLIENT_RESP_PROXY_NOT_200
HTTPS_CLIENT_RESP_NO_SSL_CTX
HTTPS_CLIENT_RESP_NO_SSL_VERIFY_PATHS
HTTPS_CLIENT_RESP_NO_SSL_NEW
HTTPS_CLIENT_RESP_NO_TLS_SNI
HTTPS_CLIENT_RESP_SSL_CONNECT_FAILED
HTTPS_CLIENT_RESP_SSL_START_FAILED
HTTPS_CLIENT_RESP_UNKNOWN_REQUEST_TYPE
HTTPS_CLIENT_RESP_HEADER_WRITE_FAILED
HTTPS_CLIENT_RESP_PAYLOAD_WRITE_FAILED
HTTPS_CLIENT_RESP_POLL_ERROR
HTTPS_CLIENT_RESP_TIMEOUT
HTTPS_CLIENT_RESP_READ_ERROR
HTTPS_CLIENT_RESP_PARSE_ERROR
HTTPS_CLIENT_RESP_ENV_AGENT_NOT_CLAIMED
HTTPS_CLIENT_RESP_ENV_NOT_200
HTTPS_CLIENT_RESP_ENV_EMPTY
HTTPS_CLIENT_RESP_ENV_NOT_JSON
HTTPS_CLIENT_RESP_OTP_CHALLENGE_NOT_200
HTTPS_CLIENT_RESP_OTP_CHALLENGE_INVALID
HTTPS_CLIENT_RESP_OTP_PASSWORD_NOT_201
HTTPS_CLIENT_RESP_OTP_PASSWORD_EMPTY
HTTPS_CLIENT_RESP_OTP_PASSWORD_NOT_JSON
HTTPS_CLIENT_RESP_OTP_AGENT_NOT_CLAIMED
HTTPS_CLIENT_RESP_OTP_CHALLENGE_DECRYPTION_FAILED
HTTPS_CLIENT_RESP_MAX
}
note for https_client_resp_t "New enumeration for HTTPS client responses"
Class diagram for stream handshake error codesclassDiagram
class STREAM_HANDSHAKE {
<<enumeration>>
STREAM_HANDSHAKE_OK_V3
STREAM_HANDSHAKE_OK_V2
STREAM_HANDSHAKE_OK_V1
STREAM_HANDSHAKE_NEVER
STREAM_HANDSHAKE_CONNECT_HANDSHAKE_FAILED
STREAM_HANDSHAKE_PARENT_IS_LOCALHOST
STREAM_HANDSHAKE_PARENT_NODE_ALREADY_CONNECTED
STREAM_HANDSHAKE_PARENT_DENIED_ACCESS
STREAM_HANDSHAKE_CONNECT_SEND_TIMEOUT
STREAM_HANDSHAKE_CONNECT_RECEIVE_TIMEOUT
STREAM_HANDSHAKE_CONNECT_INVALID_CERTIFICATE
STREAM_HANDSHAKE_CONNECT_SSL_ERROR
STREAM_HANDSHAKE_CONNECTION_FAILED
STREAM_HANDSHAKE_PARENT_BUSY_TRY_LATER
STREAM_HANDSHAKE_PARENT_INTERNAL_ERROR
STREAM_HANDSHAKE_PARENT_IS_INITIALIZING
STREAM_HANDSHAKE_RCV_DISCONNECT_PARSER_FAILED
STREAM_HANDSHAKE_RCV_DISCONNECT_STALE_RECEIVER
STREAM_HANDSHAKE_RCV_DECOMPRESSION_FAILED
STREAM_HANDSHAKE_DISCONNECT_SIGNALED_TO_STOP
STREAM_HANDSHAKE_DISCONNECT_SHUTDOWN
STREAM_HANDSHAKE_DISCONNECT_SOCKET_ERROR
STREAM_HANDSHAKE_DISCONNECT_TIMEOUT
STREAM_HANDSHAKE_DISCONNECT_SOCKET_CLOSED_BY_REMOTE
STREAM_HANDSHAKE_DISCONNECT_BUFFER_OVERFLOW
STREAM_HANDSHAKE_DISCONNECT_REPLICATION_STALLED
}
note for STREAM_HANDSHAKE "Updated stream handshake error codes with new states"
State diagram for ACLK connection statusstateDiagram-v2
[*] --> OFFLINE
OFFLINE --> CONNECTED: Connection successful
CONNECTED --> OFFLINE_CLOUD_REQUESTED_DISCONNECT: Cloud requests disconnect
CONNECTED --> OFFLINE_PING_TIMEOUT: Ping timeout
CONNECTED --> OFFLINE_RELOADING_CONFIG: Config reload
CONNECTED --> OFFLINE_POLL_ERROR: Poll error
CONNECTED --> OFFLINE_CLOSED_BY_REMOTE: Remote closed
CONNECTED --> OFFLINE_SOCKET_ERROR: Socket error
CONNECTED --> OFFLINE_MQTT_PROTOCOL_ERROR: MQTT protocol error
CONNECTED --> OFFLINE_WS_PROTOCOL_ERROR: WebSocket error
CONNECTED --> OFFLINE_MESSAGE_TOO_BIG: Message too large
OFFLINE_CLOUD_REQUESTED_DISCONNECT --> OFFLINE
OFFLINE_PING_TIMEOUT --> OFFLINE
OFFLINE_RELOADING_CONFIG --> OFFLINE
OFFLINE_POLL_ERROR --> OFFLINE
OFFLINE_CLOSED_BY_REMOTE --> OFFLINE
OFFLINE_SOCKET_ERROR --> OFFLINE
OFFLINE_MQTT_PROTOCOL_ERROR --> OFFLINE
OFFLINE_WS_PROTOCOL_ERROR --> OFFLINE
OFFLINE_MESSAGE_TOO_BIG --> OFFLINE
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )
Summary by Sourcery
Introduce detailed charts and logs for streaming connections, providing insights into connection status, events, and disconnections, categorized by reason. Improve ACLK error handling and logging, offering more specific error messages and context. Refactor streaming connection management to enhance clarity and robustness.
Enhancements:
Tests: