|
12 | 12 | # See the License for the specific language governing permissions and |
13 | 13 | # limitations under the License. |
14 | 14 |
|
| 15 | +from newrelic.packages import six |
| 16 | + |
15 | 17 |
|
16 | 18 | def test_data_source_metrics(data_source, topic, producer, consumer): |
| 19 | + _data_source_metrics = { |
| 20 | + "MessageBroker/Kafka/Internal/kafka-metrics-count/count": "present", |
| 21 | + "MessageBroker/Kafka/Internal/producer-metrics/request-rate": "present", |
| 22 | + "MessageBroker/Kafka/Internal/producer-topic-metrics.%s/record-send-rate" % topic: "present", |
| 23 | + "MessageBroker/Kafka/Internal/consumer-metrics/request-rate": "present", |
| 24 | + } |
| 25 | + |
17 | 26 | producer.send(topic, value=1) |
18 | 27 | producer.flush() |
19 | | - next(iter(consumer)) |
| 28 | + for _ in consumer: |
| 29 | + pass |
20 | 30 |
|
21 | 31 | metrics = dict(data_source()) |
22 | | - metric_names = list(metrics.keys()) |
23 | 32 | assert metrics |
24 | 33 |
|
25 | | - |
26 | | -# Example metrics |
27 | | - |
28 | | -# MessageBroker/Kafka/Internal/kafka-metrics-count/count |
29 | | -# MessageBroker/Kafka/Internal/producer-metrics/connection-close-rate |
30 | | -# MessageBroker/Kafka/Internal/producer-metrics/connection-creation-rate |
31 | | -# MessageBroker/Kafka/Internal/producer-metrics/select-rate |
32 | | -# MessageBroker/Kafka/Internal/producer-metrics/io-wait-time-ns-avg |
33 | | -# MessageBroker/Kafka/Internal/producer-metrics/io-wait-ratio |
34 | | -# MessageBroker/Kafka/Internal/producer-metrics/io-time-ns-avg |
35 | | -# MessageBroker/Kafka/Internal/producer-metrics/io-ratio |
36 | | -# MessageBroker/Kafka/Internal/producer-metrics/connection-count |
37 | | -# MessageBroker/Kafka/Internal/producer-metrics/batch-size-avg |
38 | | -# MessageBroker/Kafka/Internal/producer-metrics/batch-size-max |
39 | | -# MessageBroker/Kafka/Internal/producer-metrics/compression-rate-avg |
40 | | -# MessageBroker/Kafka/Internal/producer-metrics/record-queue-time-avg |
41 | | -# MessageBroker/Kafka/Internal/producer-metrics/record-queue-time-max |
42 | | -# MessageBroker/Kafka/Internal/producer-metrics/record-send-rate |
43 | | -# MessageBroker/Kafka/Internal/producer-metrics/records-per-request-avg |
44 | | -# MessageBroker/Kafka/Internal/producer-metrics/byte-rate |
45 | | -# MessageBroker/Kafka/Internal/producer-metrics/record-size-max |
46 | | -# MessageBroker/Kafka/Internal/producer-metrics/record-size-avg |
47 | | -# MessageBroker/Kafka/Internal/producer-metrics/metadata-age |
48 | | -# MessageBroker/Kafka/Internal/producer-metrics/network-io-rate |
49 | | -# MessageBroker/Kafka/Internal/producer-metrics/outgoing-byte-rate |
50 | | -# MessageBroker/Kafka/Internal/producer-metrics/request-rate |
51 | | -# MessageBroker/Kafka/Internal/producer-metrics/request-size-avg |
52 | | -# MessageBroker/Kafka/Internal/producer-metrics/request-size-max |
53 | | -# MessageBroker/Kafka/Internal/producer-metrics/incoming-byte-rate |
54 | | -# MessageBroker/Kafka/Internal/producer-metrics/response-rate |
55 | | -# MessageBroker/Kafka/Internal/producer-metrics/request-latency-avg |
56 | | -# MessageBroker/Kafka/Internal/producer-metrics/request-latency-max |
57 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-bootstrap-0/outgoing-byte-rate |
58 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-bootstrap-0/request-rate |
59 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-bootstrap-0/request-size-avg |
60 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-bootstrap-0/request-size-max |
61 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-bootstrap-0/incoming-byte-rate |
62 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-bootstrap-0/response-rate |
63 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-bootstrap-0/request-latency-avg |
64 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-bootstrap-0/request-latency-max |
65 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-1001/outgoing-byte-rate |
66 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-1001/request-rate |
67 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-1001/request-size-avg |
68 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-1001/request-size-max |
69 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-1001/incoming-byte-rate |
70 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-1001/response-rate |
71 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-1001/request-latency-avg |
72 | | -# MessageBroker/Kafka/Internal/producer-node-metrics.node-1001/request-latency-max |
73 | | -# MessageBroker/Kafka/Internal/producer-topic-metrics.test-topic-c962647a-f6cf-4a24-a90b-40ab2364dc55/record-send-rate |
74 | | -# MessageBroker/Kafka/Internal/producer-topic-metrics.test-topic-c962647a-f6cf-4a24-a90b-40ab2364dc55/byte-rate |
75 | | -# MessageBroker/Kafka/Internal/producer-topic-metrics.test-topic-c962647a-f6cf-4a24-a90b-40ab2364dc55/compression-rate |
76 | | -# MessageBroker/Kafka/Internal/consumer-metrics/connection-close-rate |
77 | | -# MessageBroker/Kafka/Internal/consumer-metrics/connection-creation-rate |
78 | | -# MessageBroker/Kafka/Internal/consumer-metrics/select-rate |
79 | | -# MessageBroker/Kafka/Internal/consumer-metrics/io-wait-time-ns-avg |
80 | | -# MessageBroker/Kafka/Internal/consumer-metrics/io-wait-ratio |
81 | | -# MessageBroker/Kafka/Internal/consumer-metrics/io-time-ns-avg |
82 | | -# MessageBroker/Kafka/Internal/consumer-metrics/io-ratio |
83 | | -# MessageBroker/Kafka/Internal/consumer-metrics/connection-count |
84 | | -# MessageBroker/Kafka/Internal/consumer-metrics/network-io-rate |
85 | | -# MessageBroker/Kafka/Internal/consumer-metrics/outgoing-byte-rate |
86 | | -# MessageBroker/Kafka/Internal/consumer-metrics/request-rate |
87 | | -# MessageBroker/Kafka/Internal/consumer-metrics/request-size-avg |
88 | | -# MessageBroker/Kafka/Internal/consumer-metrics/request-size-max |
89 | | -# MessageBroker/Kafka/Internal/consumer-metrics/incoming-byte-rate |
90 | | -# MessageBroker/Kafka/Internal/consumer-metrics/response-rate |
91 | | -# MessageBroker/Kafka/Internal/consumer-metrics/request-latency-avg |
92 | | -# MessageBroker/Kafka/Internal/consumer-metrics/request-latency-max |
93 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-bootstrap-0/outgoing-byte-rate |
94 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-bootstrap-0/request-rate |
95 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-bootstrap-0/request-size-avg |
96 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-bootstrap-0/request-size-max |
97 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-bootstrap-0/incoming-byte-rate |
98 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-bootstrap-0/response-rate |
99 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-bootstrap-0/request-latency-avg |
100 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-bootstrap-0/request-latency-max |
101 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/fetch-size-avg |
102 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/fetch-size-max |
103 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/bytes-consumed-rate |
104 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/records-per-request-avg |
105 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/records-consumed-rate |
106 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/fetch-latency-avg |
107 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/fetch-latency-max |
108 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/fetch-rate |
109 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/records-lag-max |
110 | | -# MessageBroker/Kafka/Internal/consumer-coordinator-metrics/assigned-partitions |
111 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-1001/outgoing-byte-rate |
112 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-1001/request-rate |
113 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-1001/request-size-avg |
114 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-1001/request-size-max |
115 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-1001/incoming-byte-rate |
116 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-1001/response-rate |
117 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-1001/request-latency-avg |
118 | | -# MessageBroker/Kafka/Internal/consumer-node-metrics.node-1001/request-latency-max |
119 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/test-topic-c962647a-f6cf-4a24-a90b-40ab2364dc55/fetch-size-avg |
120 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/test-topic-c962647a-f6cf-4a24-a90b-40ab2364dc55/fetch-size-max |
121 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/test-topic-c962647a-f6cf-4a24-a90b-40ab2364dc55/bytes-consumed-rate |
122 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/test-topic-c962647a-f6cf-4a24-a90b-40ab2364dc55/records-per-request-avg |
123 | | -# MessageBroker/Kafka/Internal/consumer-fetch-manager-metrics/test-topic-c962647a-f6cf-4a24-a90b-40ab2364dc55/records-consumed-rate |
| 34 | + for metric_name, count in six.iteritems(_data_source_metrics): |
| 35 | + if count == "present": |
| 36 | + assert metric_name in metrics |
| 37 | + else: |
| 38 | + assert metrics[metric_name]["count"] == count, "%s:%d" % (metric_name, count) |
0 commit comments