Skip to content
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

Add newly documented metrics #7765

Merged
merged 2 commits into from
Oct 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions envoy/datadog_checks/envoy/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -618,6 +618,20 @@
),
'method': 'gauge',
},
'tcp.downstream_cx_rx_bytes_total': {
'tags': (
('stat_prefix', ),
(),
),
'method': 'monotonic_count',
},
'tcp.downstream_cx_rx_bytes_buffered': {
'tags': (
('stat_prefix', ),
(),
),
'method': 'gauge',
},
'tcp.downstream_flow_control_paused_reading_total': {
'tags': (
('stat_prefix', ),
Expand All @@ -632,6 +646,34 @@
),
'method': 'monotonic_count',
},
'tcp.idle_timeout': {
'tags': (
('stat_prefix', ),
(),
),
'method': 'monotonic_count',
},
'tcp.max_downstream_connection_duration': {
'tags': (
('stat_prefix', ),
(),
),
'method': 'monotonic_count',
},
'tcp.upstream_flush_total': {
'tags': (
('stat_prefix', ),
(),
),
'method': 'monotonic_count',
},
'tcp.upstream_flush_active': {
'tags': (
('stat_prefix', ),
(),
),
'method': 'gauge',
},
'auth.clientssl.update_success': {
'tags': (
(),
Expand Down Expand Up @@ -3140,6 +3182,38 @@
),
'method': 'monotonic_count',
},
'cluster.http1.dropped_headers_with_underscores': {
'tags': (
('cluster_name', ),
(),
(),
Comment on lines +3188 to +3189
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why two extra (),?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each metric part has a tuple of 0 or more tags

),
'method': 'monotonic_count',
},
'cluster.http1.metadata_not_supported_error': {
'tags': (
('cluster_name', ),
(),
(),
),
'method': 'monotonic_count',
},
'cluster.http1.response_flood': {
'tags': (
('cluster_name', ),
(),
(),
),
'method': 'monotonic_count',
},
'cluster.http1.requests_rejected_with_underscores_in_headers': {
'tags': (
('cluster_name', ),
(),
(),
),
'method': 'monotonic_count',
},
'cluster.http2.header_overflow': {
'tags': (
('cluster_name', ),
Expand Down
10 changes: 10 additions & 0 deletions envoy/metadata.csv
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,14 @@ envoy.tcp.downstream_cx_total,count,,connection,,Total number of connections han
envoy.tcp.downstream_cx_no_route,count,,connection,,Number of connections for which no matching route was found,-1,envoy,
envoy.tcp.downstream_cx_tx_bytes_total,count,,byte,,Total bytes written to the downstream connection,0,envoy,
envoy.tcp.downstream_cx_tx_bytes_buffered,gauge,,byte,,Total bytes currently buffered to the downstream connection,0,envoy,
envoy.tcp.downstream_cx_rx_bytes_total,count,,byte,,Total bytes written from the downstream connection,0,envoy,
envoy.tcp.downstream_cx_rx_bytes_buffered,gauge,,byte,,Total bytes currently buffered from the downstream connection,0,envoy,
envoy.tcp.downstream_flow_control_paused_reading_total,count,,occurrence,,Total number of times flow control paused reading from downstream,0,envoy,
envoy.tcp.downstream_flow_control_resumed_reading_total,count,,occurrence,,Total number of times flow control resumed reading from downstream,0,envoy,
envoy.tcp.idle_timeout,count,,connection,,Total number of connections closed due to idle timeout,0,envoy,
envoy.tcp.max_downstream_connection_duration,count,,connection,,Total number of connections closed due to max_downstream_connection_duration timeout,0,envoy,
envoy.tcp.upstream_flush_total,count,,connection,,Total number of connections that continued to flush upstream data after the downstream connection was closed,0,envoy,
envoy.tcp.upstream_flush_active,gauge,,connection,,Total connections currently continuing to flush upstream data after the downstream connection was closed,0,envoy,
envoy.auth.clientssl.update_success,count,,success,,Total principal update successes,1,envoy,
envoy.auth.clientssl.update_failure,count,,error,,Total principal update failures,-1,envoy,
envoy.auth.clientssl.auth_no_ssl,count,,connection,,Total connections ignored due to no TLS,-1,envoy,
Expand Down Expand Up @@ -304,6 +310,10 @@ envoy.cluster.health_check.passive_failure,count,,check,,Number of health check
envoy.cluster.health_check.network_failure,count,,check,,Number of health check failures due to network error,-1,envoy,
envoy.cluster.health_check.verify_cluster,count,,check,,Number of health checks that attempted cluster name verification,0,envoy,
envoy.cluster.health_check.healthy,gauge,,check,,Number of healthy members,1,envoy,
envoy.cluster.http1.dropped_headers_with_underscores,count,,,,Total number of dropped headers with names containing underscores. This action is configured by setting the headers_with_underscores_action config setting.,0,envoy,
envoy.cluster.http1.metadata_not_supported_error,count,,,,Total number of metadata dropped during HTTP/1 encoding,0,envoy,
envoy.cluster.http1.response_flood,count,,connection,,Total number of connections closed due to response flooding,0,envoy,
envoy.cluster.http1.requests_rejected_with_underscores_in_headers,count,,request,,Total numbers of rejected requests due to header names containing underscores. This action is configured by setting the headers_with_underscores_action config setting.,0,envoy,
envoy.cluster.http2.header_overflow,count,,connection,,Total number of connections reset due to the headers being larger than 63 K,-1,envoy,
envoy.cluster.http2.inbound_empty_frames_flood,count,,connection,,Total number of connections terminated for exceeding the limit on consecutive inbound frames with an empty payload and no end stream flag,-1,envoy,
envoy.cluster.http2.inbound_priority_frames_flood,count,,connection,,Total number of connections terminated for exceeding the limit on inbound frames of type PRIORITY,-1,envoy,
Expand Down
4 changes: 2 additions & 2 deletions envoy/tests/test_envoy.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def test_success(aggregator):
for metric in METRICS:
metrics_collected += len(aggregator.metrics(METRIC_PREFIX + metric))

assert metrics_collected >= 250
assert metrics_collected >= 445


@pytest.mark.unit
Expand All @@ -43,7 +43,7 @@ def test_success_fixture(aggregator):

num_metrics = len(response('multiple_services').content.decode().splitlines())
num_metrics -= sum(c.unknown_metrics.values()) + sum(c.unknown_tags.values())
assert 4412 <= metrics_collected == num_metrics
assert 4481 <= metrics_collected == num_metrics


@pytest.mark.unit
Expand Down